Reaali Robootika.COM

NXT robotimaailm ja programmeerimine C-keeles

Kahendkoodi ja kümnendloendur

Teema: mida saab teha trigeritega?

Kui eelnevatel tundidel vaatasime lihtsaid RS-trigereid, siis nüüd vaatasime juba valmis mikroskeemi, kus on trigerid sisse ehitatud. Nimelt loogikalülitus 4013-e sees on 2 D-trigerit, mille üks laialt levinud kasutuskoht on kahega jagamine.

Esiteks panime kokku generaatori, selle jaoks kasutame traditsioonilist 555 mikroskeemi. Sinna järele sai tehtud kahe mikroskeemiga 4 D-trigerit ning trigerite väljundid omakorda ühendasime kümnendloenduriga.

Kokku tuli skeem, kus saime jälgida valgusdioodidelt kahendkoodi, ja teistelt valgusdioodidelt põleva LED-i liikumist.

555, D-trigerid 4013 ja kümnendloendur 4028

Ühendasime kõikide oluliste kohtadega ostsilloskoobi ning vaatasime kuidas see signaal arvutiekraanil välja näeb.

ostsilloskoop

Triger on see mis teeb Flip-Flop

Nädala teema: mis asi on triger kus seda vaja läheb.

Küsimuse mõlemad pooled on üsna laiad seletused, kuid alustasime hästi lihtsatest asjadest. Esialgu tegime ainult RS-trigeri ning praktilise poole pealt vaatasime kuidas sellega saab valgusdioode ümber lülitada ning lüliti kontaktide värelemisest tingitud häiresignaali eemaldamist.

Algatuseks panime kokku alljärgneva skeemi ning vaatasime kuidas RS-triger töötab.

image

Siis lisasime skeemile juurde ühe loenduri, mille siseelu me hetkel uurima ei hakanud, lihtsalt tõdesime et see loendab signaali impulsse kümneni.

Esimese variandi tegime viisil, et sisendimpulsid andsime lülitiga, mille tagajärjel oli näha, et mõnikord hüppas valgusdiood üle ühe LED-i ja vahest isegi üle kahe LED-i. See on siis tingitud lüliti mehaanilisest häirest.

Kui me aga ühendaime sinna vahele trigeri, ei tekkinud enam kordagi olukorda, et kogemata tuleb justkui kaks impulssi.

Püüdsime ühe lüliti põhjustatud häireimpulsi ka ostsilloskoobiga kinni ning uurisime seda lähemalt, selgus et selle häiresignaali pikkus oli vaid ~0,2 ms.

image

Ühed ja Nullid ongi loogika

Tunni teema: tutvuda baasloogikalülitustega nagu NOT, OR/NOR, AND/NAND ning praktilise tööna panna kokku generaator.

imageVõttis aega, et aru saada sellest, mis asi on 1 ja 0. Ja ilmselt veelgi kauem läheb aega, et sisuliselt mõista miks on meil vaja loogikalülitust NOT. See ju lihtsalt pöörab ühe nulliks ja vastupidi, mille praktilise jaoks seda ikka vaja läheb. Et näiteks “miks meil on vaja loogikalülitusest tuleks välja miinus – selles pole ju elektrit sees – elekter on ju plussi sees”. No siis tulime tagasi teema juurde, et milles seisneb elektrivool.

Väga hästi aga töötasid lülititega tehtud analoogid loogikalülituste juures, need lihtsustasid tõeväärsustabelist aru saamist.

 imageimage

Mis aga ikkagi nende NAND-ide ja OR-de sees on? Siis oligi aeg lühidalt tagasi põigata eelmiste tundide juurde, et transistorid ja takistid on need millest valdavalt koosneb loogikalülitus.

Aga et midagi tunni lõpuks ka juhtuks, siis panime kokku generaatori ning valgusdioodid vilkuma.

image

Arutasime läbi, et miks selline skeem hakkab üldse genereerima ja vaatasime väljundsignaali ning kondensaatori tühjenemist ja laadumist. Arvutasime välja eeldatava sageduse RC-konstandi abil ning mõõtsime seejärel ostsilloskoobiga – ja ennäe, tuligi enam-vähem sama.

Mõned seigad:

Mina: “miks sul on kahte mikroskeemi vaja selle skeemi kokkupanekuks?” – õpilane: “aga siin on ju kaks loogikalülitust”. Back to the basics ning selgituse peale, et ühe mikroskeemi sisse mahub mitu loogikalülitust tuli selge “ahaa…” efekt.

