Materiaali 13.03.2020

Retropuhelimia ja mikrokontrollereja – Osa 1: micro:bit

Tästä lähtee Verken maker-velhon Juhan materiaalisarja, jossa värkkäillään vanhasta uutta. Yksi Juhan lempiprojekteista on viime aikoina ollut vanhojen lankapuhelimien käyttö ohjelmoinnin ja mikrokontrollereiden käytön kouluttamisessa nuoriso-ohjaajille. Mihin tätä voi hyödyntää? Miten koko temppu tehdään? Tästä pääset seuraamaan rakentelua, mutta huomioithan, että tämä ei ole varsinainen step-by-step tutoriaali jo siksi, että moni puhelin vaatii osittain omat temppunsa toimiakseen.

Olen vetänyt sekä Suomessa että kansainvälisissä ympyröissä nuoriso-ohjaajille useita työpajoja maker-toiminnan perusteista, ja olin itsekin aluksi yllättynyt siitä, miten paljon vanhojen lankapuhelimien hyödyntäminen maker-toiminnassa vetoaa. Asiaa pähkittyäni ymmärrän sen toisaalta hyvin; tässä yhdistyy hienosti mekaanisen teknologian hyödyntäminen, kestävä kehitys (kaikki puhelimet on käytännössä hommattava kierrätyskeskuksesta tai kirpputoreilta) ja luova, leikkimielinen ja helposti lähestyttävä teknologiakasvatus. On myös huikea vetää työpajaa ja nähdä koulutettavien ilmeet, kun heille kertoo, että he saavat purkaa osiin vanhan lankapuhelimen! Melko moni meistä olisi halunnut niin nuorempana tehdä, mutta siihen ei jostain kumman syystä olisi herunut lupaa..

Miksi vanhojen puhelimien kanssa puuhailu vetoaa?

Ilmeisen nostalgian nälän täyttämisen lisäksi on muutamia syitä, miksi lankapuhelimet toimivat koulutuskäytössä hyvin. Ensinnäkin puhelimet ovat yksinkertaisia ja siten helppoja ymmärtää; joka puhelimesta löytyy valintakiekko, jonka sisällä on yksinkertainen mekaaninen kytkin, joka avautuu ja sulkeutuu, kun kiekkoa pyörittää. Jos kuulet nyt päässäsi juuri sen tunnistettavan nakuttavan äänen, olet oikeilla jäljillä! Tässä mielessä vanhemmat (noin 70-luvun loppua edeltäneet) puhelimet ovat turvallisimpia valintoja, sillä kun siirrytään paineltaviin nappeihin menee touhu astetta monimutkaisemmaksi.

Hehän ovat kuin kaksi marjaa, mutta eivät aivan – huomaatko eron? Oikeanpuoleisessa puhelimessa valintakiekon numerot ovat eri järjestyksessä, joka tekee ohjelmoinnista haastavampaa.

Valintakiekon lisäksi puhelimessa on helposti saatavilla muutama muukin kytkentä: yksi mekaaninen kytkin löytyy tunnistamaan onko luuri laskettu vai ylhäällä. Lisäksi puhelimessa on yksi kaiutin ja yksi mikrofoni, jotka ovat helposti saatavilla.

Olen myös huomannut, että käyttämällä puhelimia työpajan koulutusvälineenä osallistujat usein motivoituvat paremmin käyttämään myös mikrokontrollereja, kun ne eivät ole koulutuksessa läsnä vain irrallisina uusina ”teknisinä härpättiminä”. Tutun välineen käyttö laskee merkittävästi kynnystä myös uudempaan teknologiaan tarttumiselle.

Puhelimien yksinkertainen, mekaaninen rakenne auttaa merkittävästi myös ohjelmointipuolessa. Kaikki puhelimen kytkimet ovat mallia päällä tai pois, eli virtapiiri on auki tai kiinni. Muita esimerkkejä voisivat olla vaikka ovikellon nappi (pohjassa / ylhäällä) tai makeymakeyn banaanipiano (banaania läpäyttämällä suljet virtapiirin). Auki tai kiinni oleva yksinkertainen virtapiiri on erittäin helppo lukea mikrokontrollerin ohjelmointipuolella.

