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.