On loomulik, et asjad ei tööta alati kui kokku panna. Kõige levinumad probleemid: mikroskeem polnud korralikult plaadile surutud, mikroskeem valepidi või oli jalgade loendamine sassi läinud.

Ja veel küsimus “miks mikroskeemil on vaja eraldi toidet?”. Kuid ka palju olulisem küsimus, et kui täis on kondensaator peale ühte RC-konstanti? Vastus on 63%, mis tekitas üllatusi, et nii vähe. Kuid sellest piisab täpselt, et loogika maailmas elemendi sisend oma väärtust muudaks.

Diood ja transistor on meie sõbrad

diood

Diood on pooljuhtelement,mis laseb voolu läbi ainult ühes suunas. Dioodil on kaks jalga ning jalgade nimetused on päritud lampide ajastust: anood ja katood. Dioodi noole suund tähistab elektrivoolu liikumise suunda (elektronid liiguvad vastassuunas).

Dioodi ehitusDiood on kokku pandud kahest kristallist, üks pool on rikastatud elektronidega ning teiselt poolelt jällegi on elektrone ära võetud, selline kristall moodustab pn-siirde (pn – positive/negative).

Kui dioodile rakendada pinge pärisuunas, siis vool ehk elektronid hakkavad dioodist alles siis läbi minema kui dioodi jalgade vahel olev pinge on kõrgem kui 0,7 volti.

transistori ehitusTransistor on kolme jalaga pooljuhtelement, mida kasutatakse pinge ja/või voolu võimendamiseks. Tunnis rääkisime ainult bipolaartransistoridest. Transistor on oma ehituselt justkui kaks dioodi kokku pandud ning sellest tulenevalt ongi kahte tüüpi transistorid npn ja pnp, sõltuvalt sellest kumba pidi on nö. dioodid ühendatud. Transistori jalgu nimetatakse bass, kollektor ja emitter. Kui npn transistori baasile rakendada emitteri suhtes 0,7 V võrra kõrgem pinge, transistor avaneb ning kollektori ja emitteri vahel hakkab liikuma suurem vool.image 

NB! Skeemidel olen siiani voolusuuna tähistanud enamjaolt elektronide liikumise suunaga ja seda alati ka eraldi rõhutanud.

transistoriga summeri juhtimine

imageLaboriks panime kokku mitmeid erinevaid skeeme transistoridega. Näiteks ka selline multivibraator.

Siin arvutasime välja sageduse ning mõõtsime ja uurisime signaali ostsilloskoobiga. Tuli välja, et signaaliks on sellised üksikud postid ja mitte ilus sümmeetriline vaheldumine.

image

Kondensaatori tund

Tunni teema: kondensaator. Ehitus, ja kuidas seda kasutada.

Kondensaator

Peale kondensaatori ehituse tutvustamist, et see koosneb sisuliselt kahest metallplaadist ja dielektrikust nende vahel ning rõhutanud eraldi, et kondensaatori ühelt poolelt teisele ei hüppa ükski elektron, tekis kõigil tahes-tahtmata küsimus “milleks meile sellist komponenti üldse tarvis läheb, kust ükski elektron läbi ei lähe?”.

Peale selgitust, kuidas ühele plaadipoolele jõudvaid elektrone hoitakse seal kinni isegi kui kondensaator lahti ühendada, tekib järgmine äratundmisrõõm “aa – kondensaator, see on nagu aku”. Mispeale võib öelda, et analoogia on silmnähtav ning sobilik. Järgmiseks saadakse teada, et suured tehnoloogiaettevõtted töötavadki selle nimel, et tulevikus oleks meil telefonides, kellades jms väiksemates kohtades energiaallikaks kondensaatorid ja mitte akud.

Tunni laboriks oli järgmine skeem. See andis päris hästi edasi justnimelt seda kondensaatori laadumise ja tühjenemise efekti.

Kondensaatori näide

Elektroonika tund 555

Kõik elektroonikud teavad juba lapsepõlvest, et mis asi on 555.

Tunni esimeses pooles rääkisime arvusüsteemidest: kümnendsüsteem, kahendsüsteem, kaheksand- ja kuueteistkümnendsüsteem. Need viimased on küll väga pikad ja lohisevad nimed.

Lisaks vaatasime veel kahend-kümnend arvusüsteemi ehk ingl. keeles BCD (binary coded decimal).

Eksisteerib veel hulk erinevaid süsteeme, mida kasutatakse arvutites, kuid ei hakanud neid käsitlema, et mitte liiga pead segi ajada.

Milleks mida kasutatakse?

