Sisukord:

Heleduse juhtimine, Arduino (koos animatsioonidega): 7 sammu
Heleduse juhtimine, Arduino (koos animatsioonidega): 7 sammu

Video: Heleduse juhtimine, Arduino (koos animatsioonidega): 7 sammu

Video: Heleduse juhtimine, Arduino (koos animatsioonidega): 7 sammu
Video: Изучите Arduino за 30 минут: примеры и проекты 2024, Juuli
Anonim
Image
Image

Viimase paari aasta jooksul olen ehitanud kaks pinball -masinat (pinballdesign.com) ja kaks robotipead (grahamasker.com), millest igaüks on Arduinose kontrolli all. Olles teinud mehaanikainseneri karjääri, on mul mehhanismide projekteerimisega kõik korras, kuid ma võitleksin programmeerimisega. Otsustasin luua animatsioone, et illustreerida mõningaid Arduino põhimõisteid. Ma arvasin, et see aitab mul ja teistel neist aru saada. Pilt on väärt tuhat sõna ja animatsioon võib olla tuhat pilti!

Nii et siin on animeeritud selgitus heleduse reguleerimise teemal. Ülaltoodud animatsioon näitab Arduinoga ühendatud potentsiomeetri skeemi. See näitab, kuidas potentsiomeetri asendi reguleerimine võib muuta LED -i heledust. Ma selgitan selle protsessi kõiki elemente. Kõigile, kes ei tunne potentsiomeetreid ja LED -e, alustan neist. Seejärel selgitan, miks peab LED olema ühendatud PWM -toega Arduino kontaktiga ja kuidas MAP -funktsiooni kasutatakse Arduino visandis, et muuta potentsiomeetri sisend väljundiks, mis sobib LED -i juhtimiseks.

Kui olete LED -ide ja potentsiomeetritega tuttav, võite jaotised 1 ja 2 vahele jätta.

Samm: LED -ide kohta

LED -ide kohta
LED -ide kohta

Ülaltoodud vasakpoolne joonis näitab LED -i vooluahela sümbolit ja juhitud jalgade polaarsust. Vool voolab läbi LED -i ainult ühes suunas, nii et polaarsus on oluline. Pikem jalg on positiivne. Samuti on äärikul lame külg, see on negatiivne külg.

PINGE ja VOOLNE

LED -i nõutav pinge on sõltuvalt selle värvist vahemikus 2,2–3,2 volti. Nende praegune reiting on tavaliselt 20 mA. Voolu piiramiseks ja LED -i ülekuumenemise vältimiseks on vaja iga LED -iga kasutada järjestikku takistit. Soovitan umbes 300 oomi.

Parempoolsel joonisel on näidatud viis takisti jootmiseks LED -i jala külge ja selle isoleerimiseks termokahaneva ümbrisega.

2. samm: POTENTIOMEETER

POTENTIOMEETER
POTENTIOMEETER

Arduino mõistes on potentsiomeeter andur. „Andur” viitab mis tahes välisseadmele, mida Arduino saab sisendpistikutega ühendades tunda. LED -i heleduse juhtimiseks kasutame Arduinoga ühendatud potentsiomeetrit. Potentsiomeetrit nimetatakse mõnikord pingejaguriks, mis on minu arvates parem kirjeldus. Ülaltoodud diagramm näitab pingejaguri põhimõtet. Selles näites on takisti ühendatud ühest otsast maandusega ja seda hoiab mõni toiteallikas teises otsas 5 V juures. Kui liugurit liigutatakse mööda takistit, on see vasakpoolses otsas pingel 0v, paremal 5v. Mis tahes muus asendis on see vahemikus 0v kuni 5v. Poolel teel on see näiteks 2,5 V juures. Kui kujundame paigutuse ümber nii, nagu ülal näidatud, näitab see pöörleva potentsiomeetri toimimist.

3. etapp: Ahel

SUHTLUS
SUHTLUS

Ülaltoodud illustratsioon näitab, kuidas peame potentsiomeetri ja LED -i ühendama Arduinoga.

Ardunio peab tajuma pinget, mida talle potentsiomeeter annab. Pinge muutub sujuvalt potentsiomeetri pööramisel, seega on see analoogsignaal ja seetõttu tuleb see ühendada Arduino analoogsisendiga. Arduino loeb selle tihvti pinget iga kord, kui programm seda funktsiooni „analogRead” kaudu nõuab.

