Mirksintis šviesos diodas su „Arduino“ - Užbaigti pamoką

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Įraše išsamiai aptariamas pagrindinis „Arduino“ kodo diegimo vadovas, skirtas mirksėti laive esančiam šviesos diodui. Duomenis sukūrė, išbandė ir parašė Jackas Franko.



KODAS: Paprasta įmontuoti šviesos diodai ant ARDUINO BOARD 13 kaiščio pagal numatytuosius nustatymus yra užprogramuoti dažnai mirksėti 50 milijonų sekundžių greičiu, nes aprašyme jis bus nurodytas asms (milisekundėmis).

/ * pirmasis paprastas
„Arudino“ programa JACKFRANKO * /



int l = 13
//where l is pin 13void setup(){ pinMode
(l,OUTPUT) }void loop() { digitalWrite
(l,HIGH) delay(50) digitalWrite
(l,LOW) delay(50)}

Pastaba: kadangi studijuojame „Arduino UNO R3“ valdybos programavimą, jei nesate programuotojas, dizaineris ar mėgėjas, kaip studentas turite pradėti nuo pagrindų.

Pirmas dalykas yra suprasti „Arduino Uno R3“ įsigyjant rinkinį, kurį galima įsigyti internetinėse parduotuvėse.

Apibūdinimas :

kadangi pagal tradiciją mūsų vardas gaunamas prieš pradedant programą yra gera IDĖJA, čia yra mano pirmoji pagrindinė programa, kuri buvo nurodyta aukščiau, prasidėjo šiuo ženklu / * ir vardo tekstu bei visais dalykais, kuriuos norite įvesti tarp jų * / tai neturi įtakos programai ir nėra programos dalis, nes „Arduino“ programos kompiliatorius žino, kad tarp „/ *, * /“ ženklo esančios medžiagos turi būti praleistos, tai tik programos pavadinimas.

/ * pirmasis paprastas

Programa „Arudino“ BY JACKFRANKO * / „Next Line int l = 13“

// kur l yra 13 kaištis

Tai yra programos „Deklaracija“ dalis, kurioje deklaruosime sveikąjį skaičių su komanda „int“, po kurio bus maža abėcėlė L, kuri lygi 13 ir baigsis kabliataškiu, po to po dvigubo pasvirojo brūkšnio „//“ ir šiek tiek teksto.

Čia mes davėme komandą „int“, kurią paprastai sakome sveikasis skaičius ir mažas L, lygus 13, ir mes baigėme kabliataškiu. Mes sakėme kompiliatoriui, kad reikšmė „l“ yra lygi 13, esančiai smeigtuke Nr. trylika arduino lentoje, čia „l“ yra tik reikšmė, paskirta smeigtukui Nr. 13, kad „l“ nėra jokia kompiliatoriaus funkcija ar scenarijus, mums reikia padaryti kodą šiek tiek draugišką, kad „l“ šis projektas yra LED trumpinys.

Noriu padaryti kodą šiek tiek mažesnį ir sutaupyti šiek tiek vietos. Šiuo metu, jei nenorite jo laikyti „l“, tada pasakykite, kad norite jį laikyti, pvz., „Aš“, tada visame kode, kur visada yra „l“, turite pakeisti jį „aš“, kitaip kompiliatorius neveiks ir suteiks klaidos.

Šį teiginį sudaro antroji dalis, po kurios eina „//“, ir šiek tiek teksto, kurį turime suprasti, kad bet kokius teiginius atidarius seka „//“ ir jie nebuvo uždaryti, kompiliatorius to teiginio neskaitys. Jis gali būti keliose eilutėse, neuždarant. Tai skirta tam, kad suprastume kodą ir nuorodą.

Prieš suprasdami likusią kodo dalį, turime suprasti pagrindines kodo funkcijas ir tai yra „negaliojanti sąranka“ ir „negaliojanti kilpa“, todėl šios dvi funkcijos yra labai svarbios, nes mes deklaruosime savo įvestį, išvestį ir kokio tipo darbą padaryta joje. Taigi pradėkime nuo tuščios sąrankos, tai yra kodo dalis, kurioje mes nurodysime savo įvestis ir išvestis, kurios turi būti vykdomos vieną kartą mūsų projektui. Čia kalbėsime tik apie vieną kodo išvestį.