Kümnendsüsteemiga on lihtne, see on meie igapäevane arvusüsteem – näppe kümme, varbaid kümme ning kõik arvutavad maast madalast selle numbrisüsteemi abil.

Kahendsüsteem (binary) on selgelt ja ainult arvutustehnika jaoks. Kõik arvutid töötavad ühtede ja nullidega.

Kuueteistkümnendsüsteem (hex) on peamiselt selle jaoks, et inimestel oleks lihtsam masinarvusüsteemiga suhelda. On oluline vahe, kas kirjutada programmis 1000000 (6 nulli) või 40. Mõlemad tähistavad kümnendsüsteemis ühte ja sama arvu – 64.

Kahend-kümnendsüsteem (BCD) on välja kujunenud arvutustehnikas selle jaoks, et hõlbustada numbrite esitluskuju inimestele arusaadaval kujul kümnendarvudes.

555

Tunni teises pooles panid poisid kokku ühe lihtsa 555 mikroskeemiga generaatori. Tulemus on näha ja kuulda siin videos.

https://www.youtube.com/watch?v=B1HqyAnt0fM

555 soundmakers

Elektroonika tund

Täpselt 2 aastat tagasi, nii ka nüüd, võtsin taaskord õppekavasse elektroonika.

Elektroonika õppekava eesmärk: kevadeks ehitab igaüks enesele väikese arvuti (lihtsamad 3 bitised, keerukamad 7 bitised), mis oskab liita ja lahutada.

Esimesel tunnil käsitlesime teemat, et mis asi on elekter, kuidas liiguvad elektronid ja kuidas märgitakse elektrivoolu suunda. Ajalooliselt on kujunenud välja nii, et need on erinevad. Kokkuleppeline suund on plussilt miinusele, kuid elektronid liiguvad miinuselt plussi suunas.

Arutlesime selle üle, et elekter jõuab peaaegu valguse kiirusel ühest juhtme otsast teise, samas aga üks üksik elektron seal juhtme sees liigub edasi vaid 1 mm / 10 min jooksul. Selles valguses tunduvad need elektronid päris uimased olevat.

Arutasime teemal pinge ja vool. Akude mahtuvus, et miks näiteks ei saa kahe tavalise Lego NXT roboti akuga autot käivitada? Kaks NXT akut on kokku 14,8 V ja autoaku on 14,4 V – ampritest ja seeläbi võimsusest jääb puudu.

Ja miks linnukesed võivad elektri kõrgepingeliini otsas istuda? Ja et inimesed võiksid ka ning midagi ei juhtuks. Aga rippuda selle õhuliini küljes ei tasu, kuna keha võib olla maale liiga lähedal ja siis tekib läbilöök.

Arutasime küsimuse üle, et mis on vahelduvvool, seinast tulev 50Hz. Ja küsimusele, kui palju me saame seinast voolu/võimsust tarbida, jõuti alguses üksmeelsele lahendusele, et “nii palju kui elektrijaam võimaldab”. Tegelikkuses aga selgus, et kuni elektrijaamani on tohutus koguses kaitsmeid ees, mis piiravad ära voolu kasutamise.

Elektroonika komponendid

Me oleme Eesti Parim Robootikakool 2015

Robootikakooli Robootika.COM õpilased tegid suurepärase töö ning tulid koju tagasi koos karikaga, mis antakse Eesti Parimale Robootikakoolile.

Võistluste lõikes saavutati esikohad:

  • Joonejärgija robotiga
  • Folkrace robotiga
  • Linnaläbija robotiga
  • FTC (First Tech Challenge) robotiga

ja kolmas koht Lego Sumo robotiga.

Eesti Parim Robootikakool Robootika.COM

Tiim Robootika.COM saavutas 3. koha Robotexil

29 ja 30. novembril 2015 toimunud Baltimaade suurimal robotite võistlusel Robotex 2014, pälvis meie tiim 3. koha võistluskategoorias ICD Grand Challenge.

Robootika.COM Leivo ja Rao ICD Grand Challenge

Tegemist oli simulatsiooniülesandega, mille käigus tuli suurte lainete käes kõikuval laeval last takistustest mööda põigeldes viia ühest laeva otsast teise. Tegemist oli ühe keerukaima ülesandega selle aasta Robotexil.

Kui esimesed kaks kohta lahendasid ülesande viisil, kus andureid ei kasutatud, ehk siis takistuste asukohad mõõdeti enne ülesande alustamist välja joonlauaga, siis meie robot oli esimene, kes oli ka tegelikult robot, st. ta mõõtis enne liikuma hakkamist takistuste kaugused välja laseranduri abil ning selle põhjal arvutas dünaamiliselt välja oma liikumisteekonna ning -kiiruse.

