Edellisessä osassa rakentelin pyöritettävän pöydän mekaniikkaa ja elektroniikkaa sekä kotelointia sille. Tässä osassa tsekataan lyhyesti läpi elektroniikan kytkennät ja kuinka kännykkä saadaan ottamaan valokuva Arduinon ohjaamana.
Kuten alla olevasta kuvasta nähdään, elektroniikka on nyt "siistissä" boksissa ja kansi on neljällä plastofast-ruuvilla kiinni. Kytkimille tulostetut näppäinhatut toimivat ilman jumittamista ja RGB-ledin kaikki värit toimivat, kuin myös itse LCD-näyttö.
Laatikko tosin näyttää sisuskaluineen hieman iljettävämmältä, tottakai kun täysin prototyyppi on kyseessä:
Hommahan toimii niin, että 12 voltin virtalähteestä syötetään sähköt sulakkeen ja suodattimen kautta LM317-regulaattorille. Regulaattori on viritetty toimimaan 8 voltin ulostulojännitteellä ja tämä jännite syötetään Arduino Nanon VIN-pinniin.
Tämä siksi, että powerointi tälle laitteelle olisi mahdollisimman yksinkertainen. Arduino Nano levyllä olevat kaksi muuta regulaattoria muuttavat loput tarvittavat käyttöjännitteet, +5V ja 3,3V. Välimuunnos 8:aan volttiin on tehty sen vuoksi, ettei Arduino Nano kortilla olevat regulaattori ylikuumentuisi, vaan "kuormaa keventämässä" on ulkoinen 8 V regu. Laitteessa on myös 0.25A pintaliitos-sulake (joo tiedän, tosi kätevä vaihtaa) virtaliittimen lähellä. Tämä suojaa kytkentöjä jonkun verran, mutta moottorille 12V otetaan ilman sulaketta (virtalähteessä 1,5A virranrajoitin).
Protossa ei laatikon pohjalla ole ruuvinreikiä piirilevyille, toisin kuin kannessa, joten kiinnitykset tapahtuvat kuumaliimalla:
Kytkennät Arduino Nanolle
Powerointien lisäksi kytkennät Arduinolle on tehty näkkärin avulla juottamalla seuraaviin pinneihin:
BUTTON1 | D12 |
BUTTON3 | D11 |
BUTTON2 | D10 |
BUTTON4 | D9 |
LED BLUE | D8 |
LED GREEN | D7 |
LED RED | D6 |
IN1 (ULN2003) | D5 |
IN2 (ULN2003) | D4 |
IN3 (ULN2003) | D3 |
IN4 (ULN2003) | D2 |
LCD DB7 | A0 |
LCD DB6 | A1 |
LCD DB5 | A2 |
LCD DB4 | A3 |
LCD ENABLE | A4 |
LCD RS | D13 |
Android kännykkä kuvaamaan kuulokepistokkeen avulla
EDIT: Myöhemmin asiaa lisää tutkittuani löysin ihan viralliset signaalitasot täältä: https://source.android.com/devices/accessories/headset/plug-headset-spec. Kannattaa noudattaa näitä neuvoja.
Tätä asiaa olin tutkinut jo aiemminkin, mutta sopii hyvin tähän asiayhteyteen. Eli kuinka saadaan kännykän kamerasovellus ottamaan kuva ulkoisen signaalin avulla?
Intuitioni kertoi, että todennäköisesti jotenkin kuulokepistokkeen mikrofoni-inputin kautta, koska niinhän esimerkiksi headseteillä vastataan tulevaan puheluun. Tiedäthän, painetaan nappia joka roikkuu kuulokejohdoissa kiinni. Arvelin että nappi oikosulkee mikrofoni-inputin maahan ja puhelin tulkitsee sen signaaliksi.
Etsiskelin laatikoistani ylimääräisen 3,5mm johtimen ja aloitin testailemaan. Plugi kiinni kännykkään, kamerasovellus käyntiin ja mikkijohto maan kanssa yhteen ja.... Tsädäm. Ei mitään.
Intuitioni kertoi, että nyt tarvitaan vielä jotain muuta. Mietin että jos johto on vaikkapa kytkettäessä rikki, niin piirisarjan pitää olla tarpeeksi fiksu ettei se yritä syöttää oikosulkuvirtaa liittimeen. Tällöin mikrofonilla pitää olla jokin impedanssi, että piirisarja tunnistaa liittimen ehjäksi ja mikrofonin aktiiviseksi.
Virittelin potentiometrin mikin ja maan väliin ja jatkoin testausta. Kun potikasta oli pyöritetty alle 1k5 ohmia niin puhelin alkoi ottamaan kuvia sarjatulella. Äkkiä pyöritys takaisin ettei puhelin täyty kuvista ja luku ylös paperille. Tässä on vastusarvo, mikä pitää vähintään olla mikkilinjassa, jotta oikosulkua voidaan käyttää kameran sulkimen laukaisemiseksi.
Googlettelu varmisti asian ja olisihan tämä selvinnyt varmasti ilman testailujakin, mutta mitäs hauskaa siinä nyt olisi? Kytkentä puhelimen kameran laukaisemiseksi etänä alla:
Yllä olevaan kytkentään saadaan elektroninen ohjaus siten, että kytketään fyysisen painokytkimen rinnalle transistori kytkimeksi. Tähän soveltuu hyvin logiikkatasoilla ohjattava N-tyypin MOSFET-transistori. Lisäsin trankun kytkikseen ja testasin 5 voltin ohjauksella liipaisua ja sehän piru vie toimi.
Kokonaisuudessaan on nyt siis kytkennät tehty, seuraavaksi homma onkin tehdä koodia, joka pyörittää alustaa halutun astemäärän kerrallaan. Esimerkiksi: 60 kuvaa -> 360 / 60 = 6 astetta. Saas nähdä kuin onnistuu.
Seuraava osa: https://www.hutasu.net/fotogrammetriapoydan-rakentelua-osa-3-final/