Työpaja: lankapuhelin ja micro:bit

Ensimmäisiä puhelimia purkaessani törmäsin heti ongelmaan: ainakaan allekirjoittaneen käyttötaidoilla sähkömiesten käyttämä yleismittari soveltui huonosti mittaamaan lankapuhelimen valintakiekon virtapiirin sulkeutumista, sillä se reagoi verrattain hitaasti. Olenkin työpajassa ensimmäisenä rakentanut osallistujien kanssa oman testerin, jolla on helppo etsiä puhelimesta oikeat kytkennät.

Yksinkertainen testeri, jossa on paristokotelo, yksi LED -valo ja kaksi hauenleukajohtoa.

Testerin tekeminen itsessään on jo hyvä harjoitus, sillä siinä tulee oppineeksi juottamista (joskin sen voisi toteuttaa myös johdot yhteen kiertämällä), yksinkertaisen virtapiirin rakenteen sekä mikä parasta, rakentamaan itselleen toimivan työkalun! Kaikkinensa testerin rakentaminen on todella helppo ja nopea projekti, jossa moni koulutukseen osallistuja on saanut ensimmäiset onnistumisen kokemukset heti kärkeen. Eräässä kansainvälisessä tapahtumassa syntyi myös spontaania keskustelua naispuolisten osallistujien kesken siitä, miten tämä oli ensimmäinen kerta, kun heille oli tarjottu edes mahdollisuutta tämäntyyppiseen tekniseen rakenteluun.

Viehättävä alkuperäinen kytkentäkaavio puhelimen sisuksissa – usein mukana myös laadun varmistaneen työmiehen allekirjoitus!

Kun testeri on kasattu, päästään avaamaan puhelimia. Eräs itseäni kovasti viehättävä yksityiskohta näissä puhelinvanhuksissa on se, että useimpien sisällä on kytkentäkaavio, jonka tarkoitus on helpottaa puhelimen korjaamista. Melkoinen ero nykyiseen kertakäyttökulttuuriin, jossa valmistajat päinvastoin aktiivisesti vaikeuttavat kulutuselektroniikan korjaamista itse! Harmi toki etten itse osaa lukea näitä kaavioita, mutta minä olenkin nuoriso-ohjaaja enkä lankapuhelinasentaja.. Kytkentäkaaviot antavat joka tapauksessa myös oivallisen mahdollisuuden keskustella kestävästä kehityksestä ja esimerkiksi maker-kulttuuriin vahvasti linkittyvästä ”Right to repair” -liikkeestä.

Vuosimallin 1964 Ericssonin kytkennät ovat helposti näkyvillä, eikä mitään tarvitse purkaa irti asti.

Kun puhelin on saatu auki, voidaan alkaa pähkimään mistä kohtaa sisään ja ulos tuleviin signaaleihin pääsee käsiksi. Tässä 60-luvun lopun ja 70-luvun alun Ericssonit ovat suosikkejani, sillä sen lisäksi että kuoren aukaisuun tarvitaan vain yhden ruuvin avaus, ovat kytkentänastat selkeästi esillä.

Neljä numeroa veivataan, lamppu sammuu ja syttyy neljä kertaa. Wuhuu!

Signaaleiden selvittely vaatii lähinnä yksinkertaista logiikkaa: seuraa johtoja, jotka tulevat esimerkiksi valintakiekosta (ahaa, täältä tulee kolme johtoa!) ja kytke testeri kahteen johtoon kerrallaan. Kun huomaat lampun sammuvan ja syttyvän numeroita veivatessa, olet oikeilla jäljillä. Tähän väliin käytännön vinkki: kokemus on itselleni opettanut, että kirjoittamalla muistiinpanoja tai merkitsemällä johdot säästyy tekemästä asioita kahteen kertaan. Saati kolmeen.