Arduinol on ainult digitaalsed väljundpoldid. Kuid need nööpnõelad, mille kõrval on tilde (~), simuleerivad analoogväljundit, mis sobib LED -i heleduse juhtimiseks. Seda protsessi nimetatakse impulsi laiuse modulatsiooniks (PWM) ja seda selgitatakse järgmise animatsiooni, 4. sammu kaudu.

4. samm: PWM

PWM, impulsi laiuse modulatsioon

Nagu varem mainitud, on tildaga tihvtid, nende kõrval “~”, PWM -tihvtid. Kuna tihvtid on digitaalsed, võivad need olla ainult 0 või 5 V pingel, kuid PWM -iga saab neid kasutada LED -i hämardamiseks või mootori kiiruse juhtimiseks. Nad teevad seda, tarnides LED -ile 5 V, kuid pulsseerides seda vahemikus 0–5 V sagedusel 500 Hz (500 korda sekundis) ja venitades või vähendades impulsi iga 0–5 V elemendi kestust. Kuna LED näeb pikemat 5v impulsi kui 0v impulss, muutub see heledamaks. Meie programmis kasutame PWM „ruutlaine” väljastamiseks funktsiooni analogueWrite (). Sellel on 256 sammu, null annab 0% töötsükli ja 255 annab 100% töötsükli, st pidev 5 volti. Seega annab 127 50% töötsükli, pool ajast 0v ja pool aega 5v juures. Ülaltoodud animatsioon näitab, kuidas selle töötsükli venitamisel 100% suunas muutub LED heledamaks.

5. samm: PROGRAMM (ARDUINO SKETCH)

Image
Image

Ülaltoodud video läbib programmi (visandi), mida saab kasutada LED -i heleduse reguleerimiseks potentsiomeetri abil. Ahel on sama, mis näidatud 3. sammus.

Kui leiate, et seda videot on mugav (või aeglane) lugeda, saate selle kiirust reguleerida Alumise juhtriba parempoolses otsas on hammasratta kujuga sümbol (mõnikord punase „HD” sildiga).) Kui klõpsate, kuvatakse menüü, mis sisaldab "taasesituse kiirust".

Oleks muidugi parem, kui saaksite klõpsata nupul, et astuda läbi iga programmi rida omal kiirusel, kuid kahjuks pole seda interaktiivset meetodit siin võimalik pakkuda. Kui eelistate seda meetodit sellel teemal ja paljudel teistel Arduino teemadel kasutada, on interaktiivse/animeeritud e -raamatu tasuta eelvaateversioon saadaval saidil animatedarduino.com

Programmis on üks funktsioon, mis minu arvates vajab rohkem selgitust: 14. real kasutatakse funktsiooni "kaart". Järgnevalt, 6. sammus, selgitatakse selle eesmärki

6. samm: KAART

Meil on potentsiomeeter ühendatud analoogpistikuga. Potentsiomeetri pinge varieerub vahemikus 0 kuni 5 V. See vahemik registreeritakse protsessoris 1024 sammuga. Kui väärtuse sisendit kasutatakse väljundi loomiseks PWM -toega digitaalse tihvti kaudu, tuleb see vahemik kaardistada digitaalse tihvti väljundvahemikuga. Sellel on 255 sammu. Selleks kasutatakse kaardifunktsiooni ja see annab sisendiga proportsionaalse väljundi.

Ülaltoodud video illustreerib seda.

Samm: animeeritud Arduino

Selles juhendis olevad pildid on võetud minu e -raamatust Animated Arduino, mis on saadaval aadressil www.animatedarduino.com ja mille eesmärk on paremini mõista mõningaid Arduino programmeerimise õppimisel tekkinud mõisteid.

Veebisaidil on saadaval e -raamatu tasuta eelvaate koopia, mis võimaldab teil kogeda raamatu interaktiivset olemust. See on põhimõtteliselt näidislehtede kogum ja jätab seega palju selgitust välja. See sisaldab näidislehti, mis võimaldavad teil klõpsata nuppudel, mis juhivad teid läbi iga programmi rea ja vaatavad seotud kommentaare. Teistel lehtedel on videoanimatsioonid ja helisisu, mida saate juhtida. Sisuleht on lisatud, et saaksite näha, mida kogu väljaanne sisaldab.

Soovitan: