Mõni sõna Arduinost ja sellele koodi kirjutamisest.

Tervist.

Kui ma tutvustasin selle blogi olemust ja sisu, siis mainisin ära, et kunagi tahan rääkida kindlasti ka programmeerimisest. Arvan, et täna on hea päev sellelegi sissejuhatust teha. 

Ma loodan, et on õnnestunud mõnele inimesele näidata, et elektroonika ei ole midagi haaramatut. Tegelikult on tegemist vaid hulga tillukeste asjadega, millest ajapikku aimdust saab. Samamoodi on ka programmeerimisega. Üks üsna lihtne meetod, kuidas saada algus Sardsüsteemi programmeerimisega, on kasutada Arduinot. Tegemist on avatud riistvaralise mikroprotsessori arendusplatvormiga, mis on disainitud inimestele, kellel ei ole väga suurt programmeerimise ega ka elektroonika kogemust, kuid sooviksid päriselt siiski õppida ja midagi teha.

Selle tutvustuse alguses tahan ka ära mainida fakti, et arduino on prototüüpimise vahend, kui keegi soovib teha tõsist programmeerimist ja / või elektroonikat, siis on suur tõenäosus, et arduino keelega kaasnevad eripärad hakkavad rohkem segama kui aitama. Sellegi poolest on tegemist väga kasuliku tööriistaga nii algajatele, kui edasijõudnutele.

Arduino Uno

Arduino kui selline ei ole väga kallis mänguasi ning tuleb väga mitmes maitses. Kõige levinum plaat on Arduino Uno, ning see on ka kõige odavam (23€ Farnellist, kahjuks hetkel ei ole saadaval). Lisaks on neid veel suur suur valik. Nii väiksema suurusega, rohkemate viikudega, erineva võimekusega. Kuid see ei ole ainus miks arduino on levinud nii palju, nagu ta reaalsuses on. Tegemist on tooteliiniga mis on avatud lähtekoodiga. Sellele on loodud lugematu hulk shielde (moodulid mida saab kergelt lisada, et saada seadmest välja lisa funktsionaalsust) ning kõik mida selle lisaks müüakse on ka vabalt ligi pääsetavate disainifailidega, et soovikorral on võimalik kõike ise teha ning tegemist on väga korralike õppematerjalidega, mille kohta saab veebist massiliselt infot ning tihtipeale on tegemist ka väga heade disaininäidetega algajate jaoks.

Näide shieldimise metoodikast

Väike arduino ja selle shieldi-ga tehtud robot

Kahjuks on eesti edasimüüjatel arduinole ülisuur juurdehindlus niiet farnelli 5€ saatekulu teeb seadme ikkagi odavamaks sealt tellida, kui eestist. Samas on see platvorm enda kanda ka eestis kinnitanud. Olen teadlik, et isegi tartu ülikoolis on mõningad prototüübid esmalt arduino peal tehtud. Rääkimata üritustest nagu Hobilabor ja üliäge ArduSat. 

Ma arvan, et tänase postituse mahu sisse enam projektinäide ei lähe, kuna siis tuleks kogu asi liialt pikk, küll aga võite oodata, et ülejärgmine nädal näitan teile juba keelt mida Arduino kasutab kui ka lihtsa näite projektist mida saab kodus kiirelt luua.

Joonistame skeemi

Kui on arusaam elektroonikakomponentidest, siis tekib tahtmine neid joonises kasutada. Joonistamiseks on palju põhjuseid ja võimalike viise. Näiteks meelde jätmiseks, idee välja joonistamiseks, simulaatoris testimiseks või sõbrale näitamiseks. Levinumad skeemi valmistamise viisid on paberi peale kritseldamine, simulaatorites testskeemide joonistamine ja trükkplaadi tegemise tarkvarades (nt. KiCad) disainimine.

Toite olemasolu näitav LED toitepinge ja maanduse tingmärkidega.

Toite olemasolu näitav LED toitepinge ja maanduse tingmärkidega.