Tiesiköhän tämä puhelin aikanaan 60-luvulla joskus soittavansa Amorphista digitaalisen nuorisotyön osaamiskeskuksen toimiston pöydällä?

Sama pätee myös ääneen; rakensin toista projektia varten (josta lisää seuraavassa materiaalissa) yksinkertaisen johdon, jolla saan puhelimesta musiikkia ulos ja eteenpäin kahteen hauenleukajohtoon. Kun metalli (tai muu musiikki, makunsa kullakin) raikaa puhelimen kuulokkeesta, olet kiinni oikeissa johdoissa. Tämähän on helppoa kuin heinänteko!

Kun tarvittavat kytkennät on tunnistettu, voidaan siirtyä viimeiseen vaiheeseen työpajaa ja tuoda mukaan hieman modernimpaa teknologiaa.

Numeroiden lukeminen micro:bitillä

Micro:bit on pieni, ohjelmoinnin opettamiseen lapsille ja nuorille suunnattu mikrokontrolleri, joka on vielä kaiken lisäksi pieni ja suhteellisen edullinen (16€). Lisäksi micro:bitin reunassa on leveitä kontaktinastoja, joten ulkopuolisten kytkinten, valojen ja laitteiden liittäminen hauenleukajohdoilla on erinomaisen vaivatonta.

Psst, Verken lainattavista maker -välineistä löydät myös micro:bittejä!

Micro:bitin ohjelmointi tapahtuu joko tietokoneella tai puhelimella. Ei, ei näillä puhelimilla, vaan sillä taskussa olevalla modernimmalla versiolla. Koska ohjelmointi tapahtuu graafisessa ympäristössä, tärkeintä on ymmärtää ohjelmoinnin logiikka: mitä minä haluan saada tapahtumaan kun veivaan puhelimen valintakiekkoa? Yksinkertaisuudessaan microbittiä käskytetään näyttämään veivattu numero näin:

  1. Lue valintakiekon signaali micro:bitin nastasta 0 (tai mihin oletkaan kiekon kytkenyt, toinen pää menee 3v -nastaan joka toimii virtalähteenä)
  2. Aina kun nastassa havaitaan yksi pulssi, kasvata laskurin arvoa yhdellä
  3. Näytä laskurin arvo näytöllä

Lisäksi asioiden helpottamiseksi olen ohjelmoinut micro:bitin nollaamaan näytön aina, kun painetaan micro:bitin nappia A. Tämän voisi myös toteuttaa esimerkiksi aikaviiveellä, mutta tämän työpajan skaalassa yksinkertainen on parempi ratkaisu.

Koko koodi yksinkertaisuudessaan. Muuttuja ”laskuri” laskee numerot, muuttujan arvo näytetään näytöllä, jokainen pulssi kasvattaa laskurin arvoa.

Viimeiseksi sinun tulee siirtää joko bluetooth -yhteydellä tai usb-kaapelilla tekemäsi koodi micro:bittiin. Kun kiekkoa veivataan ja numero vaihtuu näytöllä, voit taputtaa itseäsi selkään: olet juuri yhdistänyt toisiinsa 1960 -luvun ja 2010 -luvun teknologiaa ja ohjelmoinut kenties ensimmäisen mikrokontrollerisi. Huraa!

It’s alive!