Ma olen siiralt uhke meie roboti tulemuse ja saavutuse üle. Eelkõige seetõttu, et meie robot oli “nutikas”, mitte lihtsalt matemaatiline automaat!

Alljärgneval pildil meie kolmanda koha võitnud robot. Programmeerimine: Rao Zvorovski, mehhaanika: Leivo Sepp.

Robootika.COM Leivo ja Rao ICD Grand Challenge

Häkime Ultrasonic andurit

Võtsime lahti Ultrasonic anduri, et teada saada mis “karul kõhus” ja kuidas see töötab. ning võibolla seda infot saab millekski kasulikuks veel ära kasutada.

DSCF3322

Kuidas sensor avatuna välja näeb, seda saime teada siit lehelt: http://botbench.com/blog/2011/09/21/exposed-lego-ultrasonic-sensor/ Kuid Xander kirjutab, et ta ei tea kumb on saatja ning kumb vastuvõtja. Meil ei tekkinud hetkekski kahtlust – ühle on peal T ja teisel R. Transmitter ja Receiver – täpselt nii oligi.

Ühendasime ostsilloskoobi ning vaatasime kuidas vastuvõtja signaal välja näeb.

Saatmise pool, saadab välja iga 23 ms tagant 11 impulssi, sagedusega 40kHz. Vastuvõtjas on siis vastuvõetav signaal ajalises nihkes, sõltuvalt sellest kui kaugel mõõdetav objekt asub.

NB! kõik ultrasonic andurid töötavad samal sagedusel, seega kui kaks ultrasonic andurit panna üksteisele otsa vaatama, saavad mõlemad andurid ka teise poolt väljasaadetud signaale ning võib kuvada seetõttu vigast infot. Testisime ka situatsiooni, kus panime ühe ultrasonic anduri vastu neli teist andurit ning tulemus oli ootuspäraselt segane.

Mõeldes eesootava Sumo võistluse peale, tasub siinkohal analüüsida ning mõningaid järeldusi teha.

Hetkel meie järeldusest ei kirjuta Naeratus

Robotex 2014 toimub 29-30. novembril

Robotex 2014 on Eesti suurim robotivõistlus, mis toimub juba neljateistkümnendat korda ning leiab aset TTÜ Spordihoones 29. ja 30. novembril.

Robotex_1_webTänavusel Robotexil korraldatakse kokku kaksteist põhi- ning lisavõistlust:

1. LEGO Sumo
2. Mini Sumo
3. 3 kg Sumo
4. iRobot Sumo
5. LEGO joonejärgimine
6. Joonejärgimine
7. Jalgpall
8. ICD Grand Challange “Päästemissioon merel“
9. Folkrace
10. Labürint (uus)
11. 2 vs 2 jalgpall (lisavõistlus)
12. Humanoidrobotite jalgpall (demovõistlus).

Täpsemate võistlusreeglitega saab tutvuda Robotexi kodulehel: www.robotex.ee/node/2653

Lisaks võistlustele toimub suur tehnoloogianäitus, mitmed töötoad, loovad konkursid seminarid.

Robotex 2014 kuldsponsorid on ABB, ICD Industries ja Technobalt Group.

NXT ekraanile loodud multikad

Kolme põrsakese muinasjutt Lego Mindstorms NXT ekraanil, 2014 aasta NXT animatsiooni võidutöö.

Kolm põrsakest muinasjutt NXT ekraanil

 

Punamütsikese muinasjutt Lego Mindstorms NXT ekraanil, 2013 aasta NXT animatsiooni võidutöö.

Punamütsikese muinasjutt NXT ekraanil

 

Kuna ekraani pikslite arv on piiratud (64x100 pikslit) ning protsessorivõimsus samuti, on tegemist igati suurepärase saavutusega.

Mõlema puhul on kood kirjutatud programmiga BricxCC ning NXC programmeerimiskeeles (à 1000 rida koodi) ning pildid loodud programmiga nxtRICeditV2.

Koodi autor Rao ning animatsiooni pildid loodud Jaani, Timo ja Ramsese poolt.

Meie oleme Eesti Parim Robootikakool 2014

Tartu Ahhaa! keskuses toimunud robootikavõistlusel selgitati juba neljandat aastat välja Eesti Parim Robootikakool. Tänavu pälvis tiitli ja sellega kaasas käiva rändkarika võistkond RRR ehk Reaali Robotistuudio Robootika.COM, kuhu kuuluvad põhikooliõpilased Tallinna erinevatest koolidest.

