Arduino termometras

   Jau ilgą laiką norėjau Arduino pagalba pasidaryti paprasčiausią termometrą, nes žiemą kambaryje nėra labai šilta, bet kiek tos šilumos – neaišku.

   Pasinaudojau visagaliu Google ir pradėjau ieškoti tinkamų komponentų, kurių nėra daug. Reikia tik Arduino valdiklio, na aš turiu Duemilanove. Dar reikia laidų jungimui, bei vieno svarbaus komponento – temperatūros daviklio LM335, pas mane LM335Z, kuris kainavo 3,5 lito.

   Daviklį galima nusipirkti www.lemona.lt, www.evita.lt ar pasidairyti www.rcl.lt.

   Vos nepamiršau, dar reikės 2kO varžos, 10 vienetų kainuoja nuo 0,5 iki 1 lito, cia žiūrint kur ir kaip pirksi.

   Visus komponentus sujungiame pagal duotą schemą:

     Arduino 5V –> prie varžos–> vidurinė daviklio koja

     Arduino GND –> nuo kairės pusės trečia daviklio koja

     Arduino Analog Input 0 –> vidurinė daviklio koja

arduino-lm335-temperaturos-sensorius

O šį kodą užkraunu į Arduino:

 

int lm335 = 0;
void setup (){
	Serial.begin (9600);
	}
	
void loop(){
	double val = analogRead (lm335);
	double voltage = val * 5.0 / 1024;
	int temp = voltage * 100 - 273.15;
	Serial.println (temp);
	delay (100);
	}

 

Gaunamas rezultatas, kurį galima pamatyti per Serial Monitor:

arduino-lm335-temperaturos-sensorius-serial-monitor

Štai tiek šiam kartui, jei rasiu laiko parašysiu dar kokį bandymą. Jungimo schema daryta su Fritzing programėle.

Autorius: knyslius

Arduino – jungiam prie PC

   Arduino pajungimui prie kompiuterio reikės USB kabelio. Jei tai Uno ar Duemilanove modeliai – tinka standartinis "A-B" tipo. Jei tai Nano – "A – Mini-B".

   Visų pirma parsisiunčiam iš arduino.cc programinę įrangą su tvarkyklėmis. Svetainėje Arduino Software – naujausia versija. Išarchyvuojame parsisiūstus failus diske, kad ir į C:\arduino. Jungiam USB kabelį prie kompiuterio ir Arduino.

Pirmas pajungimas – reikalingos tvarkyklės (draiveriai).

uno-install-001

Nurodome kelią iki tvarkyklių, pvz c:\arduino\drivers ir

uno-install-002

Diegiame tvarkykles ir baigiame

uno-install-003

Turime USB Com porto emuliatoriaus tvarkykles. Arduino pajungtas prie kompiuterio.

 

Arduino Nano – pirma pažintis

