Forum Replies Created
-
AuthorPosts
-
MichaelKeymaster
No, that pin is connected to the ground plane of the board. That’s not obvious from the board diagram, but it is in the schematic.
MichaelKeymasterI’m sorry, I don’t know who sent that game to me. It was in 2012, so I just can’t find any info.
MichaelKeymasterAwesome!
MichaelKeymasterMake sure that the 5V power is connected as well as the FTDI adapter. In order to prevent the LEDs from drawing too much power from the FTDI adapter, the power 5V line from the adapter is not connected to the power of the Lumazoid, so you also need to have the main power connected.
(Sorry, I need to make that more clear in instructions.)
If you want, there is a jumper on the back of the board that you can solder so that the 5V line from the FTDI adapter IS connected to the Lumazoid.
MichaelKeymasterTry this. You need to import the fonts and set the font for printing to work. Also using TV.delay(500) works better than delay(500).
#include <TVout.h> #include <fontALL.h> #include <video_gen.h> TVout TV; // constants won't change. They're used here to set pin numbers: const int buttonPin = 5; // the number of the pushbutton pin // variables will change: int buttonState = 0; // variable for reading the pushbutton status void setup() { // put your setup code here, to run once: TV.begin(NTSC,120,96); initOverlay(); TV.select_font(font6x8); TV.fill(0); // initialize the pushbutton pin as an input: pinMode(buttonPin, INPUT_PULLUP); } void initOverlay() { TCCR1A = 0; // Enable timer1. ICES0 is set to 0 for falling edge detection on input capture pin. TCCR1B = _BV(CS10); // Enable input capture interrupt TIMSK1 |= _BV(ICIE1); // Enable external interrupt INT0 on pin 2 with falling edge. EIMSK = _BV(INT0); EICRA = _BV(ISC01); } // Required to reset the scan line when the vertical sync occurs ISR(INT0_vect) { display.scanLine = 0; } void loop() // put your main code here, to run repeatedly: { TV.delay(500); // read the state of the pushbutton value: buttonState = digitalRead(buttonPin); // check if the pushbutton is pressed. If it is, the buttonState is HIGH: if (buttonState == HIGH) { TV.println("buttonState == HIGH"); } else { TV.println("buttonState == LOW"); } }
MichaelKeymasterHere’s a couple hints. First, put a delay inside of loop() so you are not running that code as fast as you can. For example, add “delay(100);” so you only read the button and print 10 times a second. That should be plenty. Maybe even delay longer than 100ms.
Next, I’m not sure if there is a wiring problem with your button, but an easier way to use a button is to declare the pin as INPUT_PULLUP instead of INPUT, and just wire the button so that when you close it, it connects the digital input to ground. The wiring is simpler, there’s no resistor, and no significant current flows in the button circuit. Pin mode INPUT_PULLUP sets the pin to HIGH and uses an internal resistor. When the pin is connected to ground, it will read LOW.
MichaelKeymasterIt is an ordinary Uno, no extra hardware is needed. The adapter you link to on Amazon says “Not genuine FTDI chip” and this is why it probably doesn’t work.
In my experience, people have all kinds of problems when they don’t use legit FTDI adapters. That’s why I only sell genuine ones from Adafruit (the FTDI Friend) because they ensure they are genuine and then there are no problems. Yes, they cost more, but they always work.
I used to sell cheap adapter cables from Sparkfun but I found that they had a 25% failure rate.
MichaelKeymasterThe number that was originally 2000 is the frequency in Hz, so change that to 2500.
int frequency = 1000000/2500;
The reason the tick doesn’t sound like a beep is because it is very short in duration, so to make it sound like a beep, you need to change the duration. Change this line:
int loopCount = (2 * ((float) frequency / 1000.0));
to something like this:
int loopCount = (100 * ((float) frequency / 1000.0));
to make it longer. Adjust the value 100 higher or lower so it sounds like the right duration to you.
The Game Timer Pro is an Arduino Uno, so choose that board in your Arduino IDE.
- This reply was modified 6 years, 7 months ago by Michael.
MichaelKeymasterI got your order for custom code and will have a solution for you in the next day.
March 22, 2018 at 9:18 am in reply to: Slow vertical roll in overlay that changes based on video in brightness #9541MichaelKeymasterI’ve never seen that problem before. It seems related to the vertical sync. This vsync pin on the LM1881 must be connected to D2.
MichaelKeymasterIt would be nontrivial to accommodate two defuse procedures with the current code structure. I looked at it for a while, and it would require some restructuring.
If this is important, I can always do custom coding for customers for a modest fee…let me know.You can always feel free to experiment. You won’t break the device, and the original source code is on GitHub and can be reloaded onto the device.
MichaelKeymasterI’ve always like the idea of controlling the Lumazoid remotely, but what makes it tricky is that the Lumazoid is very very busy the whole time doing things that hardware interrupts would disrupt. The Lumazoid first samples the audio as fast as it can to fill a 256 sample buffer using the free running ADC, and during this time, interrupts are disabled. That means that no SPI, I2C, or Serial will work. Next, the Lumazoid does the computation to figure out what to draw, then sends the data out to the LED strip. I think interrupts are disabled during the LED communication because the timing is critical.
It’s not impossible, but not trivial. One approach would be to have the Lumazoid tell the ESP that it is ready for information (over Serial is the easiest), then read any data the ESP has for it. This would take some time, but not too long. It would introduce a larger “gap” between sampling phases. This gap (while performing computation and drawing on the LEDs) is why you see a beat missed sometimes. The reactivity of the Lumazoid is not perfect because of this.
Hope that helps a little, or at least explains why it’s tricky.
MichaelKeymasterThe TVout-VE code is on GitHub, so feel free to fork the repo and apply the changes if you think it can be done. I assume the TVout code to do color has many modifications. I’m just buried in other projects and not doing any video stuff now. (Video Experimenter is from 2010)
MichaelKeymasterHey, it’s great to hear that the Lumazoid is working for you. I’ve never heard of anyone using it with control voltage. What is the voltage level of your CV signal? I hope it is not more than 2.5V. If it is, you will eventually damage the microcontroller. If your CV is 5V, it can be lowered to 2.5V with a simple voltage divider made of 2 resistors.
As for programming the Lumazoid, it’s probably going to be really hard if you are a newbie. The code is not simple. You can have a look at it on GitHub:
https://github.com/nootropicdesign/lumazoidTo program the board, you would need a USB to serial adapter like this: https://nootropicdesign.com/store/product/ftdi-friend/
They are available everywhere.I don’t have any case for the Lumazoid, but am just learning 3D printing. Yeah, I’ve thought of eurorack for stuff like my synths, but I don’t have a rack or anything.
Stay in touch. Got a video of you using it with CV and a modular system? I’d love to tweet that.
MichaelKeymasterHi Marcos,
I did not publish the hardware design on this product, but I may in the future. Some Chinese company made a clone of the Defusable Clock and basically destroyed my sales for a year by selling an inferior product for very cheap. It damaged my reputation because I kept getting angry emails about the poor quality. They even used my real name in their marketing by quoting an interview I gave to a magazine. The counterfeit version even started a fire in one guy’s house.So I’ve decided to be less open about the new one, and it’s a fine line to balance the collaborative nature of the community with protecting my business. I hope that people can understand that.
Nonetheless, I’m VERY happy to share the schematic with you and will email it to you in a moment.
-
AuthorPosts