Arduino on tosiaan näppärä tapa tutustua mikrokontrollereiden maailmaan. Hankalimmat matalan tason toiminnot on kätketty kattavien kirjastojen alle ilman että koko systeemiä olisi rampautettu. Datan tallentamiseen tarvitset tosiaan jonkin ratkaisun. ATMega-prosessorissa itsessään on 512 tavua EEPROM-muistia, mutta se loppuu kesken heti kättelyssä. Koodimuistia tuossa vanhemmassa nanossa on 16 kilotavua, josta ylijäävää osuutta voi ehkä käyttää (en suoralta kädeltä muista onko tämä mahdollista arduinolla), mutta se on aika hankalaa. Sekin loppuu aika nopeasti kesken. Käytännössä loggeri tarvitsee ulkoista muistia ja siihen on loputtomasti ratkaisuja. Kaikkein helpoimmalla pääset kun hankit jonkin valmiin loggerimokkulan. Esimerkiksi tämän:
http://www.sparkfun.com/commerce/produc ... ts_id=9530
(Micro)SD-kortin käsittely on itse asiassa sangen helppoa ja FAT-kirjastoja saa valmiina, joten kortin voi laittaa suoraan kiinni arduinon SPI-väylään ja hoitaa tuon mokkulan toiminnot itse. Lisäetuna muistikortin käyttämisessä on se, että tiedot on helppo siirtää tietokoneelle. Dataa voi toki kirjoittaa kortille suoraan välittämättä tiedostojärjestelmistä, mutta silloin datan luku on hankalampaa.
Toinen vaihtoehto on käyttää erillisiä muistipiirejä, joita löytyy mm. EEPROM ja Flash-tyyppisinä. EEPROM on helpompaa käsitellä, mutta hitaampaa. Tosin hitaus tuskin tulee tässä ongelmaksi. EEPROMia voi käsitellä suoraan tavu kerrallaan sen ihmeemmin murehtimatta, mutta Flashien kanssa pitää muistaa että niitä voi tyhjentää vain sektori kerrallaan. Sektorien koko vaihtelee ja voi olla vaikkapa 1 kilotavu. EEPROMeja on saatavilla noin yhden megabitin kokoon asti ja Flasheja ties kuinka suuria. Piirit ovat yleensä joko SPI tai I2C (tunnetaan myös TWI - two wire interface nimellä) liitäntäisiä ja molemmille löytyy tuki arduinosta. SPI on vähän helpompi käyttää, mutta I2C on monipuolisempi. Isommissa muisteissa on yleensä SPI-liitäntä. Makuasia...
Muistipiiriä käytettäessä tarvitset arduinoon erillisen softapätkän jolla saat dumpattua datan ulos muistipiiriltä tietokoneelle.
Piirejä löytyy monilta valmistajilta, eivät maksa paljoa ja useimmat lähettävät ystävällisesti näytekappaleita myös harrastajille. Tässä muutama esimerkki Atmelin valikoimista:
http://www.atmel.com/dyn/products/produ ... rt_id=4075 (1MBit I2C-liitäntäinen EEPROM)
http://www.atmel.com/dyn/products/produ ... rt_id=4069 (512kbit SPI-liitäntäinen EEPROM)
http://www.atmel.com/dyn/products/produ ... rt_id=4920 (64Mbit SPI-Flash)
Mitä hienompi piiri on kyseessä, sitä epätodennäköisempää on että sitä saisi läpijuotettavana versiona, joten varaudu juottelemaan pintaliitososia...
Kannattaa vähän laskeskella etukäteen kuinka suuren muistin tarvitset. Jos vaikka loggaat 10ms välein eli 100 kertaa sekunnissa yhtä kanavaa täydellä resoluutiolla (arduinon muunnin on 10bit, eli käytännössä joka näytteelle pitää varata 2 tavua eli 16 bittiä) niin muistia kuluu 200 tavua sekunnissa.
Kuten sampo totesikin, niin mainitsemasi kiihtyvyysanturin 6g mittausalue loppuu herkästi kesken varsinkin vesirakettien kanssa. Kannattaa valita anturi, joka pystyy vähintään 50g mittaamiseen. Raketissa tapahtumat sijoittuvat yhdelle akselille eikä täydellisellä lennolla muilla akseleilla pitäisi näkyä mitään. Maailma ei kuitenkaan ole täydellinen, joten siinä mielessä kaikkien kolmen akselin loggaus voi olla ihan mielenkiintoista. Kiihtyvyysantureita saa sekä analogisina että digitaalisina (yleensä SPI-liitännällä)
http://www.robomaa.com/index.php?main_p ... cts_id=439 Tästä ei ainakaan lopu mittausalue kesken.
Loggereita saa myös valmiina. Törmäsin Sparkfunin luettelossa tämmöiseen mielenkiintoiseen laitteeseen:
http://www.sparkfun.com/commerce/produc ... ts_id=9228
Ovat näemmä käyttäneet tuota raketin kanssa.
Sparkfun lähettää tavaroita Suomeen, mutta maksamiseen tarvitset luottokortin. Robomaalla näyttää olevan valikoimissa paljon heidän tuotteitaan, joten kauniisti pyytämällä he saattaisivat välittää muitakin tuotteita.
Tässä hetkeksi pureskeltavaa
