Haaste: Leluhakkerointi

Johdanto

Tässä luvussa olet harjoitellut laittamaan asioita päälle ja pois erilaisin keinoin - esimerkiksi magneetilla, kosketuksella ja kallistuksella. Päälle laittamasi asiat ovat olleet Maker kitin osia kuten led-valoja ja moottoreita. Mutta mitä, jos haluaisitkin laittaa päälle jonkin ulkoisen laitteen, kuten elektronisen lelun? Tätä pääset kokeilemaan tässä harjoituksessa.

Elektronisissa laitteissa on usein oma virtalähteensä, esimerkiksi patteri. Tämän vuoksi jaamme virtapiirin tavallaan kahtia. Arduino käyttää omaa virtalähdettään ja lelu omaansa. Virtapiirin jakamiseen tarvitset transistoria.

Tarvitset harjoituksen toteuttamiseksi elektronisen lelun, joka toimii pienellä ja turvallisella jännitteellä. Alla on video Mehackit-dinosta, joka käynnistetään mikrofonin välityksellä käsiä läpsäyttämällä! Minkälaisella mekanismilla sinä haluaisit lelusi käynnistää?

Leluhakkerointi - Dino

Tarvikkeet

Mehackit boardin (tai Arduinon), USB-johdon, koekytkentälevyn ja johtimien lisäksi tarvitset seuraavia asioita.

OsaKuvaKuvaus
LEDPidempi jalka (kuvassa mutkallinen) eli anodi + -napaan eli Arduinon porttiin. Lyhyempi jalka eli katodi miinus-napaan eli maahan.
Vastus 330 ΩVastus vastustaa sähkövirran kulkua. Vastuksen arvo mitataan ohmeissa (Ω) ja ilmoitetaan komponentissa erivärisinä raitoina.
Vastus 1kΩVastus vastustaa sähkövirran kulkua. Vastuksen arvo mitataan ohmeissa (Ω) ja ilmoitetaan komponentissa erivärisinä raitoina.
Reed-kytkinReed-kytkintä käytetään magneetilla. Maker kitistä löytyy joko lasinen tai muovinen (musta) reed-kytkin. Jos sinulla on lasinen versio, niin varo, että et riko haurasta lasia.
MagneettejaTarvitset magneetteja reed-kytkimen käyttämiseen.
NPN-transistoriTransistoria käytetään tässä harjoituksessa virtapiirin jakamiseen. Mustapäisiä transistoreja on Maker-kitissäsi kolme kappaletta. Varmista, että valitsemasi komponentin pintaan on kirjoitettu MP5 eikä TMP (kuten lämpötilasensorissa) tai FT66T (kuten melodiapiirissä).
DiodiDiodi päästää sähkövirtaa läpi vain yhteen suuntaan. Sitä käytetään virtapiirissä varmistamaan, ettei virtapiikkejä vahingossakaan pääse väärään suuntaan. Harmaa viiva osoittaa pään, jonka suunnasta virta ei pääse läpi (kuvan diodissa virta siis pääsee oikealta vasemmalle, muttei päinvastoin).
Hakkeroitava leluLelun täytyy toimia pienellä jännitteellä (max 6 V). Sen täytyy myös olla suhteellisen helposti purettavissa siten, että löydät virtalähteeseen tai kytkimeen menevät johdot
SivuleikkuritJohtojen katkasemista varten.
RuuvimeisseliLelun avaamista varten.
KolviKolvista voi olla hyötyä, jos sinun täytyy juottaa yhteen johtimia.

Virtapiiri

Ensimmäinen tavoite on käynnistää ledi transistorin välityksellä. Myöhemmin ledin tilalle liitetään elektroninen lelu, joka voidaan käynnistää aivan samalla logiikalla.

Huomaa, että virtapiirissä lediä ei ole kytketty Arduinon digitaaliseen porttiin, joten et voi suoraan käyttää sitä Arduinon kautta! Toisin kuin aiemmin, käyttö ei tapahdu suoraan vaan transistorin välityksellä.

  • Kytke ledin pidempi jalka 330 ohmin vastuksen kautta Arduinon 5V jännitteeseen ja lyhyempi jalka transistorin oikeanpuoleisimmalle jalalle.
  • Kytke transistorin keskimmäinen jalka yhden kilo-ohmin vastuksen kautta porttiin6.
  • Kytke transistorin vasen jalka maahan.

