Arduino titkok - (Belső) feszültség- és hőfokmérés

Régi problémát jár körbe ez a cikk: az analóg jelek feldolgozását, mérését - nem a megszokott módon. Egy-egy probléma felvetése során kiderül, hogy gyorsabb-egyszerűbb módja is van feladat megoldásának - csak  nem teljesen triviális vagy a nyelv/kontroller által kínált különleges megoldást alkalmazhatunk.
A cikkben két ilyen lehetőséget járunk körbe: a saját feszültség mérését és a belső hőmérséklet követését. De lássuk sorjában...

Mit ne használjunk Arduino projektekben?

Ha kezdő hobbistaként Arduino rendszert használsz, van néhány megoldás, amit nem javasolt használni. Ez lehet szoftver, de lehet akár nem javasolt hardware megoldás is. Olvasgatva szakmai cikkeket, felhasználói fórumokat - elég vegyes a kép. Ami kiolvasható, hogy van néhány típushiba, amibe az Arduino-t használó delikvens óhatatlanul belesétál.
Ezek nem olyan típushibák, hogy csak lemaradt szűrőkondenzátor, vagy egy programleütés benn maradt a kódban, esetleg ellenállás kimarad a LED elől. A felsoroltak olyan hibák, amik nem programozási-eljárási problémák, hanem inkább a figyelmetlenség számlájára írandóak. A kerülendő megoldások inkább a komplexebb, de első látásra jónak tűnő megvalósítások közül kerülnek ki....
  • String függvénykönyvtár,
  • SoftwareSerial eljárás,
  • Belső felhúzóellenállás,
  • Darlington tranzisztor,
  • Rotary enkóder prellmentesítés.
 

Dilduino

Az Indiegogon indult egy kampány, amiben egy olyan új platform elindítására gyűjtik a pénzt, ami egy mindeddig ebből a szempontból mondhatni szűz terület meghódítását is lehetővé tenné a programozók számára. A Comingle ugyanis olyan szexjátékok gyártását szeretné beindítani, amiket a megfelelő könyvtár felhasználásával szabadon lehetne programozni.

Dilduino áttekintés

A platform alapját egy - stílszerűen - Dilduino-nak hívott, Arduino-kompatibilis mikrovezérlő-lap képezi, ami mellé néhány szenzor, valamint három darab szabadon vezérelhető vibramotor került beépítésre egy szilikon házba a The Mod nevű prototípusban. A vezérlőre a szerkezet töltésére is használható USB kapun át tetszőleges programokat lehet feltölteni, amik a programozó által elképzelt minta, illetve szabályok szerint vezérelhetik a motorokon keresztül a szexjáték viselkedését és mozgását.

Arduino illesztések

Többször felmerült már a TavIR fórumban, hogy milyen az eredeti Arduino? Miről ismerszik meg? Egy open hardware eszközt lehet-e klónozni? Ezek örök kérdések, örök viták forrása.

A történet

Az Arduino áramkör és a szoftver filozófiája az, hogy legyen szabadon elérhető. Ez a szoftver esetén a letölthető és GPL licensz alatt használható változatot jelenti, míg a hardware a tervváltozatot takarja. Minthogy a felhasználási szabályok megengedik a módosítást (publikálási kötelezettség mellett), így igazán eredeti tervnek csak az Arduino.cc oldalon levő tekinthető. A hardware összeépítése, gyártása során nem használható az Arduino név (mivel védett márkanév) és nem használható az Arduino logo (védett) valamint az USB illesztésben az ATMEGA8U2/16U2 Arduino firmware. Így tulajdonképpen az eredeti áramkör olasz gyártású kell legyen. Ugyanakkor, ha módosított tervet nézek, akkor az így készített is már eredeti áramkör lesz.

Hamis a baba II.

A korábbi cikkben egy nyomozás menete került leírásra, melyben a hamis FT232RL chipek kerültek megtalálásra és összehasonlításra az eredeti chipekkel. (→ Hamis a baba...)

