⚈ Kuopassa.net

Lisää kertomuksia netistä. 摆烂

Kuinka Uunokin voi osata — lämpötiladatan kerääminen Arduinolla ja sen tallentaminen CoolTerminalilla

Mainittakoon jonkinlaisena vastuuvapauslausekkeena, ettei tämä ole ohje, neuvo eikä suositus, vaan ainoastaan kuvaus siitä kuinka olen tehnyt jotain. Tilasin aikoja sitten Huuto.netin kautta jonkin Arduino-aloituspaketin. Lähetys tuli viimeinkin perille. Paketin sisältä löytyi yksi Arduino Uno -levy, paljon piuhoja ja pieniä nippeleitä sekä ilmeisesti leipälautana tunnettu levy. Ajattelin rakentaa Arduinolla Terminaattorin, mutta on varmaan aloitettava jostain vähän iisimmästä. Parin YouTube-videon jälkeen löysin keinon kuinka yhdistämällä pari johtoa voi kerätä lämpötilan tietoja erityisen sensorin avulla.

Se erityinen sensori on nuppineulan kokoinen tikku, jonka päässä on musta pallura ja josta lähtee kolme teräslankaa. Sensorin nimi on kai tmp35 tai tmp36. Se lukee komponentin mustassa pallurapäässä, mutta merkinnän fonttikoko on jotain 0,005 joten en ole varma mikä se on.

Löysin johtojen kytkemistä helpottavan ohjeen Instructables-sivuston artikkelista. Käytin sensorin kytkemisessä hyppylankoja ja jotain resistoria. En tiedä onko resistori pakollinen tai mitä ne värikoodaukset tarkoittavat, mutta se lopputulos, johon pääsin, vaikuttaa olevan toimiva.

Sitten kun sain nuo pikkuruiset risut tökittyä reikiin, latasin Arduino Unoon alla näkyvän koodin. Numero 19200 tarkoittaa jotain yhteysnopeutta ja/tai -taajuutta. Laitoin huvin vuoksi nopeudeksi 19200, mutta siihen voi laittaa myös 9600 tai jotain muuta. Koodin loppuvaiheilla delay-funktiossa oleva numero tarkoittaa 10 sekunnin viivettä ennen kuin koodi suoritetaan uudelleen. Laite mittaa siis lämpötilan kerran kymmenessä sekunnissa.

Koodi

int outputpin = 0;

void setup() {
Serial.begin(19200);
}

void loop() {
int rawvoltage = analogRead(outputpin);
float millivolts = (rawvoltage/1024.0)*5000;
float celsius = millivolts/10;
Serial.println(celsius);
delay(10000);
}

Viimeinen vaihe

Nyt laite on siis kytketty ja koodattu. Seuraavaksi datan voi kerätä tietokoneelle käyttämällä vaikka CoolTermiä. Se on hyvin simppeli softa. Tökkäsin Arduinon USB-johdolla koneeseeni kiinni ja käynnistin CoolTermin. Sitten valitsin CoolTermistä Options, jonka jälkeen valitsin portin jonka päässä Arduinon pitäisi sijaita. Omassa koneessani portti vaikuttaa olevan COM3. Sitten säädin CoolTermin Baudrate-asetuksen samaksi kuin Arduinon koodissa (se on siis 19200). Tuossa vaiheessa softan asetukset on asetettu ja Connect-nappulaa klikkaamalla voi avata yhteyden Arduinoon. CoolTermin ruudulle ilmestyy 10 sekunnin välein uusi lämpötilatieto. Noita tietoja voi "nauhoittaa" CoolTermin avulla valitsemalla ConnectionCapture to TextfileStart. Tekstitiedostoon kerätystä datasta voi askarrella vaikka tällaisen kuvan:

Esimerkki Arduinosta kerätystä lämpötiladatasta helmikuulta 2015

Tietoa kirjoittajasta