Ohjelman tavoite

Transistorin keskimmäiselle jalalle ohjataan jännitettä portista 6. Tällöin transistori yhdistää kaksi muuta jalkaa toisiinsa ja led (myöhemmin myös lelu) menee päälle. Kun kytkin ei ole pohjassa, jännitettä ei ohjata transistorille. Tällöin ledin virtapiiri katkeaa ja ledi lakkaa toimimasta.

Tutut komennot

Ohjelmointi 1/2 - Testaus ledillä

Tavoitteena on ensin kokeilla ledin ohjaamista transistorin kautta. Myöhemmin ledin tilalle liitetään elektroninen lelu.

Tehtävä
Syötä alta löytyvä koodi Arduinollesi. Vastaa sitten monivalintaan.
void setup() {
  pinMode(6, OUTPUT);
}

void loop() {
  digitalWrite(6, HIGH);
  delay(4000);
  digitalWrite(6, LOW);
  delay(4000);
}

Mitä tapahtuu silloin, kun portin 6 kautta syötetään jännitettä transistorin keskimmäiselle jalalle?

Lelun kytkimen tai virtalähteen etsintä

Sait edellisen sivun ohjeilla sytytettyä ja sammutettua ledin Arduinon avulla. Seuraavaksi sinun tulee käynnistää lelu ledin sijasta. Tämä onnistuu etsimällä lelun päälle/pois -kytkimen tai virtalähteen johdot.

HUOM!
Muista, että sähköturvallisuuden vuoksi lelusi käyttöjännitteen on oltava maksimissaan 6 V. Poista lelusta virtalähde siksi aikaa kun käsittelet lelun johtoja ja katkot niitä.
Tehtävä
Aivan aluksi sinun tulee etsiä sellainen johto, jonka katkaisemalla lelu lakkaa toimimasta. Tämä johto voi olla pääkytkimen johto tai esimerkiksi virtalähteen maadoitusjohto. Jokainen lelu on hiukan erilainen, minkä vuoksi tarkkoja ohjeita on mahdotonta antaa. Kysy siksi apua ohjaajaltasi.
  1. Varmista aivan ensin, että lelusi toimii! Mikäli lelusi on vanha, saattaa siitä olla patterit lopussa. Vaihda tällöin leluun uudet patterit ja varmista toimivuus.

  2. Kun toimivuus on varmistettu, irroita lelun patterit turvallisuussyistä.

  3. Avaa lelun ruuveja sen verran, että pääset käsiksi johtoihin. Mikäli hakkeroit pehmolelua, voit joutua nyhtämään lelun täytettä pois jonkin verran.

  4. Katkaise sivuleikkureilla pääkytkimen tai lelun virtalähteen maadoitusjohdin (usein musta) likimain keskeltä kahtia.

  5. Laita nyt paristot takaisin leluun ja käännä pääkytkin päällä-asentoon. Lelu ei käynnisty, koska virtapiiri on katkaistu. Kokeile yhdistää leikatun johdon päät toisiinsa. Lelun tulisi tällöin käynnistyä.

  6. Voit nyt siirtyä seuraavalle sivulle, jossa lelu kytketään Arduinoon ledin tilalle!

Lelun yhdistäminen

Tehtävä

Varmista turvallisuussyistä ensin, että lelussa ei ole paristoja seuraavan kytkennän tekemisen aikana.

Irroita nyt ledi virtapiiristä ja laita sen tilalle elektroninen lelu alla olevan kaavion mukaisesti. Yhdistä myös reed-kytkin osaksi virtapiiriä.

