Forum Replies Created
-
AuthorPosts
-
Michael
KeymasterI’m thinking that you know more about video than I do 🙂
When using D9 as the source of the sync, did you remove the special VES initialization code [tt:3ixtgg1s]initOverlay()[/tt:3ixtgg1s] from your program?
The sync signals generated from the TVout library are not perfectly timed (by admission of the TVout author), so some output devices have a hard time syncing with it. I have a small TV that loses sync with the VES after a few seconds.Michael
KeymasterYes, the TVout code without the special VE initialization code should generate output with:
SYNC SELECT = D9
OUTPUT SELECT = SYNC_ONLYThis does not need the LM1881 to function. But it’s hard to imagine how the board could spontaneously fail. It’s so simple, and the components are simple.
Michael
KeymasterDid the board ever work? Then it stopped?
If you are in the US, I am happy to send you another LM1881 chip if you want. Just let me know.
Michael
KeymasterI’m sure the board is fine, as it is very simple. This is a code issue.
If you are trying to produce a video signal on the Arduino (no input source), set the OUTPUT SELECT switch to “SYNC ONLY”. And set the SYNC SELECT jumper to D9.
Now run a program that has no overlay initialization in it. Just use a simple TVout program like the examples that come with the library. Do not include any Video Experimenter code in your program. Remove these functions:
// Initialize ATMega registers for video overlay capability.
// Must be called after tv.begin().
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(ISC11);
}
// Required to reset the scan line when the vertical sync occurs
ISR(INT0_vect) {
display.scanLine = 0;
}The output of the TVout program (white on black) will be displayed.
If you want to overlay the TVout output onto an input signal, you run different code than if you just want to use the Arduino as the source of the video.
Michael
KeymasterThis question is answered in the FAQ: http://nootropicdesign.com/audiohacker/faq.html
The whole point of this product is to NOT use an SD card because they are slow and consume tons of RAM with buffering. To do the things I’m doing like mixing multiple tracks, you need much faster access to multiple samples.
Michael
KeymasterYou are correct that TVout will generate a normal black signal. You don’t need another Arduino — the VE shield goes on top of an Arduino. By setting the SYNC SELECT jumper to D9, then you can use the TVout library to generate the video output and just overlay white on top. You get white on black. This is an alternative to overlaying onto an input video image.
Make sense? See the table on this page about the settings: http://nootropicdesign.com/ve/
Michael
KeymasterPlease see the troubleshooting section: http://nootropicdesign.com/defusableclock/build/index.html#troubleshooting
If you are still stuck, email high-res, clear photos of back AND front to support [at] nootropicdesign [dot] comMichael
KeymasterI don’t know of an easy way. The signal needs to have the correctly timed vertical and horizontal sync signals. How about an old VCR or DVD player?
Michael
KeymasterI really don’t know what else to try. There’s only so much memory in an Arduino, and when generating video, it’s going to be difficult to use an interrupt based communication method to other devices.
Michael
KeymasterI had to look up what “black burst generator” means, but if you are asking whether this shield can generate an all black video signal, then the answer is yes.
Michael
KeymasterOne option would be to use an old VCR. Connect your cable input to the VCR and use the RCA video output from the VCR.
Michael
KeymasterThat is just an image, not the complete design file. Download the Eagle design files and open in Eagle. The image does not show the connections to the power planes. R4 and the jacks are also connected to the ground plane.
Michael
KeymasterSorry, I’m probably not going to do any more work on this library. I accidentally started a hardware company a few years ago, and that’s what I’m focusing on now. The Processing guys said they took Layers off their site, but it still seems listed….
Michael
KeymasterNo, that wouldn’t free up any pins. Pins 13, 12, 11, 10 are still the SPI bus.
Michael
Keymaster50K is fine. The value read by analogRead() will be in the range of 0-1023 regardless of the resistance.
-
AuthorPosts