Osia ja ohjelmointia

Mitä ohjelmointi on?

Tehtävä
Miten voisit ohjelmoida kaveriasi leipomaan kakun. Mitä jos kaveri ei tiedä mitään leipomisesta? Minkälaisia ohjeita antaisit?

Ohjelmointia voi ihan hyvin verrata vaikka leipomiseen. Käytössä on tietty määrä raaka-aineita ja niistä tulisi tehdä kakku. Millaisia ohjeita leipoja tarvitsee? Kakkuresepti on vähän kuin ihmisen ohjelmointia.

Entä jos kakun tekijänä onkin ihmisen sijaan tietokone? Tällöin ohjeiden olisi oltava huomattavasti tarkempia. Tietokoneet ovat sen verran tyhmiä, että niille on kerrottava kaikki etukäteen. Ne eivät ainakaan toistaiseksi kykene toimimaan ihmisen tapaan kovin luovasti tai kysymään neuvoja.

Alla oleva esimerkki mukailee Martti Hyvösen, Vesa Lappalaisen ja Antti-Jussi Lakasen C#-ohjelmointikirjaa.

Sokerikakku:

6 munaa 1,5 dl sokeria 1,5 dl jauhoja 1,5 tl leivinjauhetta

  1. Vatkaa sokeri ja munat vaahdoksi.
  2. Sekoita jauhot ja leivinjauhe.
  3. Sekoita muna-sokerivaahto ja jauhoseos.
  4. Paista 45 min 175°C lämpötilassa.

Resepti on suomeksi, joten kaikki eivät osaa lukea sitä. Myös ihmisen, joka ei ole koskaan leiponut, voisi olla vaikea ymmärtää esimerkiksi käskyä “Vatkaa sokeri ja munat vaahdoksi”. Reseptin laatija olettaa, että lukija on suomalainen ja hänellä on jonkinlainen käsitys leipomisesta.

On selvää, että tietokone olisi reseptin suhteen pulassa, koska sillä ei ole ennakkokäsityksiä leipomisesta. Tietokoneelle (tai robotille) ohjeiden tulisi olla hyvinkin yksityiskohtaiset: laske kätesi, tartu kananmunaan, nosta se ylös, riko se kulhoon… Tällä kurssilla harjoiteltava Arduino-ohjelmointi on pohjimmiltaan tällaisten yksinkertaisten toimintaohjeiden antamista!

Kytkennöistä

Kurssin elektroniikkakytkennät tehdään koekytkentälevylle: levyllä komponentit pysyvät hyvin kiinni, ja kytkennöistä saa helposti selvää. Levyn reiät ovat riveittäin yhteydessä toisiinsa, joten samaan riviin kiinnitettyjen komponenttien välillä voi kulkea sähkövirta.

koekytkentalevy

Kurssin kytkentäohjeet on tehty Fritzing-ohjelmalla. Kunhan virtapiiri on ohjeen mukainen ja kaikki osat mahtuvat levylle, kytkennän voi tehdä mihin kohtaan levyä tahansa.

fritzing_breadbboard

Joskus projektissa tarvitaan huomattavasti pidempiä johtoja kuin pakin perusjohdot. Naaras- ja urosjohtoja yhdistelemällä voi pidentää piuhoja. Joskus voi olla tarpeen hankkia kunnon pätkä tavallista, ohutta sähköjohtoa ja juottaa se kolvilla kiinni komponentteihin.

Käytettyjen johtojen värin saa valita itse, muttei ole aivan huono idea tehdä jännitekytkentä punaisella ja maakytkentä sinisellä tai mustalla johdolla. Näin omia viritelmiä on helpompi ymmärtää ja debugata. Tästä lisää tuonnempana!

Erilaisia kytkentätapoja

Tämän kurssin puitteissa komponentit liitetään koekytkentälevyllä, mutta aina pelkkä kytkentälevy ei riitä.

Koekytkentälevyllä toteutetun prototyypin jälkeen voi joskus olla tarpeen rakentaa seuraava prototyyppiversio, jossa komponentit pysyvät paremmin kiinni. Ns. verolevyyn voi kiinnittää komponentteja juottamalla. Levyn kääntöpuolella on kupariliuskoja, jotka yhdistävät reiät toisiinsa riveittäin.

Kuva: Verolevylle koottu AM-radiovastaanotin

Kuva: Verolevylle koottu AM-radiovastaanotin

Lopullisissa tuotteissa käytetään viimeisteltyjä piirilevyjä. Piirilevyn tekeminen tai teettäminen voi olla tarpeen myös omassa prototyypissä, jos laitteesta täytyy esimerkiksi saada mahdollisimman pienikokoinen. Piirilevyjä voi suunnitella esim. Fritzing- ja Eagle-ohjelmilla, ja ne voi valmistaa jyrsinlaitteella tai kemiallisesti syövyttämällä. Jotkut yritykset myös valmistavat piirilevyjä asiakkaan toimittaman piirikaavion pohjalta. Kuvan piirilevyssä on käytetty hyvin pienikokoisia pintaliitoskomponentteja.

surface_mount

Kuva: Pintaliitoskomponentteja piirilevyllä

Ennen piirilevyjä sähkölaitteiden kytkennät olivat melkoista spagettia. Näitä ns. point-to-point -kytkentöjä löytyy vielä nykyäänkin käytössä olevista laitteista, kuten kitaravahvistimista ja sähköuruista. Sotkuisuuden takia point-to-point-kytkentöjä nimitetään myös rotanpesäksi (rat’s nest).

point_to_point

Kuva: Fender Pro Reverb -vahvistimen kytkentöjä (Ian Abbot / Wikimedia Commons)