Reaali Robotistuudio Robootika.COM

19. aprillil kogunesid Tartusse Ahhaa! keskusse õpilased üle Eesti, et pidada maha suurim koolirobootika võistlus RoboMiku Lahing. RoboMiku Lahingus osales 350 võistlejat ning parima robootikakooli tiitli nimel võeti mõõtu neljas võistlusalas: LEGO sumo, täpsussõit mudellinnas, animatsioon ning joonejärgimine.

Alade koondtulemusel sai robootika Eesti meistri tiitli ja sellega kaasneva rändkarika RRR ehk Reaali Robotistuudio Robootika.COM, kuhu kuuluvad põhikooliõpilased Tallinna erinevatest koolidest.

„Meie poisid olid väga tublid, aga tegelikult olid kõik võistkonnad teinud uskumatult head tööd ,“ ütles RRR-i juhendaja Leivo Sepp. „Meie tiimile tagas edu pühendunud töö, aga ka raamidest väljas mõtlemine.“

Raamidest väljas mõtlemise näiteks tõi juhendaja linnaläbimise juures oleva reegli: „Kui robot ei anna teed peateel liikuvale autole ning puudutab seda, loetakse roboti katse lõppenuks.“ Enamik võistkondi ehitas roboti, mis igal juhul peatee ees peatus, et seal sõitvat autot läbi lasta. RRR-i tiim programmeeris oma roboti aga arvestusega, et juhul, kui ristteele jõutakse enne peateel sõitvat autot, seal ei peatutagi – nii nagu toimitakse ka päris liikluses.

RRR saavutas neljal võistlusalal kolm esikohta (joonejärgijas, linnaläbimises ja robotiplatvormile programmeeritud animatsioonis), sumos jäädi pingelise heitluse järel teisele kohale.

RRR saavutas Eesti Parima Robootikakooli tiitli ka 2012.aastal. Eelmise aasta parimaks robootikakooliks tunnistati Tartu Kivilinna Gümnaasiumi robootikaring ning 2011. aastal Narva robootikud.

RRR koondab robootikahuvilisi põhikooliõpilasi Tallinna erinevatest koolidest. Reaalkoolist osales RoboMiku võistlusel Rando Tõnso (8.klass), Rao Zvorovski (9.klass) Timo Loomets (8.klass). Lisaks nendele kuulusid võistkonda Jaan Roop Nõmme Põhikoolist ning Peter Alex Mahhov ja Ramses Sepp 21. Koolist.

Alade kaupa tahan esile tõsta järgmiseid nimed: Jaan osales pea kõikide robotite ehitamisel, kuid tema lemmik on sumo robot, Timo oli samuti väga tugev sumoroboti operaator ning koos Jaani ja Ramsesega aitas multifilmi animatsiooni jaoks pilte luua, Rando panustas olulisel määral joonejärgija roboti programmi algoritmile ning roboti häälestamisele, Ramses tegi linnaläbija roboti programmi ning testis ja viimistles selle võidu vääriliseks, Rao oli hõivatud kõige enam programmeerimist nõudva alaga – animeeritud multifilmi loomisega, milleks sel aastal oli kolm põrsakest.

RoboMiku konkursi eesmärk on äratada reaalteaduslikku ning insenertehnilist huvi üldhariduskoolide õpilaste hulgas.

Eesti Parima Robootikakooli nime kannab MTÜ Robootika poolt välja antav rändkarikas, mille saab omale kool, mis on osalenud Eesti robootika võistlustel ja näidanud seal parimaid tulemusi. Nelja ala võistlustulemustest moodustub koondpingerida, mille alusel leitakse karika saaja Rändkarikas on suurim tunnustus Eesti koolirobootika maastikul, mida võiks ihaldada iga robootikaga tegelev kool ja mille tiitli kaitsmine on väljakutse igale võitjale.

Võistluse lühiülevaade TV3-e vahendusel: http://www.tv3play.ee/sisu/seitsmesed-uudised-2014/383559?autostart=true

Uudis Tartu Postimehes: http://tartu.postimees.ee/2767530/noored-robootikud-panid-mangu-koik-oskused 

Võistluse info: http://robootika.ee/index.php/RoboMiku_lahing_ja_Jr.FLL

Õpetajate leht, Koolielu, Kiip.ee, ERR haridusuudised

TallinnCity käis meiega lugu tegemas: http://tallinncity.postimees.ee/2776680/robootikakooli-poisid-naitasid-robotite-linnasoitu-ja-sumomatsi

Täiendav info:
Leivo Sepp
Robootika.COM juhendaja