SLO - NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 138 41 45 NAVODILA ZA UPORABO www.conrad.si Učni paket Conrad Components Arduino™ razumeti in uporabljati 10174 od 14. leta starosti naprej Kataloška št.
Kazalo 1. Zgoščenka za učni paket ………………………………………………………………….…….. 3 1. 1 Vsebina zgoščenke ……………………………………………………………………………. 3 1. 2 GPL (Splošna javna licenca) ………………………………………………………………….. 3 1. 3 Sistemske zahteve …………………...……………………………………………………...… 3 1. 4 Posodobitve in podpora ………………………………………………………………………. 3 2. Vsebina učnega paketa …………………………………………………………………….……. 3 2. 1 Informacije o varnosti ………………………………………………………………………….. 4 3. Sestavni deli in njihove funkcije …………………………………………………………...……. 4 3.
12. Naključna števila – generator loterijskih števil ……………………………………………… 38 13. Zaslon za izpis stolpčnega diagrama ……………………………………………………….. 41 14. Merilec svetlobe – fotometer ……………………………………………………….………… 46 15. Alarmni sistem …………………………………………………………………………….…… 52 16. Digitalni voltmeter z zaslonom za stolpčni diagram in USB vmesnikom …..…………… 53 16.1 Razširitev merilnega območja ……………………………………………………………… 62 17. Temperaturni zaslon v stopinjah Celzija in Fahrenheit ……………………………………. 63 18.
Opomba Arduino™-UNO-micro krmilnik PCD ni vključen v dostavo. Ker je to učni paket namenjen naprednim Arduino™ programerjem, morate na delovnem mestu že imeti Arduino™ UNO ali MEGA. Plošče so na voljo po nizki ceni pri Conrad Electronics, v franšiznih prodajalnah ali drugih spletnih trgovinah. Seznam delov: 1x maketna plošča, 1x LCD 16 x 2 moder, 1 x pin trak 16 pinov za spajkanje, 1 x tipka, 1 x NTC 72, 1 x foto tranzistor, 1 x 10 kΩ, 1 x 330 Ω, 14 x skakalci. 2.
3. 2 Skakalci Učni paket vsebuje več posebej prilagojenih skakalcev. Uporabljajo se za povezavo med maketno ploščo in Arduino™-PCB. Skakalci imajo majhne pine na obeh koncih, ki jih lahko enostavno potisnete v Arduino™-PCB. Vendar bodite kljub temu previdni, da po nesreči ne odlomite ali zvijete pina! Skakalci. 3. 3 Tipke Tipka ima podobno funkcijo kot stikalo. Stikala že poznate iz vaših domov, kjer z njim vklapljate ali izklapljate luči. Ko potisnete stikalo navzdol, se luč vklopi.
3. 4 Uporniki Uporniki so potrebni za omejitev toka in da nastavijo točke delovanja ali kot delilci napetosti v električnih vezjih. Enota za električno upornost je Ohm (Ω). Predpona kilo (k, tisoč) ali mega (M, milijon) omogočata okrajšavo velikih upornosti. 1 kΩ = 1000 Ω 10 kΩ = 10.000 Ω 100 kΩ = 100.000 Ω 1 MΩ = 1.000.000 Ω 10 MΩ = 10.000.000 Ω V diagramih vezja je simbol Ω po navadi izpuščen in 1 kΩ je ponavadi okrajšan na 1 k. Vrednost upornika je po navadi označena z barvo.
Barva Obroč 1 Obroč 2 Obroč 3 (faktor) Srebrna 1x10-2=0,01 Ω Zlata 1x10-1=0,1 Ω Črna 0 0 1x100=1 Ω Rjava 1 1 1x101=10 Ω Rdeča 2 2 1x102=100 Ω Oranžna 3 3 1x103=1 kΩ Rumena 4 4 1x104=10 kΩ Zelena 5 5 1x105=100 kΩ Modra 6 6 1x106=1 MΩ Vijolična 7 7 1x107=10 MΩ Siva 8 8 1x108=100 MΩ Bela 9 9 1x109=1000 MΩ Tabela za upore s štirimi barvnimi obroči.
NTC senzor temperature in skica kako se priključi. 3. 6 Fototranzistor Za določitev svetlosti uporablja sodobna elektronika pogosto fototranzistorje. Učni paket vsebuje dele, ki izgledajo zelo podobno kot dioda ki oddaja belo barvo, vendar je foto tranzistor. Izgleda drugače kot normalni bipolarni tranzistor, vendar nima tudi nobene povezave. Podstavek, to je vhod za normalni trazistor, ki je odgovoren za nadzor toka med prevodnikom in oddajnikom, kjer svetloba pada v ohišje na foto tranzistor.
LCD zaslon z dvema vrstama 16 kolon. Preden lahko uporabite LCD za vaše poskuse morate spajkati priložen 16 pinski trak v stike na LCD. Zato vtaknite pinski trak s kratkimi stiki v LCD od zadaj in spajkajte najprej samo en stik. Na ta način lahko poravnate pinski trak pod kotom 90°. Ko je trak poravnan, lahko spajkate tudi ostale pine. Če še nimate pištole za spajkanje, si dobite stroškovno učinkovito ročno pištolo za spajkanje z izhodom med 20 in 30 W in električni spajkalnik.
Eksperimentalna povezava z LCD. Na koncu natančno preverite vezje, da se izognete morebitnim poškodbam delov.
Priključni načrt za povezavo z LCD. Informacije Če prvič delate z Arduino™ morate najprej naložiti Arduino™ razvojno okolje. Najdete ga na uradni Arduino™ spletni strani http://www.arduino.cc. Tukaj lahko izberete vaš operacijski sistem in določite ali želite uporabiti program za nameščanje ali ZIP različico. V programski različici za nameščanje, namestite Arduino™ kot normalen program. V ZIP različici ne potrebujete nameščanja. Razširite ZIP datoteko in jo shranite na želeno mesto na vašem računalniku.
Primer kode: LCD V prvi vrstici programa lahko vidite, da je za delovanje LCD potrebna integracija Arduino™ knjižnice z imenom LiquidCrystal.h. Vsebuje bolj kompleksno kodo, ki je potrebna za nadzor zaslona. Lahko pogledate v mapo Arduino™, ki se nahaja v Arduino\libraries\LiquidCrystal, in pregledate LiquidCrystal.h in LiquidCrystal.cpp datoteki, da dobite idejo funkcij knjižnice. Priporočamo da za odprtje teh datotek uporabite program Notepad++.
Namestitev je skoraj končana. Sedaj morate nastaviti koliko kolon in vrstic ima LCD: 16 kolon/posamezni znaki in 2 vrstici. Osnovno nameščanje je sedaj končano. Sedaj lahko uporabimo lcd.setCursor, za določitev položaja kazalke in tako teksta za izpis. Prvi parameter določa položaj znotraj kolone, to je 0 do 15 v tem primeru. Drugi parameter določa številko vrstice, to je od 0 do 1. Sedaj lahko izpišemo tekst na tej določeni lokaciji na LCD z ukazom commandlcd.print.
Primer kode: TIME_DIFF Ta primer kode prikazuje kako določiti čas izvajanja programa. Zato beremo trenutno stanje števca funkcije millis() v vsakem novem izvajanju programa in odštejemo zadnjo števko, ki je bila shranjena, na koncu programa. Ukaz Delay(100) na programu simulira daljši čas izvajanja. Vaša programska koda mora biti med »// My program start and // My program end«, da se določi dovoljen čas izvajanja vaše kode. Prvi poskus in s tem tudi test funkcij je s tem končan.
5. Nastavitev in delovanje LCD zaslona LCD se v glavnem uporabljajo v mnogih elektronskih napravah, kot so zabavna elektronika, merilnih napravah, mobilnih telefonih, digitalnih urah in žepnih računalnikih. Head-upDisplays in video projektorji tudi uporabljajo to tehnologijo. Sledeči primeri prikazujejo LCD ki je del učnega paketa. To je standarden 5 x 8 matrični zaslon z 2 vrstama s 16 znaki v vsaki. 16 x 2 LCD zaslon v uporabi.
več vrstic potrebuje statično delovanje (na primer 128 x 64 grafično = 8192 segementov = 8192 vrstic). Ker se tako veliko število vrstic ne bi prilegalo na zaslon, niti na IC krmilnika, je izbrano Multipleks delovanje. Zaslon je strukturiran v vrsticah in kolonah in segment se nahaja na vsakem križišču (128 + 64 = 192 vrstic). Tukaj je skenirana vrstica za vrstico (64x, to je multipleks stopnja 1 : 64).
Dvovrstični 5 x 8 matrični zaslon (Vir: podatkovni list Samsung). Krmilniki so delno različno povezani na zaslon in so lahko vklopljeni drugače, glede na proizvajalca. Tako je mogoče da je enovrstični 16 znakovni zaslon narejen iz 2 x 8 znakov. Za te informacije morate preveriti liste s podatki. Večji zasloni velikokrat uporabljajo dva krmilnika, ki imajo Chipselect (CS) ali dve Enable vrstici. Razlog zato je, da ima krmilnik znakovni spomin 80 znakov.
Enostavna nastavitev kontrasta s potenciometrom (Vir: podatkovni list Electronic Assembly). Napetost na pinu Vee bi morala biti prilagodljiva med 0 in 1,5 V. To vezje je primerno za uporabo na sobni temperaturi 0 do 40 °C. Če prilagoditveno območje ni optimalno (nekateri LCD od tega odstopajo) morate zamenjati balast. Praktične vrednosti so na območju med 10 do 22 kΩ. Temperaturno nadzorovana nastavitev kontrasta (Vir: podatkovni list Electronic Assembly).
Nabor znakov na LCD (Vir: podatkovni list Samsung). Naredimo primer z LCD naborom znakov. Sledeča programska koda prikazuje kako lahko zapišete znake iz tabele znakov na zaslon. Posebni znaki, kot je znak za stopinje ali Ohm simbol, niso mogoči s pomočjo močnega izpisa. Ker je to razširjen nabor znakov LCD, moramo uporabiti znakovno tabelo. Tukaj bomo zapisali binarno vrednost v krmilnik zaslona, za izpis znaka Omega. B, na začetku zaporedja primera, označuje da je to zaporedje številk v binarnem zapisu.
Primer kode: Nabor znakov 5. 9 Določitev pinov pogostih LCD Večina zaslonov brez osvetlitve ima pine dodeljene kot je zapisano v naslednji tabeli. Če kasneje uporabite drug LCD, kot priloženega v učnem paketu, priporočamo da si najprej pogledate liste s podatki, da se izognete poškodbam LCD.
Določitev pinov na LCD brez osvetlitve (Vir: podatkovni list Electronic Assebmly). LCD moduli z osvetlitvijo vedno potrebujejo malo več nege. Nekateri proizvajalci ne dajo stike LED osvetlitve na pina 15 in 16, ampak na pina 1 in 2. Še enkrat, preverite podatkovni list proizvajalca preden priključite LCD. Informacija LCD v učnem paketu ima LED povezavo na pina 15 (+=anoda) in 16 (-=katoda).
Arduino™ sintaksa Naš učni paket uporablja naslednjo konfiguracijo: RS = Arduino™-Pin D11 E = Arduino™-Pin D10 D4= Arduino™-Pin D2 D3= Arduino™-Pin D3 D2= Arduino™-Pin D4 D1 = Arduino™-Pin D5 6. 2 .begin() .begin() sproži LCD z navedbo vrstic in kolon. Naš LCD ima 2 vrstici in 16 kolon. Nastavljanje mora zato biti sledeče: Arduino™ sintaksa 6. 3 .clear() .clear() izbriše izpisane znake in postavi kazalec v levi zgornji kot. Arduino™ sintaksa 6. 4 .home() .home() postavi kazalec v zgornji levi kot.
6. 6 .write() .write() zapiše en znak na LCD. To lahko uporabite za izpis posebnih znakov iz tabele znakov ali prikaz ASCII kode za znak. Arduino™ sintaksa Znak @ ima digitalno število 64 v ASCII kodi. Posamezni ASCII znaki so označeni z opuščajem. Lahko ga zapišete tudi sledeče: Arduino™ sintaksa 6. 7 .print() S .print() lahko izpišete celotno zaporedje znakov imenovanih nizi (Strings). Na ta način je možno izpisati tudi spremenljivke.
6. 10 .blink() .blink() vklopi kazalec in kazalec utripa. Arduino™ sintaksa 6. 11 .noBlink() .noBlink() izklopi kazalec in ta preneha utripati. Arduino™ sintaksa 6. 12 .noDisplay() .noDisplay izklopi zaslon. Položaj znaka in kazalca je shranjen. Arduino™ sintaksa 6. 13 .Display() .display ponovno vklopi LCD po .noDisplay(). Zadnje vrednosti so obnovljene. Arduino™ sintaksa 6. 14 .scrollDisplayLeft() .scrollDisplayLeft() pomakne vsebino zaslona na levo za en znak vsakič ko je klicana.
6. 17 .noAutoscroll () .noAutoscroll() prekine .autoscroll() funkcijo. Arduino™ sintaksa 6. 18 .leftToRight() .leftToRight() določi smer izpisa znakov. Zapisani so od leve proti desni. Arduino™ sintaksa 6. 19 .rightToLeft() .rightToLeft() določi smer izpisa znakov. Zapisani so od desne proti levi. Arduino™ sintaksa 6. 20 .createChar() .createChar() ustvari namenski znak. Za to moramo ustvariti Array z osmimi podatkovnimi polji, z določitvijo naših znakov. lcd.
7. LCD funkcije Sledeč primer povzame LCD funkcije, ki so pojasnjene v zgornjem daljšem primeru. Poglejte programsko kodo in zamenjajte nekaj opisanih parametrov, da boste popolnoma razumeli funkcije. Nalaganje Za poskus potrebujete osnovni zapis LCD, ki ste ga že nastavili v testu funkcij.
Novo je to da navedemo pin za osvetlitev z #define backlight. To je predprocesorski ukaz, ki bo zamenjal vsa imena, ki se pojavijo v izvorni kodi z oznako Backlight vrednosti 9. Na ta način lahko naredite spremembe na parametrih zelo hitro, brez da bi morali preiskati celotno izvorno kodo. Nasvet Za več informacije na temo predprocesorjev si http://www.mikrocontroller.
izpišete. Če potrebujete na primer smeška, ga lahko definirate preko Array in ga pošljete na LCD. Obstaja možnost zapolnitve do osmih znakov v RAM (spomin) na LCD. Array naših posebnih znakov mora biti velik 8 bajtov in je najbolje zapisan kot je prikazano v poskusni kodi. Znaki so lahko na primer ustvarjeni na preverjeni risbi pad. Vidite lahko, da je sestavljena iz 8 vrstic in vsaka iz 5 vrednosti, kar odraža 5 x 8 pik v LCD. Kjer nastavimo 1 v binarni kodi, se kasneje pojavi bela pika. Z lcd.
Primer kode: lastni znaki 9. Zatemnitev ozadja Sledeč primer prikazuje kako lahko samodejno nastavite LCD osvetlitev na svetlejšo ali temnejšo. S spremembo PWM vrednosti na pinu D9 se svetlost osvetlitve prilagaja postopoma. Če izberete višjo PWM vrednost bo LED svetlejši. Z nižjo vrednosti PWM zatemnite osvetlitev. S spremembo PWM vrednosti boste spremenili razmerje plus-pause med trajanjem aktivacije in deaktivacije 5 V signala na D9. To prikazuje sledeč primer.
Nalaganje Za poskus potrebujete osnovni zapis LCD, ki ste ga že nastavili v testu funkcij. Primer kode: LCD_LED Primer prikazuje kako deluje samodejni števec gor/dol v praksi. Pomembno je da spremenljivka imenovana flag sprejme določeno začetno vrednost 0. Ko zaženete program se spremenljivka i šteje do 255. Če želite začeti s polno svetlostjo morate določiti spremenljivko flag z 1 in spremenljivko i z 255.
Ko doseže vrednost števca i 255 ali 0, bo spremenljivka flag vedno nastavljena od 0 do 1 in smer števca se bo spremenila (i++ povečuje stanje števca za 1, i— zmanjšuje stanje števca za 1). V Loop() funkciji tokrat ne rabimo uporabiti break, ampak določiti čas s pomočjo funkcije millis(). Šele ko bo razlika, ki smo jo določili v spremenljivki previousMillis, potekla se bo osvetlitev spremenila na eno stopnjo. Na ta način bo program nadaljeval s polnim delovanjem izven If() funkcije.
Primer kode: RTC 33
Če bi želeli izpisati števčeve izpise enega za drugim na zaslon, bi izpisi števca pod 10 izgledali nenavadno, ker vodilna ničla ne bi bila izpisana. Da ima ura znano obliko zapisa »00:00:00«, morate preveriti vrednost, ki mora bit nižja od 10 pred izpisom. Če je vrednost pred izpisom nižja od 10, bo preprost izpis prikazal, na primer »12:1:8«. Vendar preverite, če je vrednost nižja in dodajte »0« ročno, da zapolnite desetice.
11. Merilnik zmogljivosti Izgradnja lastnih merilnikov s preprostimi stvarmi je vedno zanimiva in zabavna. Arduino™ dovoljuje programiranje merilnika zmogljivosti za manjše kondenzatorje v območju 1 nF do približno 100 µF za vaše laboratorije po zelo nizki ceni in z malo truda. Tukaj lahko vidite kako deluje kondenzator s samodejnim območjem: Pričetek meritve, spremenljivka c_time je določena z nič.
Sestavljanje merilnika. 11. 2 Umerjanje vašega merilnika zmogljivosti Najdite različne kondenzatorje – vedno uporabite kondenzatorje katerih kapaciteto natančno poznate. Lahko pustite da vam jo izmeri strokovnjak za elektroniko. Novi kondenzatorji imajo po navadi odtisnjeno vrednosti +/-20 %, odvisno od tipa. V tej meritvi vstavite faktor 1 (c_time=1.0). Priključite enega od kondenzatorjev v merilnik in odčitajte vrednost, ko se ta pojavi za zaslonu.
Primer kode: CAPA 37
12. Naključna števila - generator loterijskih števil Med zapisovanjem, merjenjem, nadzorom, regulacijo in izvajanjem programa je pogosto koristno ustvarjanje naključnih števil, na primer ko se luči vklapljajo in izklapljajo v hiši ob različnih časih. Za ta namen lahko uporabite funkcijo Arduino™-random(). To dovoljuje ustvarjanje preprostega generatorja loterijskih števil. Ne boste rabili več razmišljati katerega števila izbrati, ko boste izpolnjevali vaš loterijski listek.
Sestavljanje generatorja loterijskih števil. Kot anteno lahko uporabite kos žice. Pritisnite tipko, da dobite izpisane zmagovalna števila.
Primer kode: Loterija 40
Ko zaženete program, randomSeed() ustvarite izhodiščno vrednost za funkcijo Random(). Ko spreminjate vrednost randomSeed(), bodo ustvarjena različna naključna števila. Če je vrednost randomSeed() vedno enaka, bodo ustvarjena vedno ista naključna števila, kar ne bo pomagalo pri igranju lota. Tukaj uporabimo našo anteno. Za tvorbo različnih vrednosti s funkcijo randomSeed() uporabite ADC vhod za priključenega skakalca in drugi del skakalca odprt.
Stolpčni diagram med izvajanjem. Nalaganje Za poskus potrebujete osnovni zapis LCD, ki ste ga že nastavili v testu funkcij.
Posamezni deli zaslona stolpčnega diagrama so določeni z Array MyChar0 in MyChar1. Programska koda že prikazuje kako se deli zapolnijo z Array za Array. V funkciji setup(), so znaki ustvarjeni z lcd.createChar(). V funkciji Loop(), je števec gor/dol, ki ga poznate iz prejšnjega primera, tukaj znova uporabljen. Vendar tokrat šteje od 0 do 1024. Na ta način je lahko števec zamenjan z Arduino™ digitalnim vhodom, ki pokriva vrednosti od 0 do 1023.
uporabimo Map() funkcijo. To spremeni lestvico vhodnih vrednosti od 0 do 100 na izhodno vrednosti 0 do 80, glede na vhodno vrednost percent. Sedaj določimo vrednost percent z delitvijo števila polj, ki jih moramo zapolniti s 5 in zapišemo rezultat v spremenljivko c1. Operator % določi ostale delne vrednosti. Spremenljivko zapišemo v spremenljivko c2. Sedaj vemo koliko polj moramo čisto zapolniti in katere samo delno.
Sestavljanje fotometra. LCD povezava je vzpostavljena. V kemiji se uporablja za določitev koncentracije. V zadnje primeru smo programirali stolpčni diagram, tokrat bomo namesto gor/dol števca, predali v uporabo pravo fizikalno vrednost in programirali preprost fotometer.
Načrt priključitve fototrazistorja tipa PT331C na Arduino™ plošči. V diagramskem vezju lahko vidite da je fototranzistor priključen na analogni vhod (ADC) na Arduino™ plošči. Fototranzistor ni lahko ločiti od LED regulatorja. Ima čisto, transparentno ohišje, vendar je to res tudi za nekatere LED. Če niste prepričani ali imate LED ali fototranzistor, lahko preverite s pomočjo multimetra, tako da ga nastavite na določeno upornost.
Primer kode: FOTOMETER 49
Ko ste nastavili vezje in prenesli kodo na Arduino™ ploščo, se bo izpisala vrednost blizu 100 % na LCD v svetlem okolju, in stolpec na stolpčnem diagramu bo skoraj povsem zapolnil spodnjo vrstico LCD. Če sedaj skoraj popolnoma zatemnite fototranzistor, se bo vrednost zmanjšala na blizu 0. Natančneje si poglejte vezje. Fototranzisotr je priključen na 10 kΩ upornik na sprejemniku, ki je priključen na +5 V in na GND (ozemljitev) na oddajniku.
Tukaj je nastavljena vrednost spremenljivke imenovane Treshold. Odgovorna je za občutljivost sprožilca in ne sme biti nastavljena previsoko ali prenizko, ker bo alarmni sistem reagiral zelo slabo ali pa bo sprožil preveč lažnih alarmov. Ocena neprekinjenih meritev, ki je posneta vsakih 5 ms se bo izvedla v programski vrstici. Da to preizkusite potegnite roko čez fototranzistor na razdalji približno 50 cm v normalno osvetljeni sobi in alarm se bo sprožil. To lahko storite tudi zelo hitro.
vmesnika. Tukaj uporabimo USB vmesnik,ki se že nahaja na Arduino™-UNO plošči in ga že uporabljate za programiranje. Upornika R1 in R2 nista potrebna v tem poskusu in nista priložena učnemu paketu! Vendar bosta v nadaljevanju kljub temu razložena. Če ju potrebujete ju lahko dokupite v trgovini z elektroniko. Sestavljanje digitalnega voltmetra. Za zelo natančno izmero napetosti, med 0 in 5 V, lahko uporabite vezje in analogni izhod A0 brez uporabe upornikov R1/R2.
Baud je enota za hitrost prenosa v telekomunikacijski tehnologiji. 19200 Baud pomeni, da bo prenesenih 192000 simbolov na sekundo. Znak za hitrost lahko vsebuje različno število bitov glede na kodiranje in mora biti nastavljeno enako na oddajniku in sprejemniku da je prenos dovoljen. Sledeče vrstice so sedaj uporabljene za pošiljanje merjenih vrednosti ADC (0 do 1013) neposredno na računalnik brez predhodne pretvorbe.
Primer kode: VOLTMETER 56
VB.NET program v delovanju. Da zaženete računalniški program, morate zagnati EXE datoteko v mapi ...\VOLTMETER\vb.net\bin\Release. Nato izberete Comport (vhod), ki je enak tistemu, ki ste ga že nastavili v Arduino™-IDE za prenos programa. Če kliknete Connect, bo prikazana napetost v računalniškem programu. VB.NET program je priložen kot izvorna koda in je lahko uporabljen kot osnova za vaše poskuse. Zato si morate naložiti brezplačen Visual-Basic-Express-Version podjetja Microsoft.
input_data(10) je uporabljena za nastavitev Arraya ki lahko vzame do 10 bajtov. Prejeti bajti iz serijskega vmesnika bodo vpisani kasneje. V funkciji Form1_load() bodo poiskani trenutni računalniški vhodi (Comport). Zapisani so v posebnem seznamu. Funkcija Form1_Load() bo samodejno klicana ob zagonu program, podobno kot Setup() funkcija v Arduino™ programu. V funkciji Button_Connect_Click() lahko nastavite in odprete serijske vmesnike istočasno. Ta funkcija je klicana ko pritisnete tipko Connect.
V funkciji SerialPort1_DataReceived() bo sedaj sledil najbolj zanimiv del programa VB.NET. Ta funkcija bo klicana vsakič ko bodo prejeti podatki serijskega vmesnika. Tukaj preberemo bajte ki jih pošlje program Arduino™ in jih takoj procesira. Pred branjem in procesiranjem vedno preverimo ali je povezava najprej odprta in nato preverimo koliko bajtov je na voljo v sprejemnem spominu. Nato preberemo bajte v input_data() in jim določimo prejete vrednosti spremenljivkam HighByte, LowByte in crc.
Da bo vhodna upornost približno 100 kΩ določimo upornik R1 pri 100 kΩ. V serijskem vezju je razmerje napetosti enako razmerju upornikov med seboj. Upornik R2 mora biti le 1/5 tako veliko kot je upornik R1. Vzamemo 100 kΩ/5 in dobimo vrednost 20 kΩ za R2. Sedaj določimo tok ki teče v vezju. V serijskem vezju je tok skozi upornik enak in napetosti bodo deljene.
Sestavljanje NTC-LCD termometra. Povezava je podobna kot pri fotometru z razliko, da je namesto fotranzistorja uporabljen NTC. NTC je upor ki spreminja svoj upor glede na temperaturo. NTC se imenuje vroč prevodnik. To pomeni, da se njegova upornost zmanjša, ko se temperatura poveča. Diagram povezave NTC termometra.
Diagram vezja prikazuje to nastavitev podrobneje. To je še ena spremenljivka delilnika napetosti, ki sestoji iz 10 kΩ fiksnega upora in spremenljivega NTC-upora. Ko temperatura pade, se upornost NTC povečuje in tako tudi napetost na analognem vhodu A0.
Krivulja upornosti NTC ni ravno linearna in zato jo je potrebno prilagoditi z izračunom. Če želite prejeti prikaz, ne le v stopinjah Celzija, se bo vrednost pretvorila v stopinje Fahrenheita in prikazala na zaslonu. Kot lahko vidite, lahko zapišemo izračune naenkrat po ukazu return in ni potrebno, da najprej predate spremenljivko. Ta funkcija izračuna vrednost v stopinjah Fahrenheit, kot se uporablja v ameriškem sistemu, ki pa temelji na stopinjah Celzija.
V tem programu je tudi uporabljen serijski vmesnik in enaka vrednost je prikazana na LCD in dodatno preko ASCII niza preko UART vmesnika. Pri odpiranju notranjega terminalskega programa Arduino ™ in nastavitvi lastnega vmesnika za 9600 Baud, boste prejeli izmerjeno vrednosti v golo besedilo v terminalski program. 18. Ploter za temperaturo z USB vmesnikom Razširimo termometer z VB.
Temperaturni ploter v uporabi. 19. Ura Websynchronous V tem učnem paketu smo že programirali uro. Ker to ni zelo natančna ura in ima zelo veliko odstopanje v okviru obratovalnega časa, bomo sedaj programirali uro Websynchronous, s poznavanjem serijskega prenosa podatkov med računalnikom in Arduino ™. To je Websynchronous, ker je Windows čas kot privzeto samodejno usklajen s spletnim časovnim strežnikom v ozadju. V tem VB.NET programu bomo sedaj poslali čas računalnika na Arduino ™ in ga oddajali na LCD. VB.
Primer kode: PC čas 69
Osnovna struktura programa ustreza točnemu času (RTC - Real Time Clock), ki smo se ga že naučili na začetku učnega paketa. Tokrat nismo prejeli nobenih podatkov v VB.NET programu, ampak poslane podatke iz računalnika na Arduino ™. Podatki ustrezajo uram, minutam in sekundam v obliki bajtov. Beremo jih z Arduino ™, ko je Serial.available () večji od tri. To je značilno da so trije bajti v teku v sprejemnem vmesnem pomnilniku. Uporabljamo Serial.
Te kratice so uporabljene v vseh enačbah v tem priročniku. Vrednost Napetost Tok Upor Moč Frekvenca Čas Valovna dolžina Induktivnost Kapaciteta Ploščina Kratica U I R p f t Λ (Lambda) L C A Enota Volt Amper Ohm Watt Hertz sekunda meter Henry Farad kvadratni meter Kratica V A Ω W Hz s m H F m2 20.
# $ % & ‘ ( ) * + , .
Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ DEL 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 059 05A 05B 05C 05D 05E 05F 060 061 062 063 064 065 066 067 068 069 06A 06B 06C 06D 06E 06F 070 071 072 073 074 075 076 077 078 079 07A 07B 07C 07D 07E 07F 01011001 01011010 01011011 01011100 01011101 01011110 01011111 01100000 01100001 01100010 01100011 01100100 01100101
GARANCIJSKI LIST Izdelek: Učni paket Conrad Components Arduino™ razumeti in uporabljati 10174 od 14. leta starosti naprej Kat. št.: 138 41 45 Conrad Electronic d.o.o. k.d. Ljubljanska c. 66, 1290 Grosuplje Fax: 01/78 11 250, Tel: 01/78 11 248 www.conrad.si, info@conrad.si Garancijska izjava: Proizvajalec jamči za kakovost oziroma brezhibno delovanje v garancijskem roku, ki začne teči z izročitvijo blaga potrošniku. Garancija velja na območju Republike Slovenije. Garancija za izdelek je 1 leto.