Alustama peaks kõige huvitavamast või keerulisemast skeemi osast (enamasti need kattuvad). Näiteks 555 kiibiga LEDi vilgutavas skeemis on mõistlik esmalt joonistada kiip. Teisena märkida takistid ja kondensaatorid, seejärel LED(id) ja viimasena pistikud. Keerukamaid skeeme joonistatakse osade kaupa. Toiteskeem teha ühtse üksusena, muu teisena ja viimasena üksuste vahelised ühendused. Üldiselt joonistatakse skeemi vasakult paremale. Vasakult tuleb elekter ja signaalid sisse, paremalt lähevad välja. Maanduse tähised märgitakse otsaga alla poole ja toitesignaalid otsaga üles poole.

Kui skeem on välja mõeldud ja joonistatud, tasub see veelkord üle vaadata. Esimene versioon on mustand, millesse peaks ka nii suhtuma. Et asi oleks selge ka järgmisel päeval tasub see korralikult vormistada. Paberile joonistatud skeemide mustandid tasub korralikult puhtandile joonistada või kasutades tarkvara, komponendid selgelt paigutada. Ei maksa ka karta seletavate tekstide lisamist.

Lisan ka Joel Kuuse koostatud elektroonikaskeemide vormistamise juhendi, mille järgmine muudab joonistustest arusaamise tunduvalt lihtsamaks.

Mänguautomaat. Külalispostitaja Jürgen Laks.

Selle nädalase postituse jaoks on kutsutud kirjutama noor elektroonik Jürgen Laks kes räägib natukene enda suurimast projektist.

Idee

Kui ma olin väike, siis ma tahtsin kohuaeg mänguautomaate nähes nendega mängida, kuid ma ei tahtnud oma raha lihtsalt ära anda mänguautomaadi omanikule. Mõne aasta pärast otsustasin, et ma ehitan oma mänguautomaadi, millega ma saaks mängida niipalju kui ma tahan, sentigi maksmata.

Ehitus:

Kõigepealt ehitasin raami ning tuli hakata mõtlema kuidas osasid raamil liikuma saada. Selleks ostsin 3 odavat puldiautot, millest sai piisavalt ülekandega mootoreid ja ka kaugjuhtimispuldid ja -vastuvõtjad.

Juhtpuldiks said puldiautode pultides olnud saatjad ja autodest vastuvõtjad mängule. Kaugjuhtimis skeemidel tuli vahetada mõned jupid välja, et muuta saatjate sagedust. Nii sain ma 6 erinevat signaali saata ja vastu võtta (edasi, tagasi, paremale, vaskule, krabamine ja üks lisaks mida ma kasutasin vaid testimisel).

Haaramise osa õnnestus mul valmistada koolis, kus olid paremad tööriistad puutöö jaoks, seega sain hästi tugeva ja korraliku käpa oma mängule.

Nüüd oli kõik materjaalne osa valmis ja tuli hakata tegelema elektroonikaga. Kõigepealt otsisin mikrokontrolleri ja hakkasin programmide kirjutamist õppima. Kui arvutis olemisest küllalt sai, tuli kokku joota hunnik H-sildu mootorite juhtimiseks. Üks neist vajas ka suurt jahutust. Suur osa ajast läks juhtmete ühendamiseks ja pärast ühendamist vigade otsimiseks. Toiteplokiks
leidsin ma vana 12V 5A adapteri.

Kui mäng oli juba töökorras, siis lisasin ka vilkuvad tuled ja tegin muid parandusi (nt. asendasin üles-alla liigutava lõnga tamiili vastu, sest lõng ei pidanud hõõrdumisele väga kaua vastu ja läks katki)

Kokkuvõte:

Kogu ehitamisega läks aega umbes 1 kuu. Selle ajaga olin saanud valmis nii korraliku mängu millega võrreldavat pole ma veel internetist leidnud. Kõige uhkemad mängud, mida internetist leida võis, olid kas uhked ja suured, mis ei olnud võimelised krabama või siis väikesed ja legost tehtud, mis vähemalt krabasid automaatselt. Seda ehitades sain ma ka selgeks mikrokontrollerite kasutamide, mille kasutamise peaks minu arvates iga elektroonik varem või hiljem selgeks saama. See avab projektides tuhandeid uusi võimalusi!

