Did I really just waste 100 bucks..please give me a hand.....
Im a first year engineering student and am in a class where we build a baloon satellite, create and experiment for it and then launch it to 100,000 feet.
The so called experiment my group decided to under go was the measuroing of light absorption in the atmosphere. We planned to do this by measuring light intesity in flight to compare them. We figured we could accomplishment this with a BS1 and a superboard for it. Did we mess up?
We have 3 photo diodes with diffrent filters on them to cover most of the light spectrum, not just the visible.
The issue we are having is storing data from these, apparently you can only store variable data in the RAM and not the EEPROM, essentially meaning we cant measure the light intesnsity every 3 minutes of the 1.5 hour flight from each of the three diodes, instead we can only measure "MAYBE" 7 times of data from each sensor assuming we use the minimum amount·as variables and store the data as bits.
My questions are:
Can we add more ram?
Can we workaround the only constants in eeprom?
What other options are there?
The primary issue is funds, we are allocated only 275 for this experiment as well other materials and we had to purchase a digital camera to convert to IR.
Any other tips would be great, I have no idea what im doing pretty much and only programed in basic freshman year in highschool.
The so called experiment my group decided to under go was the measuroing of light absorption in the atmosphere. We planned to do this by measuring light intesity in flight to compare them. We figured we could accomplishment this with a BS1 and a superboard for it. Did we mess up?
We have 3 photo diodes with diffrent filters on them to cover most of the light spectrum, not just the visible.
The issue we are having is storing data from these, apparently you can only store variable data in the RAM and not the EEPROM, essentially meaning we cant measure the light intesnsity every 3 minutes of the 1.5 hour flight from each of the three diodes, instead we can only measure "MAYBE" 7 times of data from each sensor assuming we use the minimum amount·as variables and store the data as bits.
My questions are:
Can we add more ram?
Can we workaround the only constants in eeprom?
What other options are there?
The primary issue is funds, we are allocated only 275 for this experiment as well other materials and we had to purchase a digital camera to convert to IR.
Any other tips would be great, I have no idea what im doing pretty much and only programed in basic freshman year in highschool.
Comments
The first tip I would have provided is to not disclose that you're a student. Third time I've ever used an emoticon =>·
The only money you wasted was the rest of the money you didn't spend at Parallax.
Only kidding. . . measuring light every three minutes of a 1.5 hour flight would be 30 samples per sensor. Three sensors would be 90 samples. If the values you want to save are less than 255, then you need 90 bytes. Don't have 90 bytes of RAM laying around? No problem! If your PBASIC program is less than 256-90 bytes = 166 bytes in length you can use READ and WRITE to store the data in EEPROM. Sounds like you're using the POT command to do this job. Write a tight little program that reads the POT value of each sensor, saves it in a variable, writes it to EEPROM location, increments the EEPROM cell and does the same thing all over again until 90 samples are taken.
Lots of big things have been stuffed into BS1s for the last 14 years. You can do it. You could even add an external EEPROM for data storage. You can use the SEROUT command on the BS1 to get the data back to your PC, or use DEBUG while it's connected to the PC and copy/paste from the blue window. Lots of options to achieve this task.
Ken Gracey
Parallax, Inc.
Post Edited (doughboy) : 10/4/2006 4:26:16 AM GMT
Oh, one more tip. Make this project work in small pieces, only proceeding to the next step when you've succeeded with the prior one. In other words, do it like this: connect one sensor; use POT to read the R/C value; add WRITE to save the value in EEPROM; add a PAUSE or SLEEP command for the delay; repeat process for 2nd and 3rd sensors; make it all work together. Don't build the whole project first and point at it while saying "it doesn't work". Nothing works with microcontrollers until you make it work. If you do this in small steps you're bound to have success.
Back to my evening project now. Others can take over.
Ken Gracey
Parallax, Inc.
(I don't think the BS1 has the command set needed to utilize it)
Will projects be recycled or upgraded later?
If so, a BS2pe would be perfect for this kind of projects as it has a lt of storage(16 x 2KB slots, of which 8 are dedicated for data storage, and the rest of which can contain both data and programs) and a low power consumption.
(Actually, a Propeller would be even better, as it has a ridiculously low power consumption when 'idling' at 20KHz, but it has a bit of a learning curve... )
The biggest error you've done is that you haven't studied the documentation for all the parts in the project closely enough. (Reading the PDFs at the page you point to shows that they use the COUNT instruction, which a perusal of the manual show only exists on the BS2 and newer)
This is a classic fault, though, and something we all do from time to time...
Thankfully you didn't ask us to write your program for you.
(There's usually a rash of that kind just before end of terms, and very few of those ever get much help... )
How are you going to retrieve the balloon and data?
Have you studied the High Altitude Photographic Balloon project?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Don't visit my new website...
External eeproms work good as well for data storage if you need more data space.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Think outside the BOX!
how hard or easy is it to interface adittional eeprom?
http://www.parallax.com/dl/docs/prod/appkit/8kSerialEeprom.pdf
Then just read the datasheet for example on this eeprom
http://www.parallax.com/detail.asp?product_id=604-00020
Do a serach for eeprom on these forums, lots information here.
I like to use www.digikey.com part search engine. I find parts i don't know how to use and just read the datasheets. Amazing how much you can learn just paging through hundreds of pages of information packed datasheets. Click on the big D at the end of each line for the datasheet on each part.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Think outside the BOX!
and then once its retrievied we will write this code to it and run it to get an output:
see any issues?
Post Edited (doughboy) : 10/9/2006 6:52:27 AM GMT