Kita funkcija „void loop“ yra antroji kodo dalis, kuri bus vykdoma kilpos pavidalu. čia abi šias funkcijas sudaro kreivės laikiklis atidarytas ir uždarytas, o po to, kai atidaromas garbanotas laikiklis, laikantis tam tikrą kodą ir garbanotąjį laikiklį. Pateiksiu informaciją apie šiuos skliaustus kitoje programoje. čia mes turime sutelkti dėmesį į garbanotus skliaustus, kur tarp šių skliaustų yra tam tikras kodas.

void setup(){ pinMode
(l,OUTPUT) }

Čia mes nurodėme funkciją, kuri turi būti vykdoma vieną kartą mūsų projektui ir tai kaip rezultatą. jei pastebėjote, kad savo kodą parašėme garbanotuose skliaustuose, kur deklaravome „pinMode l“ yra išvestis kreivių skliaustuose ir baigiama kabliataškiu,

čia pinMode yra funkcija, paskirta sveikam skaičiui l kaip OUTPUT.

Taigi arduino kompiliatorius supras, kad kaištis Nr. 13 vadinamas l, o l yra kaištis Nr. 13, jei po „PinMode“ funkcijos
kaip išvestį ji atsižvelgs ir į 13, ir į l.

jei ištrinsime int l = 13, tai nelaikys abėcėlės l ir suteiks jums klaidą. Čia mes buvome nustatę kaištį
Nr. 13, kuris yra raidė l, kaip išvestis, jis visada rašomas didžiosiomis raidėmis kaip OUTPUT, o funkcija pinmode yra parašyta pinMode pradedant mažomis raidėmis be tarpo, kitas žodis Mode pradedamas didžiosiomis raidėmis, kurias supranta kompiliatorius, kuriam didžiosios ir mažosios raidės.

Toliau mes pereiname prie savo programos ciklo režimo, čia mes nurodome visą tą funkciją, kuri turi veikti cikle
neribotą ilgą laiką.

void loop() { digitalWrite
(l,HIGH) delay(50) digitalWrite
(l,LOW) delay(50)}

Čia sveiką skaičių l buvome deklaravę HIGH naudodami funkciją digitalWrite. Šis teiginys digitalWrite padarys sveikąjį skaičių l HIGH reiškia, kada ĮJUNGTA jis pasuks ĮJUNGTA kaištis Nr. 13 „Arduino“ lentoje, nes mes nurodėme, kad kaištis Nr. 13 yra l, kuris kreivės skliausteliuose yra atskirtas kableliu.
Čia pasakius tą vėlavimą (50), šis teiginys skaičiuos laiką ms (milisekundėmis), kur 1000 ms yra lygus 1 sekundei. Šioje programoje noriu, kad per vieną sekundę matematiniu būdu apskaičiuotu blykstės 20 kartų
davė man 50 reikšmę, kuri uždėta skliausteliuose.

Tai reiškia, kad po kilpos skyriumi pirmoji eilutė įjungs mano šviesos diodą, esantį kaištyje Nr. 13, ir palaukite 5 ms. Jei neduosime papildomos funkcijos, kad išjungtume šviesos diodą, jis liks įjungtas.

Nors tą vėlavimą buvome sakę 50ms. Taigi mes davėme komandą išjungti šviesos diodą
į „digitalWrite“ (l, LOW) , nurodžius šį teiginį, šviesos diodas neišsijungs, nes ciklas nėra baigtas be vėlavimas (50) pirmiausia įjungiame šviesos diodą, tada laukiame 50 ms, tada mes išjungiame LED ir tada laukiame 50 ms, kad užbaigtume vieną kilpą, kuri gros begalinį laiką, kol „Arduino“ bus maitinamas. Jis įjungs ir išjungs jūsų lemputę prie kaiščio Nr
13 20 kartų per sekundę.




Pora: SPDT kietojo kūno nuolatinės srovės relės grandinė naudojant MOSFET Kitas: Inkubatoriaus atbulinės eigos variklio valdiklio grandinė