HUOM!
Jos lelun piuhat ovat liian lyhyitä tai ohuita, voi niiden yhdistäminen koekytkentälevyyn olla hankalaa. Tällöin piuhoja pitää jatkaa, jotta ne yltävät koekytkentälevyyn ja pysyvät sen rei’issä. Tähän tarvitset luultavasti kolvia, jota kannattaa kysyä opettajaltasi tai ohjaajaltasi.
  • Yhdistä reed-kytkin porttiin 5 ja maahan
  • Yhdistä transistorin keskimmäinen jalka 1 kilo-ohmin vastuksen kautta porttiin 6.
  • Yhdistä transistorin oikea jalka lelun virtalähteen maajohtoon. Yhdistä tämä jalka myös Arduinon maahan.
  • Yhdistä leluun menevä maajohtimen pää transistorin oikeaan jalkaan.
  • Yhdistä oikea jalka myös diodin kautta Arduinon maahan. ** Varmista, että diodin vaalea viiva on transistoriin päin!** Tällöin virta kulkee transistorille, mutta ei toiseen suuntaan.

Ohjelmointi 2/2 - Lelun ohjaus

Tehtävä
Täydennä alta löytyvä ohjelma ja syötä se Arduinollesi.
void setup() {
 //Aseta reed-kytkimen portti tilaan INPUT_PULLUP
 //Aseta transistorin portti tilaan OUTPUT
}

void loop() {
  //Jos reed-kytkin sulkeutuu, johda jännitettä transistorille ja käynnistä lelu
}

Minkä seuraavista voisi periaatteessa kytkeä Arduinoon?

Jatkokehittelyä

Kun olet onnistunut käynnistämään lelun transistorin välityksellä, voit jatkokehitellä projektiasi monella tavalla. Tässä on esitelty kaksi vaihtoehtoa!

Erilaisten kytkimien testailu ja ketjureaktion rakentaminen

Käynnistit aiemmin lelun magneetilla reed-kytkimen avulla. Miten muuten voisit lelusi käynnistää? Voisiko esimerkiksi narun päähän kiinnitetty magneetti heilahtaa reed kytkimen vierestä ja käynnistää lelun, joka liikkuu kohti vesilasia ja kaataa sen, jolloin seuraava kytkin sulkeutuu ja käynnistää jotakin muuta… Käytä mielikuvitustasi!

Circuit bending

Circuit bending tarkoittaa lelujen virtapiirien muuntelua. Tähän mennessä ainut muutos jonka lelun virtapiiriin teit, oli yhden johtimen katkaisu. Voisit myös esimerkiksi muokata lelusta tulevia ääniä yhdistämällä säätövastuksen sopivaan kohtaan lelun virtapiiriä. Alla on video, joka johdattelee circuit bendingin maailmaan.

chewy01234: Basic circuit bending tutorial

Tekstitykset

[Music] [Applause] hello and welcome to my second method first we will take a look at the tools that we need to get started we have a screwdriver some alligator clips a solder and the soldering iron wires and a wire stripper three components a button to switch and a potentiometer and last but not least a drill let's unscrew our toy and open it up be sure you save all your screws as you'll probably want to put your toy back together once you're all done gently open up the toy and expose the circuit board underneath now we're going to take a look and search for some possible Bend spots take your alligator clips and just poke around anywhere word of warning make sure you stay away from anything connect into the batteries as you may hurt yourself or break your toy once you have the green part of the circuit board exposed with all the little solder points you're going to take your alligator clips and just start poking around you might want to activate a sound first so there's something playing and then go to town [Music] [Applause] [Music] there's been that particularly it adds a funky drum rhythm the back with the side I like that let's solder it up and make it permanent [Applause] after you've marked the two points that you made a connection with you're going to solder a wire directly to one of the points [Music] then you're going to solder another wire to the other point make sure they're on there nice and tight next we're going to solder to our component I chose a switch but you could use a button or potentiometer or really any other connecting component you can think of a switch is the best for our situation currently so once you got that on there nice we're going to drill into the case and mount the switch right on today so pick a nice spot that's open that's much going on around it and make sure also that you leave enough room on the inside where you'll be able to close everything back up take that screw hook it right through the hole and attach the bolt right back onto the top of it and hold it in place now once you got everything closed back up we're going to give it a final test let's see how it works [Music] [Applause]