Opi rakentamaan itse keksimiäsi prototyyppejä: robotteja, varashälyttimiä, kauko-ohjaimia…
Tämä loppukevään toteutus alkaa maaliskuussa 2013. Aiempi toteutus alkaa tammikuussa.
Opit lukemaan tietoa sensoreilta (etäisyys, valo, kallistus…). Mikrokontrolleri voi ohjata tiedon perusteella laitteita (moottoreita, servoja, valoja). Ja tietysti kokonaisuuden voi yhdistää tietokoneeseen ja sitä kautta nettiin.
Tällä kurssilla ei kolvata vilkkuvia joulukuusia rakennussarjoista. Tarkoitus on rakentaa laitteita, jotka olet itse keksinyt.
Esitiedot (kertaa nämä): Ohjelmoinnin alkeet: muuttujan arvon asettaminen, suortusjärjestys, if-then-else, for, funktio. Linux: asennus, komentokehote, apt.
Kurssikirja
Karvinen 2011: Make Arduino Bots and Gadgets Vaihtoehtoisesti soveltaen voi käyttää myös Karvinen 2010: Sulautetut – Opi rakentamaan robotteja ja muita sulautettuja järjestelmiä.
Aikataulu
w13 Hello Arduino World (1, 2)
w14 (Toinen pääsiäispäivä 2012-04-01) Luetaan sensoreita (3)
w15 Sensoreita (3, 4)
w16 Yhteydet suureen maailmaan (5, 7)
w17 Liikettä, liikettä (8)
w18 Projektien käynnistys
w19 Projektin viimeistelyä
w20 Projektien esittely
Suluissa läksynä olevat “Make Arduino Bots” luvut. Aikatauluun tulee muutoksia tarpeen mukaan kurssin edistyessä.
Opetus 2p ajan maanantaisin 10:00 – 13:45 labrassa h5001 Pasilassa. Erityisesti projektien esittelyssä on tärkeää olla seuraamassa kaikkia esityksiä.
Linkkejä
Moodle-sivu (vaatii kirjautumisen)
Opinto-opas: Prototyypin rakentaminen
Vanhoja kurssisivuja ja edellisellä nimellä Sulautetun järjestelmän rakentaminen ict8td006-1 2008w43
Briefly in English
Arduino course, learn to design and build prototypes. Seven easy lessons. Robots and other embedded systems. Getting started right now? Read my book Make Arduino Bots and Gadgets.
$ setxkbmap fi
$ sudo apt-get update
$ sudo apt-get install arduino
$ sudo adduser xubuntu dialout
$ newgrp dialout
$ arduino
Projektin aihe:
Laite, joka kiinnitetään kämmenselkään. Käden ollessa väärin tietyssä kohdassa tanssia (esim. kämmenet ylöspäin kun pitäisi olla alaspäin), laite antaa sähköiskun, tärisee tai jotain vastaavaa.
Projekti-ideani:
Ilmakuvausquadkopteri. Minimitavoitteena on rakentaa Arduinolla toimiva, videokameran kannatteluun kykenevä quadkopteri. Resurssien salliessa quadkopterille luodaan edellytykset laskeutua täysin automatisoidusti. Quadkopteria voidaan käyttää esimerkiksi musiikkivideoiden ilmakuvausvälineenä helikopterin sijaan, ja sen etuna on alhainen melutaso, pieni koko sekä tietysti pienemmät käyttö- ja hankintakustannukset. Projektiin pääsee toistaiseksi mukaan, mutta se on teknisesti melko haastava.
Quadkopterilla kuvattua materiaalia referenssiksi: http://www.youtube.com/watch?v=TRYwC0ZIzqI
(Interaktiivinen) Informaatio Pingviini
Pehmolelu pingviini joka tarjoaa erinäisiä tietoja siihen liitetyistä (linux)järjestelmistä.
Informaatio välitetään käyttäjälle äänellä, näytöillä ja mahdollisesti muilla visuaalisilla keinoilla
Järjestelmä koostuu kahdesta komponentista itse pingiinistä ja tietokoneella ajettavasta sovelluksesta.
Tietokoneella ajettava sovellus lukisi lähinnä /proc sekä /var/log alla olevia tiedostoja.
Näistä kerättyjen tietojen perusteella pingviini reagoi esim. puhumalla.
Toiminnallisuuksia lisätään sitä mukaan kun projekti etenee.
Kauko-ohjattava pyörillä liikkuva robotti, joka mittaa etäisyyksiä esteisiin ja välittää niistä langattomasti tiedot tietokoneelle. Tietokoneohjelma piirtää esineistä 2D kartan, jonka perusteella robottia voi ohjata sokkona näkemättä laitetta.
Projekti-idea:
Suunnitelmanamme on tehdä papukaija-figuuri, joka toistaa sille sanotun lauseen. Ideana on tehdä mekaaninen hahmo, jonka sisällä on mikrofoni ja kaiutin. Äänite tellentuu muistilaitteelle, jonka jälkeen papukaija toistaa sanottua lausetta muistista aina, kun buttonia painetaan. Kun uusi lause äänitetään, vanha “unohtuu” ja papukaija toistaa uutta lausetta.
Olisi vielä hienoa, jos papukaija heiluttaisi siipiään puhuessaan.
Koulun viidennen kerroksen käytävällä olevan vanhan tietokoneen ledinäyttöön jotakin hauskaa. Esimerkiksi binääreillä näytettäviä lukuja tms.
Esimerkki kuinka 5:llä led valolla pystyy laskemaan binäärien avulla luvut 1-31: http://santerifriman.wordpress.com/2013/03/28/binary-counter-from-1-to-35-with-5-led-lights/
Läksy 2:
Ohjaa servoa eri tavoilla: servo.h, suoraan digitalWrite(HIGH) ja LOW.
Kirjoita sarjaportin monitorille (serial monitor) viestejä.
Vaikeampaa: Jos osaat, etsi lainaamasi servon täsmälliset pulssin pituudet ääriasennoille (+90 deg, -90 deg) ja keskikohdalle (0 deg).
Etsi omaperäinen Arduino-projekti ja kuvaile se lyhyesti. (Myös muu alusta kelpaa, kunhan se vuorovaikuttaa fyysisen ympäristön kanssa). Tästä viimeisestä kohdasta pelkkä raportointi riittää, eli ei tarvitse rakentaa kyseistä projektia. Vastaukseen: mitä se tekee (yksi lause, josta mummokin ymmärtää), miten se on toteutettu, miten voisi vielä parantaa.
Muista viitata lähteisiin ja laittaa omakin nimesi näkyviin.
Anturoitu Arduino – läksy 3. Laita jokin sensori toimimaan Arduinolla. Tee miniprojekti, jossa on sensori. Varaa projekti-ideasi kommenttina aikataulun perään.
aikataulunäyttö kotiin. näyttää kyseisen ajan ja seuraavan lähtevän julkisen yhteyden lähimmältä pysäkiltä. voidaan aktivoida jollain sensorilla.
Projektin aiheena on alustavasti tehdä Arduino Leonardoa käyttäen apuväline tietokoneen käyttöä varten. Ohjain tulee olemaan joystick, joka mahdollistaa käyttämisen ns. tökkimällä eikä vaadi puristusotetta käyttäjältä. Ja jos kaikki sujuu hyvin ja kurssin aikataulu riittää niin tämä vielä sulautetaan jo olemassa olevaan ohjaimeen, jolloin käyttäjän ei tarvi uusia koko järjestelmää.
Mahdollisia lisätoiminnallisuuksia suunnitellaan ja tehdään aikataulun puitteissa.
Uusi idea: Lämpötila- ja kosteusmittari mökille,joka tallentaa tietoja SD-kortille. Tiedot voi lukea kännykällä Bluetoothin välityksellä.
Projekti-idea: Varashälytin kotiin jossa yhdistellään erilaisia sensoreita (liiketunnistimet, ovi- ja ikkunakytkimet). Tarkoitus toimia myös kulunvalvontana kun hälytin voidaan kytkeä RFID-tunnistinnapilla ja kulku kirjataan muistiin.
Läksy: Sarjaportista maailmaan. a) Lue tietokoneella Arduinon lähettämää tietoa. b) kirjoita Arduinolle tietokoneelta c) Tee tietokoneelle ohjelma, joka laittaa ledin Arduinolta päälle ja pois d) (vaikeampi) Lue sensorin tietoja tietokoneelle Arduinolta.
Läksy: Projektin aihe-ehdotus. Käsiteltävät asiat: *nimi *yhden virkkeen kuvaus *projektiryhmä *kuvaus toiminnasta *tarvittavat osat ja tekniikat *samantapaiset olemassaolevat projektit *julkaiseminen *alustava aikataulu.
Lukuläksy: 5. Interaktiivinen taulu. Kertaa “Make Arduino Bots” luvut 3, 4.
Projekti idea. Tehä sensorilla toimiva liiketunnistin, jolla voi ohjata tietokoneen ohjelmia (tos. näk valokuvien esitystä). Helpottaa kun kone on kiinni toisessa näytössä
Arduino matopeli projekti
Vaakatasossa pysyvä pöytä
http://myy.haaga-helia.fi/~a1100297/prototyypin_rakentaminen/projekti/pr_projekti.html
Tanssihansikas by Krister Holmström & Sami Nisonen:
http://kristerholmstrom.wordpress.com/2013/05/06/tanssiharjoitushansikas/
WakeWake herätyskello by Iiro Nurmi & Aicha Haidara:
WakeWake Herätyskello (Iiro Nurmi)
WakeWake Herätyskello (Aicha Haidara)
Projektimme oli herätyskello, joka tunnistaa onko herätettvä henkilö noussut sängystä. Jos herätettävä ei nouse tai menee takaisin sänkyyn herätyskellon ollessa vielä aktiivinen, hälyttää kello edelleen.
Linux/Unix järjestelmistä kerätään tietota jotka tulostetaan st7920_datadisplay näytölle. Lähdekoodi löytyy osoitteesta https://github.com/lahemi/assigncodement/tree/master/Arduino/st7920_datadisplay
Pikachu-translaattori/lelu
http://adejasoffi.wordpress.com/2013/05/11/projektin-uudistus-ja-loppuraportti/
Opin paljon Arduinosta ja sen toiminnoista. Minulle heräsi paljon inspiraatiota uusille projekteille. Kurssilla voitaisiin käsitellä enemmän yhdessä Arduinon käyttöä ja C++:n käyttöä. Meni aika paljon aikaa tiedon etsimiseen ja ymmärtämiseen. Mieluisin kohta oli rakentaa prototyyppi ja sen esittely muille. Suosittelisin kurssia kaikille, jotka ovat luovia ja aiheista kiinnostuneita.
Kurssi oli erittäin mielenkiintoinen, mutta aikaa oli liian vähän. Projektin tekeminen olisi ollut mielekkäämpää, sekä lopputulos ja oppimiskokemus olisi ollut parempia, jos kurssi olisi ollut esim. 6 opintopisteen mittainen. Aikaa itse projektin tekemiselle jäi loppujen lopuksi aika vähän. Tilanteeseen tietenkin vaikutti samaan aikaan olleet muut kurssit ja niiden projektit.
Kurssi muuten oli ehdottoman timanttista tero-laatua. Suosittelen.
Kurssi on ok. Oppi Arduinon käytön ja oli mukava saada projekti etenemään lähes toimivaan versioon. Välillä koki ettei saanut kysymyksiin vastauksia ja moni asia jäi hämärän peittoon. Hyödyllinen kurssi tulevaisuudessa rakennettavien prototyyppien kannalta.
Kurssi oli todella mielenkiintoinen. Ostin Arduinon ja kasan komponentteja. Niille tulee tulevaisuudessakin käyttöä. Arduino-kurssin myötä minulle syntyi idea paristakin kaupallisesti potentiaalisesta tuotteesta, joita en kuitenkaan kyennyt kurssin aikana toteuttamaan aikataulusyistä johtuen.
Aikataulu olikin kurssin ehdottomasti suurin ongelma. Vika ei varsinaisesti ollut liian nopeassa etenemisessä vaan enemmänkin siinä, että kurssin opintopistemäärä ja suoritusaika (kuukausina) tulisi olla pidempi. Kiinnostavaan aiheeseen ei ehtinyt paneutua, minkä lisäksi kirjat ja osat saapuivat suurin piirtein viikko ennen kurssin loppua, vaikka ne pisti tilaukseen kurssin alun yhteydessä.
Tähän on olemassa monia purkkaratkaisuja, kuten laittaa kirja tilaukseen vuosi ennen kurssin alkua. Kaikki on mahdollista, muttei aina kätevää tai kaikkien osapuolten kannalta fiksua. Ad hoc -ratkaisujen sijaan ehdottaisin kurssin pidentämistä lukukauden mittaiseksi. Ei haittaisi, vaikka samalla tuntimäärä ja opintopisteet tuplautuisivat.
Ainiin, iso plussa siitä, ettei kurssilla koodattu javaa vaan jotain ihan oikeasti käyttökelpoista kieltä.
Kurssilla opin ymmärtämään että ulkoa monimutkaisen näköiset laitteet voivat olla varsin yksinkertaisia sisältä. On helppoa jatkossa tarkastella eri tuotteita, jotka sisältävät erilaisia sensoreita kun on niitä myös itse käyttänyt.
Miinusta lähinnä sähköpuoleen liittyvästä opiskelusta, sillä se kuitenkin liittyi arduinoon mielestäni läheisesti ja välillä tuntui, että oletuksena tulisi jo valmiiksi ymmärtää melko paljon ja tämä tuotti itselleni hieman vaikeuksia kurssin aikana
Kurssille arvosana: 4
Kiinnostava kurssi joka antaa hyvät alkeet Arduino projektien tekemiseen. Kurssista tuli selkeä kuva mitä kaikkea Arduinolla voi tehdä. Uskallan jopa suositella kurssia niille joilla on ei ole mitään koodaus osaamista. Arduinolle koodaaminen on loogista ja helppoa.
Loistava perehdytys Arduinon maailmaan.
Erittäin hyvä kurssi. En tiennyt Arduinosta mitään ennen kurssia ja yllätyin kuinka helppoa sulautettujen laitteiden teko on. Opetustahti oli sopiva ja kotitehtävät tarpeeksi haastavia. Suosittelesin kurssia muillekin. 5+.
Osaamiseni ja tietoni kurssille sulautetuista järjestelmistä oli täysin 0.
Kurssin aikana opin hyvin paljon uutta asiaa sekä kiinnostuin suuresti Arduinosta ja siihen liittyvistä mahdollisuuksista. Uskon että tulen hyötymään tulevaisuudessa paljon kurssilla oppimista taidoista.
Kurssi ei kuitenkaan ollut täydellinen. Kolmen opintopisteen kurssiksi työtä oli hieman liikaa. Monista tärkeistäkin asioista, kuten pythonin käytöstä, käytiin vain pintaraapaisu ja ainakin minulle moni asia jäi epäselväksi. Vaikka samaa tietoa saa internetistä, se on tavalliselle tallaajalle, kuten minulle, välillä liian vaikeaa ymmärtää tai hahmottaa täydellisesti. Esimerkiksi kytkennöistä, resistoreista, transistoreista ja muista kytkentöjen välikappaleista olisi voinut kertoa enemmän tai paremmin.
Myös vastaukset oppilaiden kysymyksiin olisi ajoittain voinut olla parempia. On paljon mukavampi saada kattavampi opettajan selittämä vastaus kuin “katso datasheetistä”. Ei kaikkien komponenttien toimintaa voikaan osata ulkoa, mutta pintapuolinen tutustuminen ja eteenpäin ohjauskin helpottaisi huomattavasti.
Aion hyödyntää kurssilla oppimiani taitoja tulevaisuudessa rakentamalla kivoja härveleitä mitä aikasemmin ostaisin paljon kalliimmalla kaupasta. Jos keksin niille kaupallista käyttöä, aion tehdä sen.
Demopäivä oli erittäin mielenkiintoinen ja oli mukava nähdä muiden opiskelijoiden kekseliäitä projekteja.
Ehdottomasti suosittelen ystävilleni!
Arvosana 3.5/5
Opin paljon kurssilta, sillä aloitin aivan nollatasolta arduinon kanssa.
Tästä hyödyin esimerkiksi uuden ohjelmistokielen oppimisella (perusteita).
Aion luultavasti väsätä arduinon kanssa jatkossakin, joten taidot hyödyksi.
Kurssi oli osaltani, ehkä ajoittain liian haastava. Haasteellisuus syntyi, kun peruskäsitteet jäivät itseopiskelun varaan. Olisin toivonut enemmän perustietoihin pureutumista, niin aihe olisi avautunut paremmin ja olisin mahdollisesti pystynyt tekemään monimutkaisempia asioita. Osittain kurssilla minulle tuli olo, että kyllä osaisin, jos asia olisi vain selitetty minulle helpommin. Kurssissa tietenkin tuli vastaan kurssin nopea tempo ja kun osia ei kuulunut jäi tekeminen viimeisille viikoille.
Demopäivä oli kaiken huipentuma ja tietenkin oli mielenkiintoista nähdä mitä muut olivat saaneet aikaan.
Suosittelen kurssia kaikille, mutta kannattaa olla perustaitoja arduinon kanssa.
Pidän aina käytännöläheisestä tavastasi opettaa, et opeta taitoja, mitä et todellisuudessa tule koskaan tarvitsemaan. Osaat vinkata opiskelijalle tarpeelliset tiedot ja mitä todella tulee tarvitsemaan.
Kurssi oli hauska ja se toi vaihtelua peruskoulunkäyntiin. Käytännön taidot kunniaan!
Kurssi oli tunnetusti työntäyteinen, mutta erittäin mielenkiintoinen. Kurssin projektin kanssa tuli hieman kiire kun laittoin arduinon tilaukseen vasta viikko kurssin alkamisesta, joten suosittelen tilaamaan arduinon ja muut komponentit heti.
Onnistunut kurssi kaikin puolin, perusteista pääsi projektin kautta heti haastavampien ongelmien kimppuun, varsinkin näin Java-ohjelmoijataustaisena C/C++ perusteet avautui todella nopeasti. Voin helposti suositella kurssia eteenpäin ihan jo arduinokokemuksen puolesta.
The course is a wonderful way to get lost in the world of C/C++ programming, with a concrete and tangible results, with suprisingly little effort. You just hack away with Arduino, until some day you realize you’re writing C without actually having had to study it.
For future courses, I think it’d be worthwhile if some way to include Raspberry Pi were found.
#include
const int Arvosana = 5+;
/*
Kurssi oli erittäin hyvä ja mielenkiintoinen. En tiennyt arduinosta mitään, mutta nyt tiedän ja en varmasti lopeta arduinon kanssa puuhamista tähän.*/
void loop()
{
Serial.println(“Tero on paras”);
delay(15);
}
}
Ja kurssin lähtötaso on kyllä kaikille sopiva, ainakin jos ohjelmointi-kurssi on meneillään tai jo suoritettuna. Opin kurssilla paljon lisää ohjelmoinnista ja prototyyppien rakentamisesta.
Ottaen huomioon, että omat lähtötietoni Arduinosta olivat suhteellisen nollassa, kurssin aikana uutta tietoa ja oppimista on tullut valtavasti. Tämä on tietenkin ollut positiivinen asia ja siksi olenkin äärimmäisen iloinen osallistumisestani kurssille.
En koe, että kurssin asiasisältö olisi ollut ylitsepääsemättömän hankalaa tai vaikeasti opittavaa, mutta oppimisvastuu oli kyllä suuresti opiskelijalla. Toisaalta ihan jees – parhaitenhan sitä oppii, kun itse kokeilee -, mutta toisinaan tunneilla heräsivät “häh?”-fiilikset. Opiskelijoiden osaamistaso oli toki erilainen, joten sinänsä ymmärrettävää. Onneksi internetistä löytyi paljon tietoa ja hyviä ja selkeitä ohjeita.
Opin kurssin aikana valtavasti. Ensimmäinen prjektisuunnitelma pakotti opettelemaan python-koodia, mikä oli minulle erityisen hyödyllistä, sillä tietoni siltä saralta olivat minimaaliset. Lopullinen projekti sen sijaan oli oikeaa oppimisen ja kurssin aikana opitun riemulaulua, sillä käytännössä kaikki siihen sisältynyt olisi ollut minulle mysteeri vielä pari kuukautta sitten. Tuntui, että uusia asioita oli paljon, mutta olen erityisen iloinen, että niitä päästiin hyödyntämään ja huomaamaan, että “Hei, minäkin osaan!” Tämä on muutenkin mielestäni kurssin hienoin piirre: projektin onnistumisen tuottama ilo on äärimmäisen arvokasta opiskelijoille. Vaikka stressiä aikataulusta ja toiminnasta saattaa olla paljon, tyytyväisyys lopussa korvaa kyllä kaiken.
Hyvää opetuksessa oli selkeä kokemuksen hyödyntäminen. Alusta asti kerrottiin vinkkejä perustuen aiempien kurssien kokemuksiin (mm. ajankäyttö- ja aikataulutointivinkki olisi kannattanut kyllä hyödyntää!) Opetus oli myös innostavaa ja kurssin ilmapiiri positiivinen, siitä pisteitä.
Miinuksena voisin todeta, että mielestäni kurssi olisi parempi järjestää esimerkiksi puolen vuoden kurssina, sillä tällä aikataululla tosiaan tuli kiire. Uutta asiaa oli paljon ja ne tulivat tiiviissä tahdissa, joten laajemmalle aikajaksolle toteutettuna asioiden omaksumista ja omaa testailua olisi saattanut ehtiä harrastaa enemmän. Ja kuten jo sanoin, toisinaan asiat oli vaikea ymmärtää pelkän tunnilla kerrotun perusteella: opiskelijan oma vastuu oppimisesta jäi siis isoksi.
Suosittelisin kurssia ehdottomasti muille opiskelijoille: sain itse siitä hirmuisesti irti. Projektin tekemisen ja onnistumisen riemu oli kyllä ehdottomasti kaiken arvoista! 🙂
Opin kurssin aikana paljon uutta ja hyödyllistä asiaa. Innostuin niinkin paljon, että laitoin heti dx.com:sta tilaukseen Arduino sensor packin ja muutamia servoja sekä muuta kivaa 🙂 Suunnittelin, että tekisin kauko-ohjattavan pikkuauton, heti kun saan tilaamani osat. Ideoita tuli myös moniin muihinkin projekteihin.
Olisi ollut mukava, että kurssi olisi pidempi esim. puoli vuotta, jotta ehtisi tutustua Arduinoon kunnolla ja saisi tehtyä isomman projektin. Kurssin aihe oli erittäin kiinnostava ja oli hauska huomata, ettei sulautettujen kasaaminen ollut vaikeaa. Suosittelen kurssia kaikille!
Hyödyllinen kurssi. Kurssilla aloitettu projekti jäi kesken, joten jatkan tanssihansikkaan parissa työskentelyä kesällä.
Kurssi oli todella mielenkiintoinen ja informatiivinen, aikaisemmin minulle ei tullut mieleenkään että esimerkiksi kommunikointi tietokoneen kanssa sarjaportin yli olisi edes mahdollista Arduinolla! Aion jatkossakin tehdä kaikenlaisia projekteja tämän aiheen parissa ja varmasti blogatakin aiheesta.
Demotilaisuus oli minusta kiva kun pääsi näkemään mitä muut olivat tehneet, antaa palautetta ja kehitysehdotuksia, ennen kaikkea rennossa ilmapiirissä. Pääsin myös tutustumaan muihin samoista asioista kiinnostuneita ropelihattuja kurssin aikana. Arvosana kurssille täysi vitonen 🙂
Varashälytin Arduinolla jossa sähköposti-ilmoitukset:
http://www.junni.org/category/projektit/arduino/arduino-varashalytin/