Adafruit Circuit Playground Express Ulkoiset LEDit ja moottorit Sini Riikonen, sini.riikonen@helsinki.fi 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 1
Yleistä Circuit Playground Expressin kytkennöistä Kytkentäpaikat 1. Levyssä on kahdeksan ulkoisille laitteilla tarkoitettua kytkentäpaikkaa. Nämä kytkentäpaikat on levyssä merkitty tunnisteilla A0-A7. Huom! A0-kytkentäpaikkaa kannattaa käyttää vain audiokytkennöissä, koska siitä on suora yhteys levyn mikrofoniin. Virransyöttö 2. Kytkennöissä tarvitaan lisäksi virransyöttö ja maakytkentäpaikkoja: GND eli maa (samaan kytkentäpaikkaan voi kytkeä useampia johtimia) 3.3V eli 3,3 voltin jännitteelle säädety virransyöttö (noin 300mA- 450mA) VOUT on suora virransyöttö korkeimman jännitteen antavalta virtalähteeltä (max 500mA jatkuva ja 1A hetkellinen virta) 1. 2. Kytkentätavat 3. Kytkentöjä voidaan tehdä juottamalla, ompelemalla, hauenleuoilla (kuvassa) tai esimerkiksi johtavilla teipeillä. Huom! Hauenleukoja kannattaa käyttää kaikkien kytkentöjen testaamiseen ennen kiinteän kytkennän tekemistä. Huom! Jos käytät suojaamattomia johtimia suunnittele kytkennät niin, etteivät johtimet kulje toistensa yli siten, että syntyy oikosulku. 3. 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 2
Ulkoiset LEDit 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 3
Yksinkertaiset LEDit Yksinkertaisissa LEDeissä on ainoastaan kaksi kytkentäpaikkaa + ja + kytketään mihin tahansa kytkentäpaikoista A1-A7 - kytketään mihin tahansa GND kytkentäpaikkaan 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 4
Yksinkertaisten LEDien ohjelmointi Microsoft MakeCodella Yksinkertaiset LEDit kytketään ainoastaan virransyöttöön Ohjelmointi tapahtuu kontrolloimalla virransyöttöä PINS-valikon alta löytyvän digital write pin -blokin avulla. Valitse käyttämäsi kytkentäpaikka HIGH-asennossa ledi palaa LOW-asennossa ledi on pois päältä Viereisessä esimerkissä ledi on asetettu vilkkumaan 200ms intervalleissa. 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 5
NeoPixel RGB-LEDit NeoPixel ledit ovat ohjelmoitavia RGB-ledejä. 2. Ne voidaan ohjelmoida toistamaan mikä tahansa väri, joka on toistettavissa valolla. Esimerkiksi musta ei ole tällainen väri. Niiden kirkkautta voidaan säätää. Hyvin himmeinä ledien värintoistokyky heikkenee. Levyyn voi kytkeä yksittäisiä ledejä ja lediketjuja. Lediketjuja on saatavana valmiina mm. nauhojen, renkaiden ja matriisien muodossa. 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 6
NeoPixel RGB-LEDien kytkennät Yksinkertaisista ledeistä poiketen RGB-ledien kytkennässä tarvitaan kolmea johdinta. Kahta johdinta käytetään virransyöttöön ja yhtä datan kuljettamiseen. Yhden ledin kytkentä: - kytketään GND-kytkentäpaikkaan + kytketään VOUT-kytkentäpaikkaan Useampien ledien kytkentä nauhaan: - kytketään seuraavan ledin - -kytkentäpaikkaan + kytketään seuraavan ledin + -kytkentäpaikkaan Nuoli ulos kytketään seuraavan ledin ledin sisään osoittavaan nuoleen. Nuoli sisään kytketään haluamaasi kytkentäpaikkaan (huomaa numero) 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 7
Huomioitavaa LEDien kytkennöistä GND- ja VOUT-kytkentäpaikkoihin voidaan kytkeä useampia johtimia. RGB-ledejä kytkettäessä virtajohtimia voidaan kuljettaa yhtenäisinä. Dataa kuljettava (edellisen dian kuvissa keltainen) johdin tulee kulkea vain ledien kytkentäpaikkojen välillä. Jos samaan Circuit Playground Expressiin kytketään paljon ledejä, kannattaa laskea, että levy tai käytössä oleva virtalähde ei ylikuormitu. Yleensä nyrkkisääntönä voidaan pitää, että yksi NeoPixel-ledi käyttää 20mA virtaa. Maksimaalisella kirkkaudella yksi ledi käyttää 60mA. Virrantarve Ampeereina voidaan laskea kaavalla: Pikselien määrä X 20mA / 1000 Esimerkiksi 20 pikseliä tarvitsee vähintään 20 X 20mA / 1000 = 0,4A LiPo akut eivät saa tyhjentyä liian nopeasti. Yhden akun tulisi kestää käytössä ainakin pari tuntia. Akun kapasiteetti tarkoittaa milliampeereita tunnissa. Esim. 500mA kykenee tuottamaan 0,5A virtaa yhden tunnin ajan. Edellisen esimerkin kytkennälle tämä akku olisi liian pieni. Tässä tapauksessa kannattaisi valita vähintään 1000mAh akku, joka siis kykenisi tuottamaan 1A virtaa tunnin ajan, eli 0,4A virtaa kahden ja puolen tunnin ajan. 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 8
NeoPixel RGB-LEDien ohjelmointi MakeCodella NeoPixeleitä ohjelmoidaan strip -komennoilla. Ohjelmointi tapahtuu samanlaisilla blokeilla kuin levyn sisäisten ledien ohjelmointi. Komennot löytyvät MakeCodessa LIGHT-valikon alle aukeavasta NEOPIXEL-alavalikosta. Strip pitää ensin luoda, ennen kuin sitä voidaan ohjelmoida. Luomalla uusi muuttuja, voidaan sille antaa mikä tahansa muu nimi kuin strip. Nimi valitaan muuttujan luomisen jälkeen set strip blokissa strip-kohdan alavalikosta. Kuvan esimerkissä on ensin määrritelty kytkentäpaikkaan A1 kolmen ledin pituinen ledinauha. Tämän jälkeen levy on ohjelmoitu toistuvasti asettamaan kaikki nauhan pikselit ensin punaisiksi ja sitten 200ms jälkeen ensimmäinen pikseli keltaiseksi, toinen siniseksi ja kolmas vihreäksi 200ms ajaksi. 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 9
Moottorit 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 10
Yleistä moottoreista Yleisimpiä Circuit Playground Expressin kanssa käytettäviä moottoreita ovat pienet nk. servomoottorit. Servomoottoreita on olemassa kahta eri tyyppiä: Asentoservoja, jotka liikkuvat kahden eri ääripisteen välillä. Useimmiten 180 asteen liikeradalla. Ympäripyöriviä servoja, jotka nimensä mukaisesti pyörivät ympäri. Circuit Playground Expressin kanssa voidaan käyttää myös nk. DC-moottoreita, mutta näiden vaatiman jatkuvan virransyötön takia on niiden kytkennässä erittäin suositeltavaa käyttää Crickitlisälevyä. Suurempien moottoreiden kanssa, esimerkiksi robotiikassa, kannattaa aina käyttää Crickit-levyä moottorityypistä riippumatta. 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 11
Servomoottorien kytkentä Kytkennät on helppo tehdä siihen tarkoitetuilla piikkipäisillä hauenleuoilla Moottorista tuleva punainen johdin kytketään Voutkytkentäpaikkaan Moottorista tuleva musta tai ruskea johdin kytketään GND-kytkentäpaikkaan Moottorista tuleva keltainen johdin kytketään mihin tahansa A1-A7 kytkentäpaikoista. 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 12
Servojen ohjelmointi Microsoft MakeCodella Servojen ohjelmointi on helppoa! Servo-komennot löytyvät PINS-valikon alta. Asentoservolle annetaan astemäärä, johon sen halutaan liikkuvan. Asentoja on helppo hahmottaa astelevyn avulla. Vapaasti pyörivän servon ohjaaminen tehdään samalla periaatteella. Yleensä 90 on seis, 180 on täyttä vauhtia eteen ja 0 on täyttä vauhtia taakse. Tutki ja kokeile kuvan koodia. Miten koodi toimii asentoservon kanssa? Miten koodi toimii ympäripyörivän servon kanssa? Mihin koodissa tarvitaan pause-blokkeja? 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 13
Servojen ohjelmointi Microsoft MakeCodella Robotiikassa on usein hyödyllistä käyttää CRICKIT-lisälevyä. Se mahdollistaa korkeamman jatkuvan virransyötön sekä verkkovirran käyttämisen virtalähteenä. CRICKIT-levyllä voidaan ohjata sekä servo-, että DC-moottoreita. Samanaikaisesti voidaan ohjata joko neljää servoa tai kahta DC-moottoria. Kytkennät tehdään levyn nimettyihin paikkoihin kuvan osoittamalla tavalla. Servot voidaan liittää suoraan niissä useimmiten mukana olevilla liittimillä. 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 14
Moottorien ohjaus CRICKIT-levyn kanssa Microsoft MakeCodella 1. 2. CRICKIT-komennot saa näkyviin valitsemalla EXTENSIONS-valikosta CRICKIT-lisäosa. Esimerkkejä DC-moottorien ohjelmoinnista: Kytkentäpaikkaan 1 kytketty moottori pyörii jatkuvasti puolella nopeudella. 1. 2. 3. 4. Nappia A painettaessa moottori lähtee pyörimään täyttä vauhtia. Moottori pysähtyy nappia B painamalla. Moottorin suuntaa vaihdetaan liukukytkimellä. 3. 4. 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 15
Linkkejä Adafruit: https://www.adafruit.com/ Microsoft MakeCode: https://makecode.adafruit.com Circuit Playground Express dokumentaatio: https://makecode.adafruit.com/docs 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 16