|
1096
|
Forum 2005-2010 (read only) / Interfacing / Re: data stream pattern generator
|
on: September 10, 2010, 08:03:13 am
|
|
I tried the blink program with no delay, ( assuming that this is as quick and simple as it can get ) and the switched output was 8uS period, and with DigitalWriteFast it was 860 nS or 1.16 Mhz, so I guess I will shelve this idea for now.
I had :-
int ledPin = 13; // LED connected to digital pin 13 void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWriteFast(13, HIGH); // set the LED on
digitalWriteFast(13, LOW); // set the LED off
}
|
|
|
|
|
1098
|
Forum 2005-2010 (read only) / Interfacing / Re: data stream pattern generator
|
on: September 09, 2010, 03:17:37 pm
|
|
Sorry I should have mentioned its vga, I have the sync extracted , I use an exclusive or gate for auto detecting the polarity , the proto is working fine. I wonder if the sync coming so soon after the last bit of data would be a problem ( with the graphic block being on the right hand side ) ?
|
|
|
|
|
1099
|
Forum 2005-2010 (read only) / Interfacing / Re: data stream pattern generator
|
on: September 09, 2010, 02:11:24 pm
|
|
Its basically from a PC, I am superimposing text or shapes in the top RH corner, thats why I wondered how fast the ardiuno would run.
The guy who normally writes the software ( PIC ) for my projects reckoned it would be too fast for a micro, which is why I built the first one from 74HC chips, but having now taken an interest in programming , and seeing some of the projects out there, it made me wonder ?
|
|
|
|
|
1102
|
Forum 2005-2010 (read only) / Interfacing / Re: data stream pattern generator
|
on: September 09, 2010, 12:43:06 pm
|
|
Thats sounding good, I only want to put some block type text or shapes in the top right hand corner of the screen.
Every n number of lines I would want to change the data ( n representing the number of lines to make the height of the block )
So perhaps I can change the data ( the binary number ) during the first half of the scan, and then send the data?
If I can't make the number changing during the delay, perhaps have one long number of permanent zeros, then the variable data ?
My present prototype has a handful of 74HC chips so getting it down to one chip would be very rewarding. ( Each block at the moment is 1/80th of a line wide. )
|
|
|
|
|
1103
|
Forum 2005-2010 (read only) / Interfacing / Re: data stream pattern generator
|
on: September 09, 2010, 11:38:55 am
|
|
I am not worried about gray scale, just black squares, and the horizontal sync from the monitor must start the output of the data stream.
How fast can a pin designated as an output, be switched on and off repeatedly, like the "blink" sketch without any delays ?
John
|
|
|
|
|
1105
|
Forum 2005-2010 (read only) / Interfacing / data stream pattern generator
|
on: September 09, 2010, 07:30:58 am
|
|
Hi
I am playing around with an idea to send a data stream ( large binary number ) to the video signal of a monitor to generate a pattern.
It would need to be synchronised to the line pulse from the monitor.
Would a Serial.println(number in binary); send an output data stream to any chosen pin of the chip ? ( without needing any handshaking? )
If so, how fast can the data stream be from a Duemilanove?
John
|
|
|
|
|
1106
|
Forum 2005-2010 (read only) / Interfacing / Re: bcd in / waveshield out ?
|
on: September 17, 2010, 04:06:27 am
|
|
Thanks
I will try that over the weekend, at the moment it is all running fine with
if (track==1) {playcomplete("tillnum1.wav");} else; if (track==2) {playcomplete("tillnum2.wav");} else;
and so on, but I will try the others so I can get used to the options.
|
|
|
|
|
1107
|
Forum 2005-2010 (read only) / Interfacing / Re: bcd in / waveshield out ?
|
on: September 16, 2010, 07:42:29 pm
|
|
I am struggling with the char array a bit, but the example I have been borrowing from for testing the waveshield uses switch/break statements, would this work for my example with 9 tracks ( I have already established the track number requested "track" )
switch (track()) { case 1: playcomplete("tillnum1.wav"); break; case 2: playcomplete("tillnum2.wav"); break; case 3: playcomplete("tillnum3.wav"); break; case 4: playcomplete("tillnum4.wav"); break; case 5: playcomplete("tillnum5.wav"); break; case 6: playcomplete("tillnum6.wav"); case 7: playcomplete("tillnum7.wav"); break; case 8: playcomplete("tillnum8.wav"); break; case 9: playcomplete("tillnum9.wav");
|
|
|
|
|
1108
|
Forum 2005-2010 (read only) / Interfacing / Re: bcd in / waveshield out ?
|
on: September 16, 2010, 09:52:17 am
|
|
Thanks PaulS, I will try that array, I have got the waveshield running with one of the waveHC examples with 6 switches.
While it doesn't queue, it doesn't interrupt the current message which will do for now, till I work on your suggestion.
While the message is playing, is the whole sketch loop running? or does it go into some loop of its own?
I have 640 bytes of ram over so hopefully I can add my bcd converter to the top without trouble.
So now I must play with the triggering and add the other files.
Thanks
|
|
|
|
|
1109
|
Forum 2005-2010 (read only) / Interfacing / Re: bcd in / waveshield out ?
|
on: September 16, 2010, 07:55:38 am
|
OK I have got the Holtek decoding working, and I can latch in the wireless push button numbers ( 1-9 ) in a variable called "track" I hope I haven't taken too much memory, I am using 9 look up lines to convert the 4 digit bcd to a single number. I also have the momentary valid transmission "valid" whenever a new ( or the same ) transmitter button is pressed. I now need to play one of 9 messages from the SD card in my mockup of a Waveshield. I have looked at a few examples, but I want it to queue, i.e. if a second request comes in while its playing the current message ( each about 3 seconds long ) it must finish the current message, then play the next track. There is a nine message player at http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1230434365 but apart from the card checking, its not commented on, and I don't know what bits to omit or change. Any suggestions? I know I should be starting with easier projects, but I have been bragging about the Arduino and its forum, and if I can get this working its going to be a real feather in Arduinos cap 8-)
|
|
|
|
|
1110
|
Forum 2005-2010 (read only) / Interfacing / Re: bcd in / waveshield out ?
|
on: September 12, 2010, 04:22:03 am
|
|
No I dont know the amswer, I think I have read too many tutorials and got confused. But for now it seems the best bet would be to use a 2 dollar HT12D and take the 4 data outputs ( the BCD number ) to 4 pins, and call up the array int MyPins []={3,4,5,6}
as well as the Valid Transmission from the HT12 to and with the result.
Would I then use a byte() function to change the array to a byte for the track number of the VaveShield ?
or if the array is a string perhaps atoi ?
Just trying to get the basic idea together
|
|
|
|
|