Kuidas ühendada LED Arduino plaadiga
Arduino platvorm on metsikult populaarne kogu maailmas. See on ideaalne tööriist riistvara programmeerimise ja juhtimise õppimise esimesteks sammudeks. Kui teie oskused kasvavad, saate välisseadmete lisamisega suurendada arhitektuuri ja luua keerukamaid süsteeme, mis käitavad keerukamaid programme. Algkoolituseks sobivad Arduino Uno ja Arduino Nano lauad. Selles näites ühendame LED-id Arduinoga.
Mis on Arduino Uno ja Arduino Nano?
Arduino Uno plaadi aluseks on ATmega328 mikrokontroller. Sellel on ka täiendavad elemendid:
- kvartsresonaator;
- reset-nupp;
- USB-pistik;
- integreeritud pingeregulaator;
- toitepistik;
- mitu LED-i režiimi näitamiseks;
- sidekiip USB-kanali jaoks;
- pistik kiibile programmeerimiseks;
- veel mõned aktiivsed ja passiivsed elemendid.
Kõik see võimaldab teha esimesi samme jootekolvi kasutamata ja vältida trükkplaadi valmistamise sammu. Seade saab toite välisest 7...12V toiteallikast või USB-pistiku kaudu. Moodul on visandi laadimiseks ühendatud ka arvutiga. Plaadil on 3,3 V pingeallikas välisseadmete toiteks. Töötamiseks on saadaval 6, 14 üldotstarbelist digitaalset väljundit. Digitaalse väljundi koormusvõimsus 5 V toitel on 40 mA.See tähendab, et LED-i saab sellega otse ühendada läbi a piirav takisti.
Arduino Nano plaat ühildub täielikult Unoga, kuid on väiksema suurusega ning sellel on mõningaid erinevusi ja lihtsustusi, nagu on näidatud tabelis.
Juhatus | Kontroller | Välise toite pistik | Mikrolülitus USB side jaoks | USB-pistik |
---|---|---|---|---|
Arduino Uno | ATmega328 | Kontrollige | ATmega8U2 | USB A-B |
Arduino nano | ATmega328 | Ei | FT232RL | mikro-USB |
Erinevused ei ole põhimõttelised ega ole käesoleva ülevaate teema jaoks olulised.
Mida on vaja LED-i ühendamiseks Arduino plaadiga
LED-i ühendamiseks on kaks võimalust. Koolituse eesmärgil saate valida ühe.
- Kasutage sisseehitatud LED-i. Sel juhul pole teil vaja midagi muud peale kaabli USB kaudu arvutiga ühendamiseks – toite ja programmeerimise jaoks. Plaadi toiteks pole mõtet kasutada välist pingeallikat: voolutarve on väike.USB A-B kaabel Arduino Uno ühendamiseks arvutiga.
- Ühendage välised LED-id. Siin vajate lisaks:
- LED ise;
- 0,25 W voolu piirav takisti (või rohkem), mille nimiväärtus on 250–1000 oomi (olenevalt LED-ist);
- juhtmed ja jootekolb välise vooluahela ühendamiseks.
LED-id ühendatakse katoodiga mikrokontrolleri mis tahes digitaalse viiguga, anoodiga ühise juhtmega läbi liiteseadistakisti. Kui teil on palju LED-e, võite vajada täiendavat toiteallikat.
Kas ühe terminaliga on võimalik ühendada mitu LED-i
Võib osutuda vajalikuks ühendada väline LED või LED-ide rühm mis tahes kontaktiga. Mikrokontrolleri ühe viigu kandevõime, nagu eespool mainitud, on väike. Sellega saab otse paralleelselt ühendada ühe või kaks LED-i voolutarbimisega 15mA. Te ei tohiks testida tihvti vastupidavust, kui koormus on selle äärel või seda ületab. Parem on kasutada transistori lülitit (väli- või bipolaarne).
Takisti R1 tuleb valida nii, et seda läbiv vool ei ületaks väljundi kandevõimet. Parem on võtta pool või vähem maksimumist. Niisiis, mõõduka voolu määramiseks 10 mA., peaks takistus 5-voldise toiteallika juures olema 500 oomi..
Igal LED-il peaks olema oma liiteseadis takisti, selle asendamine ühe ühise takistiga on ebasoovitav. Rbal valitakse nii, et iga LED seab oma töövoolu. Niisiis, toitepinge 5 volti ja voolu jaoks 20 mA, peaks takistus olema 250 oomi või lähim standardväärtus.
Tuleb tagada, et transistori kollektorit läbiv koguvool ei ületaks selle maksimaalset väärtust. Nii et transistori KT3102 puhul peaks kõrgeim Ik olema piiratud 100 mA-ga. See tähendab, et vooluga ei saa sellega ühendada rohkem kui 6 LED-i 15 mA. Kui sellest ei piisa, peate kasutama võimsamat lülitit. See on ainus piirang n-p-n transistori valikul selles ahelas. Teoreetiliselt tuleks arvestada ka trioodi võimendusega, kuid antud tingimuste puhul (sisendvool 10 mA, väljund 100) peaks see olema vähemalt 10. Seda h21e saab toota iga kaasaegne transistor.
See ahel ei sobi mitte ainult mikrokontrolleri väljundi voolu suurendamiseks. Nii saab ühendada üsna võimsad ajamid (releed, solenoidid, mootorid), mis töötavad kõrgema pingega (nt 12 volti). Arvutamisel peate võtma sobiva pinge väärtuse.
Võite ka kasutada MOSFET-transistoridkuid nende avamiseks võib vaja minna kõrgemat pinget, kui Arduino väljund suudab pakkuda. Sel juhul peate varustama täiendavaid vooluahelaid ja elemente. Selle vältimiseks peaksite kasutama niinimetatud "digitaalseid" väljatransistore - neid on vaja ainult 5 5 volti avama. Kuid need on vähem levinud.
LED-ide tarkvaraline juhtimine
Lihtsalt LED-i ühendamine mikrokontrolleri väljundiga ei tee palju.Peate õppima, kuidas Arduino LED-i programmiliselt juhtida. Seda saate teha Arduino keelega, mis põhineb C (C). See programmeerimiskeel on C kohandamine esmaseks koolituseks. Pärast selle valdamist pole C++-le üleminek keeruline. Visandite (see on Arduino programmide nimi) kirjutamiseks ja nende reaalajas silumiseks peate tegema järgmist:
- installige personaalarvutisse Arduino IDE keskkond;
- peate võib-olla installima USB-sidekiibi draiveri;
- ühendage plaat USB-microUSB-kaabli abil arvutiga.
Lihtsate programmide ja vooluringide silumiseks saate kasutada arvutisimulaatoreid. Näiteks Proteus (alates versioonist 8) toetab Arduino Uno ja Nano plaatide simuleerimist. Simulaatori mugavus seisneb selles, et triikrauda on võimatu välja lülitada, kui vooluahel on valesti kokku pandud.
Skeemid koosnevad kahest moodulist:
- seadistamine - käivitatakse üks kord programmi käivitamisel ja lähtestab muutujad ja triikraua režiimid;
- silmus - töötab tsükliliselt pärast seadistamist kuni lõpmatuseni.
Sest LED saab kasutada mis tahes 14 vaba tihvti (tihvti), mida sageli nimetatakse valesti portideks. Tegelikult on port lihtsustatult öeldes tihvtide rühm. Nööpnõel on vaid element.
Juhtimise näidet peetakse 13. viigu jaoks - LED on sellega juba plaadil ühendatud (läbi Uno plaadil repiiteri võimendi, läbi Nano plaadi takisti). Pordi viiguga töötamiseks peab see olema konfigureeritud sisend- või väljundrežiimis. Seda on mugav teha seadistusosas, kuid mitte kohustuslik – väljundi sihtkohta saab dünaamiliselt muuta. See tähendab, et programmi täitmise ajal saab port töötada sisendi või väljundi jaoks.
Arduino viigu 13 lähtestamine (ATmega 328 mikrokontrolleri pordi B kontakt PB5) näeb välja selline
tühine seadistus ()
{
pinMode (13, väljund);
}
Pärast selle käsu täitmist töötab plaadi pin 13 väljundrežiimis ja vaikimisi on sellel madal loogikatase. Programmi täitmise ajal saate sellele kirjutada nulli või ühe. Ühe kirjutis näeb välja selline:
tühi silmus ()
{
digitalWrite (13, HIGH);
}
Nüüd seatakse tahvli tihvt 13 kõrgele, loogilisele tasemele ja seda saab kasutada LED-i valgustamiseks.
LED-i väljalülitamiseks peate väljundi nullima:
digitalWrite (13, LOW);
Nii saab välisseadmeid juhtida, kirjutades pordiregistri vastavasse bitti vaheldumisi ühe ja nulli.
Nüüd saate LED-i juhtimiseks Arduino programmi keerulisemaks muuta ja õppida, kuidas valgust kiirgavat elementi vilkuda:
tühine seadistus ()
{
pinMode (13, väljund);
}
tühi silmus ()
{
digitalWrite (13, HIGH);
viivitus(1000);
digitalWrite (13, LOW);
viivitus(1000);
}
Käsk viivitus (1000) käsk loob 1000 millisekundi või ühe sekundi pikkuse viivituse. Seda väärtust muutes saate muuta LED-i sagedust või vilkumise sagedust. Kui ühendate välise LED-i mõne teise plaadi viiguga, siis peate programmis määrama ka valitud viigu numbri 13 asemel.
Selguse huvides soovitame videote seeriat.
Kui olete LED-ühenduse Arduinoga selgeks õppinud ja õppinud seda juhtima, saate minna järgmisele tasemele ja kirjutada muid keerukamaid programme. Näiteks saab õppida, kuidas lülitada nupuga kahte või enamat LED-i, muuta välise potentsiomeetriga vilkumise sagedust, reguleerida PWM-iga helendust, muuta RGB-emitteri värvi. Ülesannete taset piirab ainult kujutlusvõime.