Continuation from here.
Video straight from the camera to Youtube (Sorry Oddbot).
Since someone asked about perl and serial communications, I tried the perl module designed to talk serial.
Here's the code that would receive characters from the Picaxe and then print them on the screen. Ad infinitum. Or rather ad CTRL-C.
Now the real data logging can begin!
[edit: corrected superimposed photo of window, it's now flipped left to right, as the scan would track]
Not counting your V+ and GND, you would only need to run a single wire to your switch. I am running a flat cable that brings a total of 16 pins from the picaxe board.
Resistor values: pick a low current, say 1 mA. At 5 V that would require a total R of 5 kOhm. Just put a resistor between the legs of the 6 position switch, 1 kOhm each. Each step of the switch is now coded as an additional 1/5 of V+ : 0/5, 1/5, 2/5, 3/5, 4/5, 5/5.
But how about easy coding? Could we make each voltage step 1/8? That would make reading the ADC value a lot easier. Instead of six if/thens, you would just read the first three (most magnificant) bits of the byte. Choose eight resistors of 625 Ohm, put one before the series and two in the back, whatever. Just make sure to use them all.
Off course, 625 Ohm is just as arbitrary as the choice for 1 mA. Go nuts on the numbers. Except on the number eight. That number is just too beautiful to ignore. Maybe even buy a different switch?
In order to divide a voltage eight ways, you only need seven resistors. Just wanted to get that off my chest/shoulder.
Either way: Many resistors in series that form a not-so-continuous voltage divider? That sounds a lot like a potentiometer! Except that a pot is fully continuous. But there are mechanical ways to remedy that. Polymorph anyone?!
The question is can you write more than one byte to one single address? The picaxe manual says that a word will be broken into 2 bytes and stored at address x and address x+1.
The question is... Why can't I write this:
Write address, byte1, byte2, byte3, byte4 etc.
write address, word1,word2,word3 etc...
I just don't get it rik! I read the same about the word thing that confused me... If indeed there is a one byte per address limit, why did they write the command like this?
WRITE location,data ,data, WORD wordvariable...
Data, data seems like two bytes to me! --Bastards!!
You can write words to memory. The command is written:
write location, word w1, word w2
Same is used for peeks and pokes. Here is a line of code from one of my programs that works fine.
peek 84,word position1,word position2
I get your point. I think that writingWRITE location , data0, data1, data2 will save you from writingWRITE location , data0WRITE location + 1 , data1WRITE location + 2 , data1
I might take a vacation from this project as my TJ parts have arrived. Three packages in one day. But more questions and suggestions are always welcome.
Boy those pulleys are tiny!