Turinys:

Ryškumo valdymas, „Arduino“(su animacijomis): 7 žingsniai
Ryškumo valdymas, „Arduino“(su animacijomis): 7 žingsniai

Video: Ryškumo valdymas, „Arduino“(su animacijomis): 7 žingsniai

Video: Ryškumo valdymas, „Arduino“(su animacijomis): 7 žingsniai
Video: Arduino pamoka Nr. 3: RGB šviesos diodas 2024, Lapkritis
Anonim
Image
Image

Per pastaruosius kelerius metus aš sukūriau dvi pinball mašinas (pinballdesign.com) ir dvi robotų galvutes (grahamasker.com), kurias valdė „Arduinos“. Turėdamas mechaniko inžinieriaus karjerą, man gerai sekasi kurti mechanizmus, tačiau kovoju su programavimu. Nusprendžiau sukurti animaciją, iliustruojančią kai kurias pagrindines „Arduino“sąvokas. Maniau, kad tai padės man ir kitiems juos suprasti. Paveikslas vertas tūkstančio žodžių, o animacija - tūkstantis paveikslėlių!

Taigi čia yra animuotas paaiškinimas ryškumo valdymo tema. Aukščiau pateikta animacija rodo potenciometro, prijungto prie „Arduino“, schemą. Tai rodo, kaip potenciometro padėties reguliavimas gali pakeisti šviesos diodo ryškumą. Aš paaiškinsiu visus šio proceso elementus. Visiems, kurie nėra susipažinę su potenciometrais ir šviesos diodais, pradėsiu nuo jų. Tada paaiškinsiu, kodėl šviesos diodas turi būti prijungtas prie „PWM“įgalinto „Arduino“kaiščio ir kaip MAP funkcija naudojama „Arduino“eskize, kad potenciometro įvestis būtų paversta išvestimi, tinkama valdyti LED.

Jei esate susipažinę su šviesos diodais ir potenciometrais, galite praleisti 1 ir 2 skyrius.

1 žingsnis: APIE šviesos diodus

APIE šviesos diodus
APIE šviesos diodus

Kairėje iliustracijoje pavaizduotas šviesos diodo grandinės simbolis ir kojų poliškumas. Srovė teka per šviesos diodą tik viena kryptimi, todėl svarbu poliškumas. Ilgesnė koja yra teigiama. Taip pat yra plokščia flanšo pusė, tai yra neigiama pusė.

ĮTAMPA ir DABAR

Šviesos diodui reikalinga įtampa svyruoja nuo maždaug 2,2 iki 3,2 voltų, priklausomai nuo jo spalvos. Jų dabartinis reitingas paprastai yra 20 mA. Norint apriboti srovę ir išvengti šviesos diodo perkaitimo, būtina su kiekvienu šviesos diodu nuosekliai naudoti rezistorių. Rekomenduoju apie 300 omų.

Aukščiau esančioje iliustracijoje parodytas būdas, kaip lituoti rezistorių prie šviesos diodo kojos ir izoliuoti jį termiškai susitraukiančia mova.

2 žingsnis: POTENCIOMETRAS

POTENCIOMETRAS
POTENCIOMETRAS

Arduino terminais potenciometras yra jutiklis. „Jutiklis“reiškia bet kurį išorinį įrenginį, kurį prijungęs prie įvesties kaiščių gali jausti „Arduino“. Mes naudosime potenciometrą, prijungtą prie „Arduino“, kad valdytume šviesos diodo ryškumą. Potenciometras kartais vadinamas įtampos dalikliu, kuris, manau, yra geresnis apibūdinimas. Diagrama kairėje viršuje rodo įtampos skirstytuvo principą. Šiame pavyzdyje rezistorius yra prijungtas prie įžeminimo viename gale ir laikomas tam tikro maitinimo šaltinio prie 5 V kitame gale. Jei slankiklis judinamas išilgai rezistoriaus, jo įtampa kairiajame gale bus 0v, o dešinėje - 5v. Bet kurioje kitoje padėtyje jis bus nuo 0 iki 5 v. Pusiaukelėje, pavyzdžiui, jis bus 2,5 V. Jei pertvarkysime išdėstymą, kaip parodyta aukščiau dešinėje, tai reiškia besisukančio potenciometro veikimą.

3 žingsnis: SROVĖ

SROVĖ
SROVĖ

Aukščiau esančioje iliustracijoje parodyta, kaip turime prijungti potenciometrą ir šviesos diodą prie „Arduino“.

„Ardunio“turi jausti įtampą, kurią jam tiekia potenciometras. Sukant potenciometrą, įtampa keičiasi sklandžiai, todėl tai yra analoginis signalas, todėl jį reikia prijungti prie analoginio įvesties kaiščio „Arduino“. Šio kaiščio įtampą „Arduino“skaitys kiekvieną kartą, kai programa to paprašys per funkciją „analogRead“.