Mikäli homma ei kaikesta huolimatta pelitä, tarkista ainakin seuraavat asiat:

  • Ovatko fyysiset kytkennät oikein? Been there, done that – fyysisistä kytkennöistä kannattaa aloittaa, sillä ne on yleensä nopeampi tarkistaa kuin koodi, ja on merkittävän turhauttavaa hakata päätään seinään koodin kanssa ja huomata puolen tunnin päästä, että yksi johto oli vielä pöydällä irrallaan. Kyllä, olen kokeillut. Toistuvasti.
  • Onko johdoissa oikosulku? Helposti voi käydä niin, että johto ottaa kiinni väärään paikkaan tai naapurijohtoon, jolloin seurauksena on oikosulku. Nämä laitteet eivät onneksi aiheuta dramaattisia savupilviä, mutta oikosulku aiheuttaa sen että valintakiekon pulsseja ei voi lukea micro:bitin päässä. Johdot myös heilahtavat helposti hieman vinoon micro:bitin reunassa ja koskevat naapurinastaan, jolloin homma ei tietenkään toimi.
  • Tarkista koodi. Täsmääkö koodi esimerkiksi siihen, mitä nastaa yrität lukea? Onko koodi varmasti ”forever” tai jonkin muun loopin sisällä? Jos koodi näkyy ohjelmointiympäristössä harmaana, se ei ole aktiivinen eikä siis tee mitään.
  • Onko puhelimen valintakiekko luotettava? Nämä laitteet ovat jo sen verran ikääntyneitä, että kaikkien kontaktit eivät toimi on-off -periaatteella, vaan asentoja on kolme: ”auki”, ”Kiinni” ja ”jotain siltä väliltä”. Tämä luonnollisesti heittää laskurin arvot vinkuraan. Ratkaisuna on vaihtaa puhelinta, tai avata valintakiekko ja puhdistaa kontaktit. Varoituksen sana, valintakiekon alla on jousi joka on melko äkäinen ja pyrkii aktiivisesti vapauteen 40+ vuoden vankeuden jälkeen. Suojalasien käyttö suositeltavaa. Kyllä, olen kokeillut ja säikähtänyt.

Siis mitä me nyt oikein opittiin?

Tämän työpajan osallistujat ovat todennäköisesti oppineet ainakin seuraavia asioita:

  • Kytkentöjen juottaminen
  • Virtapiirin rakenne
  • Looginen päättely signaalin kulussa
  • Signaali sisään ja ulos, niin tekniikassa kuin ohjelmoinnissakin
  • Micro:bitin kytkennät
  • Micro:bitin ohjelmointi
  • Vianmääritys (kyllä, harva osuu ensimmäisellä yrittämällä)

Se, miten näitä kaikkia voi soveltaa, on kysymys erikseen. Itselleni on selvää, että tämä lähestymistapa toimii esittelynä virtapiireihin, signaaleihin ja niiden hyödyntämiseen luovalla ohjelmoinnilla. Eritoten työpaja toimii myös teknologiaan liittyvien pelkojen hälventämisessä – usein kuultu palaute osallistujilta on ”en olisi uskonut, että pystyn tähän, mutta tämähän olikin tosi kivaa ja helppoa”. Puhelimia voisi toisaalta käyttää moneen: äänen toistaminen (vaikkapa nuorten tarinoita nuorisotalon toiminnasta), magneettilukon ohjaaminen numerokoodilla pakohuonepelissä, älyvalojen ohjaaminen (koska miksi ei). Tärkeintä on tämän projektin myötä alkaa ymmärtämään ”signaali sisään ja ulos” -periaatetta joka antaa mahdollisuudet ohjelmoinnin soveltamiselle ja tekniselle rakentelulle. Ennen kaikkea kyse on luovasta toiminnasta, ei teknisistä taidoista.

Seuraavassa jaksossa.. Tällä asennuksella ei voiteta kauneuskilpailuja, mutta kuori meni vielä kiinni!

Itse olen tämän projektin innoittamana rakennellut seuraavaksi puhelimen, joka toistaa ääniklippejä Verken #digi10-haasteesta. Kyseinen puhelin oli esillä Verken pisteellä NUROI2019-tapahtumassa ja herätti hämmennystä useammassa osallistujassa, koska ei ollut missään ulkoisessa kaapelissa kiinni. Palaan tähän seuraavassa materiaalissa, jossa puhelimen sisuksiin heitetään hieman monipuolisempi mikrokontrolleri.

 


Teemat
Avainsanat