arduino-nano-v3-001   Pagaliau šis žvėris pas mane rankose. Andruido Nano. Žinoma ne originalas – originalas nerealius pinigus kainuoja. Jo kinietiškas brolis (klonas,  prototipas arba kopija vienas prie vieno). Nors kiek supratau projekto kūrėjai ir nelabai pyksta, o kartais net ir giria prototipų kūrėjus.

   Dydis ir svoris juokingi. 4,3 cm x 1,8 cm. Svoris – neturiu kuo pasverti tokių mažų daiktų. Mikrokontroleris – ATmega328, pradžiai tikrai užteks. Prie kompiuterio jungiasi Mini-B USB jungtimi, iš tos pačios jungties gauna ir +5V maitinima. Ateičiai reikės pasidaryti montažinę plokštę testams, su atskiru maitinimu (kompiuterio USB atiduos ne daugiau 500mA).

   Ir taip turim: mikrokontroleris, kuris dirba 16MHz dažniu, jame yra 30KB Flash atminties (realiai yra 32KB, bet 2KB jau užimta BootLoader'iu), 2KB SRAM ir 1KB EEPROM. Mūsų rašomos programėlės saugomos Flash atmintyje, ateityje gal ir bus galima panaudoti likučius.arduino-nano-v3-002

   Įvesties – išvesties išvadai (įvadai), ar dar kaip juos pavadinti. Angliškai "pins" – kontaktai, nu ne kontaktai čia, o kojelės. 14 skaitmeninių įvesties/išvesties (uf ta lietuvybė), en "Digital I/O Pins", jų yra realiai 16, bet pirmos dvi panaudotos bendravimui su kompiuteriu (TX/RX). 6 iš 14 gali būti naudojamos kaip PWM (en – Pulse-width modulation) arba paprasčiau – galima gauti ne tik logini 0 (0V) ar loginį 1 (5V), bet priklausomai nuo pasirinktos reikšmes (0-255) įtampą nuo 0V iki 5V. pvz.: "analogWrite(3,127);" turėsim ant D3 išvado 2,5V. Ups, jau iš kart įlindau į kontrolerio programavimą, gal šitą reikalą paliekam ateičiai. Kam to PWM reikia? Reguliuoti apšvietimo ryškumą, elektrinio varikliuko apsisukimų greitį. Patogu ir paprasta.

   Tęsiant apie įvadus, turim dar 8 (!) analoginius įėjimus (Analog Input Pins). Duodam į įvadą nuo 0V iki 5V – kontroleris mato skaičiukus nuo 0 iki 1023. Vėl – patogu ir paprasta 🙂

   Kontroleryje dar įlituotas įtampos stabilizatorius. Kaip jau minėjau – 5V jis maitinasi iš USB, bet prie kompiuterio nelaikysi visą laiką pririšto, o ir kompiuterio USB portas atsijungs jei apkrova viršys 500mA (teoriškai turėtų sudirbti kompiuterio apsauga, praktiškai gal nemėginam – gali daug kainuoti). Tam yra VIN – išorinio maitinimo kontaktas, galime naudoti sena maitinimo bloka nuo 7V iki 12V, nors gamintojai sako kad ribinės reikšmės 6V-20V. O jei mums laidai iš vis trukdo – statom akumuliatorius (kad ir blokelį iš 4AA 4×1,2=4.8V – mažoka, geriau iš 6AA). Stabilizatorius duoda mums 5V – populiari modulių (mikroschemų) maitinimo įtampa ir 3,3V – ekonomiškiems moduliams.

   Nu apie jį gal tiek, tiesa, kontroleryje yra dar 3 4 šviesos diodai ir "Reset" knopkė. 2 šviesdiodžiai pajungti prie RX/TX – siunčiant ar gaunant duomenis iš kontrolerio į kompiuterį (arba atvirkščiai) jie mirksi rodydami aktyvumą. Trečias šviesos diodas pajungtas tiesiai prie D13 kojos. Paskutinis – maitinimo indikatorius. Kam "Reset" knopkė reikalinga gal aiškinti nereikia 🙂

   Belieka jungt prie kompiuterio.

  Kadangi spausdintines plokštes gaminuosi dažniausiai pats ir schemas braižau su DipTrace, iš kart pasidariau Arduino Nano biblioteką.

arduino-nano-v3-diptrace-component arduino-nano-v3-diptrace-patern

Jei naudojate Eagle – ArduinoNano30Eagle.zip

Arduino – kas tai ir kam to reikia

kontroleris Kas tai yra "Kontroleris"

   Mikrokontroleris (MK) – ATMega, PIC ir dar panašios mikroschemos – vienakristalės mikro skaičiavimo mašinos. Kontroleris – plokštė, kurioje įlituota MK mikroschema.

   Kontroleris, kaip jau ir sako pavadinimas, elektroninis įtaisas, kuris kažką kontroliuoja, tai yra reaguoja į pasikeitusius aplinkos parametrus. Aplinkos parametrai nuskaitomi specialiais davikliais, dar kitaip vadinamais sensorika. Valdymo įtaisai (motorika, elektroniniai moduliai bei komponentai)  – viskas ką galima valdyti paduodant elektros impulsus. Įvairios rėlės, šviesos šaltiniai, optoelektronika ar servo varikliai. Pavyzdžiui kondicionierius, ten stovi tokia "protinga" plokštė – kontroleris, kuri įjungia/išjungia oro šildymą / šaldymą, drėgmės reguliatorių tada, kai to reikia.

   Kondicionierius, MP3 grotuvas, GPS navigatorius, net ir mikrobangų krosnelė ar šaldytuvas – visa tai grubiai tariant – specializuoti kontroleriai.

 Arduino

mikrokontroleris   Arduino – tai vienas iš kontrolerių, kurį galima priversti kažką daryti. Nuo stalinio laikrodžio su žadintuvu, šviesos efektų iki roboto. Arba šiaip pasižaisti surenkant išardant savo sugalvotas smulkmenas. Radiokonstruktorius. Prie kontrolerio plokštės galima jungti begalę periferinių įrenginių – daviklius (temperatūros, apšvietimo, slėgio, pagreičio ir t.t.), šviesos diodus, skystų kristalų (LCD) ekranėlius, servo variklius. Parašius programą priversti vienaip ar kitaip reaguoti į pasikeitimus  ar vykdyti kažkokius veiksmus.

   Jungiam GPS modulį ir jums kontroleris nuskaitinės esamos vietos koordinates, pridedam GSM modulį – siūs žinutę apie esamą kontrolerio padėtį tiesiai į telefoną arba jungiam prie SD kortelės modulio ir realiuoju laiku (pvz. kas 5 minutes) įrašinės duomenis į laikmeną. Štai jums paprasčiausias automobilio sekimo įrenginys 🙂

   Kur dar panaudoti? Automatinis naminių gyvūnų maitinimas, Laistyno sistema, Nuotolinis telemetrinių duomenų perdavimas. Vaizduotė begalinė

ir žinoma – robotų kūrimas! Šiaip to mes čia ir esam 🙂

Kodėl Arduino? Yra dešimtys ir kitų platformų, bei kontrolerių, bet

paprastas Arduino bendravimas su kompiuteriu

nereikalingas daugumai modelių papildomas programatorius

Arduino projektas pilnai atviras

projektas populiarus – visa krūva interneto portalų su atviromis programavimo  bibliotekomis, schemomis ir projektų aprašymais (kaip ir šitas puslapis)

modulių kaina, kuri tikrai nesikandžioja.