„Arduino“turi tik skaitmeninius išvesties kaiščius. Tačiau tie kaiščiai, kurių šalia yra tildė (~), imituoja analoginį išėjimą, kuris yra tinkamas LED šviesos ryškumui valdyti. Šis procesas vadinamas impulso pločio moduliacija (PWM) ir paaiškinamas kitoje animacijoje, 4 veiksme.

4 žingsnis: PWM

PWM, impulsų pločio moduliacija

Kaip minėta anksčiau, kaiščiai su tilda, „~“šalia jų yra PWM kaiščiai. Kadangi kaiščiai yra skaitmeniniai, jie gali būti tik 0v arba 5v, tačiau naudojant PWM jie gali būti naudojami šviesos diodui pritemdyti arba variklio greičiui valdyti. Jie tai daro tiekdami 5V į šviesos diodą, bet pulsuodami nuo 0 iki 5 V esant 500 Hz dažniui (500 kartų per sekundę) ir ištempdami arba sutrumpindami kiekvieno impulsinio 0v ir 5v elemento trukmę. Kadangi šviesos diodas mato ilgesnį 5 V impulsą nei 0 V impulsas, jis tampa šviesesnis. Savo programoje mes naudojame funkciją analogueWrite (), kad išvestume PWM „kvadratinę bangą“. Jis turi 256 žingsnius, nulis suteikia 0% darbo ciklą ir 255 - 100% „darbo ciklą“, ty nuolatinį 5 voltų. Taigi 127 sukuria 50% darbo ciklą, pusę laiko esant 0v ir pusę laiko esant 5v. Aukščiau pateikta animacija parodo, kaip šis darbo ciklas ištemptas iki 100%, tada šviesos diodas tampa ryškesnis.

5 žingsnis: PROGRAMA (ARDUINO SCHEMAS)

Image
Image

Aukščiau pateiktame vaizdo įraše pateikiama programa (eskizas), kurią naudojant galima valdyti LED šviesumą naudojant potenciometrą. Grandinė yra tokia pati, kaip parodyta 3 veiksme.

Jei manote, kad šis vaizdo įrašas greitai (arba lėtai) skaitomas patogiai, galite reguliuoti jo greitį Dešinėje apatinės valdymo juostos pusėje yra simbolis, panašus į krumpliaračio ratą (kartais su raudona „HD“etikete).) Jei spustelėsite, pasirodys meniu, kuriame yra „atkūrimo greitis“.

Žinoma, būtų geriau, jei galėtumėte spustelėti mygtuką, kad pereitumėte kiekvieną programos eilutę savo greičiu, tačiau, deja, to interaktyvaus metodo čia pateikti neįmanoma. Jei norėtumėte naudoti šį metodą šia tema ir daugeliu kitų „Arduino“temų, tada yra nemokama interaktyvios/animacinės el. Knygos peržiūros versija, kurią galima rasti svetainėje animatedarduino.com

Programoje yra viena ypatybė, kurią, manau, reikia daugiau paaiškinti: 14 -oje eilutėje naudojama „žemėlapio“funkcija. Toliau, 6 veiksme, bus paaiškinta jo paskirtis

6 žingsnis: MAP

Mes turime potenciometrą, prijungtą prie analoginio kaiščio. Potenciometro įtampa svyruoja nuo 0 iki 5 V. Šis diapazonas procesoriuje registruojamas 1024 žingsniais. Kai įvesties vertė naudojama kuriant išvestį per PWM įjungtą skaitmeninį kaištį, šis diapazonas turi būti susietas su skaitmeninio kaiščio išvesties diapazonu. Tai yra 255 žingsniai. Žemėlapio funkcija naudojama šiam tikslui ir suteikia išvestį, proporcingą įėjimui.

Aukščiau pateiktas vaizdo įrašas tai iliustruoja.

7 žingsnis: animacinis „Arduino“

Šios instrukcijos vaizdai paimti iš mano el. Knygos „Animated Arduino“, kurią galima rasti svetainėje www.animatedarduino.com, kurioje noriu geriau suprasti kai kurias sąvokas, su kuriomis susiduriama mokantis programuoti „Arduino“.

Svetainėje yra nemokama el. Knygos peržiūros kopija, leidžianti patirti knygos interaktyvumą. Iš esmės tai yra pavyzdinių puslapių rinkinys, todėl daug paaiškinimų nėra. Jame yra pavyzdiniai puslapiai, leidžiantys spustelėti mygtukus, perkeliančius kiekvieną programos eilutę ir peržiūrėti susijusius komentarus. Kituose puslapiuose yra vaizdo animacijų ir garso turinio, kurį galite valdyti. Įtrauktas turinio puslapis, kad galėtumėte pamatyti, kas yra pilname leidime.

Rekomenduojamas: