Language Switcher Fallback

Kuidas alustada oma Arduino projekti?

Sisukord

  1. Mõtle läbi, mida su seadeldis tegema hakkab, parem pane kirja. Kas teeb midagi niisama, kogu aeg? Kas teeb midagi kasutaja tegevusele reaktsiooniks? Kuidas kasutaja oma käsklused seadmele annab? Kas mõõdab midagi ja reageerib mõõtetulemustele?

  2. Mõtle läbi milliseid juppe nende interaktsioonide jaoks vajad, pmst kõik sisend ja väljund seadmed. Kontrolli, et kõigi vajalike kasutaja käskluste peale oled mõelnud, see kipub kergemini kahe silma vahele jääma.

  3. Kirjuta kõik need komponendid üles ja otsi netist kasutusnäited kõige kohta, mida sa varem läbi teinud ei ole. Pane kirja moodulite nõudmised ühendusele - mitu pini neil vaja on, kas need peavad olema “erilised” - PWM, analoog, interrupt pinid. Mitmed moodulid suhtlevad I2C nimelise protokolliga ja Arduinol asub see kindlatel pinidel (A4, A5 enamikul, Mega, Leonardo ja Due puhul erineb http://www.arduino.cc/en/Reference/Wire). Aga hea külg on see, et I2C lubab sinna ühendada mitu moodulit ühekorraga ja suhtleb nendega edukalt aadressi järgi. Mõtle läbi, kas mingid komponendid (nupud, andurid) vajavad pullup või pulldown takisteid. Pane oma uuringu tulemused kirja ja koosta plaan, millisele pinile midagi ühendad.

  4. Kui tegemist on projektiga, mis sisaldab suure voolu tarbega või Arduino viiest voldist erinevat toidet nõudvaid asju (mootoreid, heledamat valgustust või mooduleid, mis 3.3V-ga töötama mõeldud ja ei sisalda juba 5V sobitust), siis otsi netist, milliseid akusid või muud toidet on teised kasutanud. Samuti vaata teiste pealt, milliseid transitore on vooluahnete või kõrgemal pingel töötavate asjade jaoks kasutatud. 3.3V asjad tavaliselt vajavad pingeregulaatorit toitele ja pingejagureid mooduli sisenditele (st arduino väljunditele). Pane tähele, et eri pingega, näiteks eraldi akudelt, töötavate asjade puhul peavad nende GND-d olema kokku ühendatud.

  5. Joonista elektroonikaskeem. Selle võib vahele jätta lihtsa Arduino kaudu toidet saava projekti puhul, kui tunned ei kõik on ilmselge. Aga enamasti on kasulik joonistada. Paber ja pliiats on piisavalt kiired vahenid selleks.

  6. Koodi kirjutamine võib algul olla keerulisem osa. Soovitan siin alguses ja iga kord kui mõte kokku jookseb inimkeeles kirja panna, mida saavutada tahad. Leia oma jutus kohad “juhul kui …”  ja “seni kuni …”. Need viitavad vajalikele if ja while lausetele. Kui neid on rohkem kui 2, siis proovi need omakorda grupeerida, nt andur A seisu 1 korral andur B seis 1 ja seis 2 ja andur A seisu 2 korral anrudr B seis 1 ja seis 2.  

  7. Mõtle välja varukoopiate tegemise süsteem, sest vanemat töötavat versiooni võib mingi hetk vaja minna. Mulle on üks lihtsamaid olnud salvestada veidi harvem, aga failinimes kasutada kuupäeva ja kellaaega stiilis 160330-1317 (aasta|kuu|päev-tund|minut) - siis lähevad nad faililoendis õigesse järjekorda ka. Halb pool on see, et Arduino ide sketside menüü kaob nurga taha, kui seal liiga palju faile. (Kui kunagi tõsisemalt programeerimist õppida otsustad, siis õpi ka mõni versioonihaldus süsteem selgeks, näiteks GIT https://www.udacity.com/course/how-to-use-git-and-github--ud775)

  8. Lae alla kõik vajalikud libraryd ja soovitavalt proovi, kas saad moodulid library näidise koodiga tööle.

  9. Pane oma sketsi kondikava kirja koodikommentaaridena, see ei pea kohe täielikuks saama, aga aitab tervikule mõelda. Täienda neid märkmeid edasise töö käigus.

  10. Hakka koodi kirjutama ühe-kahe komponendi jaoks. Näiteks kui su projekt on keeruline äratuskell, mis muuseas näitab kellaaega minuti täpsusega, siis pane arduino mõistliku intervalli tagant kellamoodulilt aega küsima ja seda ekraanile kirjutama. Kui esimene jupp on tööle saadud, lisa järgmine jupp. Liiga pikalt pusida koodi kallal, kus kõik on alustatud, aga mitte midagi ei saa testida, sest kõik pole valmis, ei ole eriti efektiivne ega motiveeriv.   

  11. Testi breadboardil, monteeri hiljem, kui end elektroonika poolel väga tugevalt ei tunne. Selleks on hea omada Arduino Unot, kuhu kergem ajutiselt asju ühendada, testima ei pea sama Nano või Pro Miniga, mis projekti sisse paned, need on igati sarnased, ainult kompileerimisel vajalik õige nimi valida. Kui su projekt sisaldab vooluahneid või füüsiliselt suuri komponente, mis breadboardiga kokku ei sobi, siis võid need enne omamoodi mooduliks kokku monteerida.

  12. Kompileerimisvigade vastu esiteks loe veateadet tähelepanelikult. See ütleb ka reanumbri. Vahel on seal mitu reanumbrit, osad neist library failides, otsi seda, mis on sinu sketsi faili kohta. Arduino ide näitab reanumbrit, kus kursor parasjagu asub, akna allosas. Kui ei saa aru, mis valesti, siis guugelda veateadet.

  13. Kui kompileerimine korras, aga üles laetuna kood ei tee seda, mida ootasid, siis kirjuta Serial.print lauseid, et teada saada, kas if lausetes jõutakse õigesse kohta välja üldse, või kas muutujate väärtused on sellised nagu arvatud. Näiteks Serial.println(“nupu vajutus tuvastatud”); või buttonStatus = digitalRead(3); Serial.print(“D3: “); Serial.println(buttonStatus);

  14. Kui mitte kuidagi ise probleemist üle ei saa ja guugel ei aita, siis küsi abi. Abi küsimisel tasub ära aja pühendamine koodi treppimiseks ja koodi kommentaaride lisamiseks - mida see jupp koodi tegema peaks. Tegelikult neid algusest peale tehes, on endal nii palju lihtsam, et abi vajamise tõenäosus langeb.

  15. Elektriliste vigade kahtluse korral hangi multimeeter ja mõõda: kas kõik kohad, mis peavad olema omavahel ühenduses, on ühenduses - seda mõõda kui toide on väljas; kas kõik kohad, mis peavad saama toidet, on vastaval pingel GND suhtes.

  16. Monteeri kokku, korda elektriliste vigade väljaajamise protsessi, viimistle ilusaks.

  17. Ole enda üle väljateenitult uhke!