Öeldakse, et üks pilt on väärt rohkem kui tuhat sõna. Ja siin on video!

Võtame patendi peale!

Rääkides elektroonikast ja ka muudest tehnoloogia aladest on enamus inimeste esimene reaktsioon oma suvalisele ideele – võtan patendi peale ja saan rikkaks. Kuna aga see süsteem päris nii lihtne ei ole, siis seletan asja tavainimese vaatepunktist, lükates üldlevinud arusaami ümber.

Patent annab mulle kasu

Patent annab õiguse kopeerijaid kohtusse kaevata. Kõik, midagi muud patent ei tee. Ehk siis selleks, et patent üldse kunagi kasulik oleks peate te pidevalt kõiki kohtusse kaevama ja võitma. Kuna kohtus käimine on pikk ja tüütu tegevus, siis järelikult peab kasu lõikamiseks olema palju patente, palju advokaate.

Patent kaitseb mind

Patent ei kaitse kedagi. Isegi kolossaalsete firmade nagu Apple tooteid kopeeritakse iga päev tuima näoga Hiinas. Keegi ei saa midagi teha. Leides tõesti kedagi, keda kohtusse kaevata võib vastaspool tõendada, et antud teave on loogiline iga selle alaga tegelejale. See muudab patendi kehtetuks. Lisaks on vaja igas riigis eraldi patent saada ja seda hoida – ei kõla üldse meeldiva ajaviitena.

Miks siis patentid head on?

Hetkel enam väga ei olegi. Ainus mille jaoks neid tänapäeval kasutatakse on suured patendilahingud rivaalitsevate suurkorporatsioonide vahel. Sealgi saab kannatada ainult maine, raha ei huvita tegelikult kedagi.

Mida siis teha? – Jagada!

Eestlastele on omane kõik välja mõeldu ja valmistatu endale hoida – äkki läheb vaja. Tegelikkuses ei lähe enamus asju kunagi vaja, lisaks mitte miski ei kaitse kopeerimise eest. Enamikke lihtsamaid esemeid saab järgi teha kasutades fotot ja keerulisemaid lahti kruvides. Kui sinu leiutised midagi väärt on, siis põhjus miks keegi neid ostab, peaks olema usaldus sinu ja toote vastu. Monopolid ei meeldi kellelegi. Reaalsuses tuleb jagamisest palju suuremat kasu – tutvusi ja usaldust.

Sinu tehtud asjadest on teistel kasu! Jagades teed kõigi elu lihtsamaks. Lisaks jagavad siis ka teised. Kõik elektroonikaprojektid, millega olen lõpuni jõudnud (valmis, alla andnud, ei tööta) olen üritanud ülesse pildistada ja internetti riputada. Mina ei kaota sellest midagi ja paljudel teistel on huvitav lugeda.

Creative Commons Autorile viitamine + Jagamine samadel tingimustel

Creative Commons Autorile viitamine + Jagamine samadel tingimustel

Litsentsid

Samas ei taha, et keegi lihtsalt sinu töö ära võtab ilma sind isegi mainimata. Selle jaoks on olemas litsentsid. Kogu isiku tehtud töö loetakse tema omandiks. Näiteks selle blogi sisu või piltide kopeerimine on hetkel keelatud ja karistatav seadusega. Nüüd ma ütlen, et kogu selle blogi sisu on CC BY-SA litsentsiga kaetud. See tähendab, et peale selle lõigu avaldamist tohid sa kõike kopeerida, jagada (eeldusel, et originaalautorid on mainitud originaalautoritena) ja isegi müüa (eeldusel, et originaalautorid ja pärinemiskoht on vastavalt välja toodud).

Riistvara (elektroonika, mehhaanika) jaoks on olemas midagi sarnast – Avatud Riistvara (open source hardware). Litsentsil on põhimõtteliselt samad tingimused, nagu CC BY-SA-l kuid veidi rohkem riistvaraspetsiifilised. Lisaks saab oma projektidele panna kena hammasrattaga logo, mis näitab, et sa pole kitsi.