A hamis FT232RL chipek piaci térhódítását az FTDI nem nézhette tétlenül, így igyekezett az eszközök működését befolyásolni. Ez igencsak a jogszerűség, ártatlanság vélelme és a mérnöki lézerpontos precizitás mezsgyéjén mozgott.
Az elmúlt időszak leírásai azonban a műszaki oldalt, a hátteret erősen kerülték. Pedig az az érdekes világ. A cikk ebbe enged egy kis betekintést...

IX. TavIR programozói verseny: Rátkay Tamás: Hatvány

Induláskor soros terminálon lekéri azt az alapot és azt a kitevőt ameddig menjen. És fenyőfát rajzol.

Érdekessége hogy sokkal tovább tud számolni, mint egy számológép. Ezt úgy értük el, hogy megírtuk külön a szorzó rutint, úgy, mint ahogy papíron szoroznánk. A tapasztalat szerint 150 számjegyű számokkal még simán elboldogul. 160 számjegy fölött már elfogyhat a memória. Ez a 9980-hoz még elég. Kellett még egy számbeviteli rutin. Ott eljátszottunk a String osztály függvényeivel.

IX. TavIR programozói verseny: Rostás István (rostasc3): Beszélő óra + hőmérő + fénymondó

A pályázatban megvalósításra került beszélő óra, hőmérő és fénymondó eredetileg testvéremnek készült, aki egyáltalán nem lát. Azért készült, mert a kereskedelemben nem nagyon lehet magyarul beszélő órát kapni. A hőmérő célja az volt - a rendes hőmérséklet mérésén kívül -, hogy a kazán vízhőmérsékletét is mérhesse és riaszthasson adott érték alatt illetve fölött. De ha már van egy beszélő áramköröm, akkor elmondhatná azt is, hogy mennyire van világos!

Az óra tíz hónapja működik 79 éves anyukám nagy örömére (ő kapta meg végül), aki szintén nem lát, és neki még nagyobb problémája volt az idegen nyelven beszélő óra.

A készülék funkciói tehát:

  • idő és dátum bemondása (a hét napját is bemondja),
  • hőmérséklet bemondása (a készülékben van hőmérő, de egy külső is csatlakoztatható hozzá - a hőmérséklethez egy minimum és maximum érték is beállítható, ami alatt v. fölött a készülék riaszt: ezt a funkciót kazánhőmérséklet ellenőrzésére terveztem),
  • fény érzékelése (öt fokozatban, a fotoellenállás egy kis ablak mögött helyezkedik el, így irányérzékeny).

IX. TavIR programozói verseny: Szabó András (volkov): Boost-meter

Turbófeltöltős autóban a pillanatnyi turbónyomás mérése illetve a csúcsérték kijelzése. Ezt mind digitálisan tizedes pontossággal illetve kvázi analóg módon egy grafikus diagrammal.

A program története és működése

A nagyobb Arduino projektem (autó „fedélzeti számítógép”, MPGuino) részeként kelt külön életre ez a program, de az MPGuino alapvető tervezéséből adódóan a 2 frissítés/mp nem volt elegendő. Bár az autómban van turbónyomás mérő óra, a kocsi teljesítménynövelése közben igény lett a pillanatnyi csúcsérték kijelzésére. Vezetés közben padlógáz üzemben nem lehet nézni az órát, mert balesetveszélyes. Valamint egy pontos beállításnál a tizedek is számítanak, nem lehetett egy analóg órára támaszkodni.
Így született meg a Boost meter....

IX. TavIR programozói verseny: Szabó Gábor (Tonic): LCD hőmérő

A pályázat keretében megvalósítottam az LCD hőmérőt, ami Arduinora épül. A hozzávalókat nem bonyolult beszerezni az interneten illetve a TavIR Shopban könnyen megvásárolhatók.

A program a Steinhart-Hart hőmérő egyenletet használja.

A termiszor hőmérséklet-ellenjállás grafikonján jól látható a hőmérőm elektromos ellenállás tulajdonsága külöböző hőfokon. (A Steinhart-Hart hőmérő egyenlet bővebben: http://elfiz2.kee.hu/jegyzet/labor01.pdf)

Elfut bármelyik Arduinon azaz UNO-tól a Mega2560-ig, de nekem csak 2560 Mega-val volt alkalmam kipróbálni. Más méretű LCD-n is elfut csak ahhoz át kell egy kicsit írogatni a programot....

Oldalak