Raadi Koodka

Casharka 98-9: Cabbiraadda Heerka Korontada LED iyada oo la isticmaalayo Arduino ama iftiin socda oo leh potentiometer

Casharka 98-9: Cabbiraadda Heerka Korontada LED iyada oo la isticmaalayo Arduino ama iftiin socda oo leh potentiometer

Mashruucan wuxuu ku tusayaa sida loo dhiso mitir heerka danab (voltage level meter) oo isticmaala shan LED oo u shaqeeya sida bandhiga bar-graph, oo si buuxda uu u wado Arduino iyo hal potentiometer. Markaad wareejiso buraha, Arduino wuxuu akhriyaa danabka isbeddelaya ee pin analog ah wuxuuna shidaa hal LED halkii volt, sidaas darteed safka nalalka ayaa si dhab ah "u socda" kor iyo hoos buraha. Waa mid ka mid ah siyaabaha ugu cad ee lagu fahmo gelinta analog, sababtoo ah waxaad si dhab ah u arki kartaa beddelka analog-to-digital oo dhacaya waqtiga dhabta ah sida bar nal ah oo jireed.

5 leds on breadboard with sliding veriable resistor shown connected to Arduino UNO
5 leds on breadboard with sliding veriable resistor shown connected to Arduino UNO

Qiimaha la taaban karo ee halkan aad buu uga baxsan yahay bandhig nal. Markaad fahanto sida loo khariideeyo danab la cabbiray oo loo beddelo jaangooyooyin wax soo saar, waxaad dib u isticmaali kartaa isla qaabkaas oo kale qalab cabbir oo dhab ah. Tusaale ahaan, waxaad dhisi kartaa:

  • Tilmaame batari oo muujiya awoodda hadhay ee 12 V ama USB power bank sida saf LED ah.
  • Cabbir heerka haanta biyaha, halkaas oo dareemaha sabayn (float sensor) uu soo saaro danab u dhiganta qoto dheerka.
  • Bandhig bar heerkul ah oo isticmaalaya dareemaha heerkulka analog sida LM35.
  • Mitir xoogga signaalka ama heerka codka ee qaataha raadiyaha ama amplifier.
  • Akhris dareeme fudud oo loogu talagalay 0–5 V analog transducer kasta (cadaadis, iftiin, boos).
  • Baaritaan danab oo miis tijaabo ah oo loogu talagalay hubinta biraha korontada iyada oo aan la isticmaalin shaashadda multimeter.

Sababtoo ah heerarka waxaa loo xisaabiyaa sida boqolkiiba danabka board-ka, isla koodkaas wuxuu ka shaqeeyaa board-yada 5 V sida Uno iyo Mega iyo sidoo kale board-yada 3.3 V iyada oo hal sadar oo keliya la beddelo.

Qalabka iyo Qaybaha

Liiska qaybaha si ula kac ah ayaa u yar, wax walbana waxaa lagu sharraxay qaybta hore ee fiidiyowga (fiidiyowga 01:54). Waxaad u baahan doontaa:

  • Hal board Arduino (Uno, Nano, ama Mega).
  • Shan LED, sida ugu wanaagsan midab keliya si bar-ku si cad u akhriyo, in kasta oo midabada isku dhafan ay si fiican u shaqeeyaan.
  • Shan resistor xaddidaya hadda. Casharka wuxuu isticmaalaa 1 kΩ resistors, laakiin wax kasta oo ka bilaabma qiyaastii 300 Ω ilaa 1 kΩ way shaqeyn doonaan; qiimaha sare waxay si fudud ka dhigaan LED-yada mugdi (fiidiyowga 05:33).
  • Hal potentiometer. Labada nooc ee buraha wareega iyo nooca sabaynta ayaa la muujiyay (fiidiyowga 02:19).
  • Breadboard iyo fiilooyin isku xirka.

Fiiro gaar ah oo ku saabsan LED-ka laftiisa, maadaama ay muhiim u tahay isku xirka: LED waa diode, sidaas darteed wuxuu kaliya u socdaa hal jiho. Dhinaca fidsan ee jirka balaastigga, iyo lugta gaaban, waa cathode (taban). Lugta dheer waa anode (togan). Casharku wuxuu si faahfaahsan u dhex maraa calaamaddan iyo qaabka jireed (fiidiyowga 02:39).

Qiimaha resistor-ka ma aha mid aan sabab lahayn. LED wuxuu hoos u dhigaa qiyaastii 2 V, noocyada yaryar ee 3 mm iyo 5 mm waxay qaataan qiyaastii 10 mA. Iyada oo la isticmaalayo sahay 5 V, 3 V hadhay waa in lagu hoos dhigaa resistor-ka, sidaas darteed sharciga Ohm wuxuu bixiyaa R = 3 V / 0.01 A = 300 Ω. Taasi waa qiimaha ugu iftiinka badan; isticmaalka 1 kΩ waa doorasho ammaan ah oo waxyar mugdi ah (fiidiyowga 04:41).

Tilmaame Isku Xirka

Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
wiring for Arduino walking light LEDs
wiring for Arduino walking light LEDs

Qaybta LED ee isku xirka waxay la mid tahay mashruuca hore ee nalalka socda: anode kasta oo LED wuxuu ku xiran yahay pin dijitaal u gaar ah, cathode kastana wuxuu dhex maraa resistor oo wuxuu tagaa biin dhulka la wadaago. Casharka LED-yada waxaa lagu xiray pins 7, 6, 5, 4, iyo 3 (fiidiyowga 43:04).

Potentiometer-ka waa qaybta kaliya ee cusub. Labadiisa pin ee dibadda waxay tagaan labada biin ee korontada — hal pin oo dibadda ah dhulka iyo kan kale 5 V (ama 3.3 V haddii aad cabbirayso nidaam 3.3 V). Pin-ka dhexe, oo loo yaqaan wiper, waa wax soo saarka waana inuu ku xirmaa pin analog A0 (fiidiyowga 43:30). Wiper-ka ayaa soo saara danabka isbeddelaya: markaad wareejiso buraha, wiper-ku wuxuu ku dhaqaaqaa waddo iska caabin ah danabkana uu soo bandhigo si siman ayuu ugu beddelmaa inta u dhaxaysa labada biin.

Hal faahfaahin oo muhiim ah: haddii aad ka saarto potentiometer-ka inta wareeggu socdo, pin-ka analog wuu sabaynayaa LED-yaduna si aan kala sooc lahayn ayay u bixin doonaan. Habdhaqankaas waxaa lagu muujiyay fiidiyowga (fiidiyowga 48:52) waana xusuusin wanaagsan in gelinta analog had iyo jeer u baahan tahay il danab la qeexay.

Sharaxaadda Koodka

Koodku wuu gaaban yahay intiisa badanna waa mid toos ah, sidaas darteed qaybtan waxay diiradda saaraysaa kaliya qaybaha aad rabto inaad beddesho. Dhammaan dejintaas waxay ku yaallaan koodka sare.

Qeexitaannada Pin-ka. Kuwani waxay u sheegaan Arduino pins-ka LED-yada iyo potentiometer-ka ay ku xiran yihiin. Haddii aad LED-yadaada si kale u xirtay, beddel lambarradan si ay u dhigmaan — nidaamku wuu muhiim yahay, sababtoo ah LED1 waa heerka ugu hooseeya LED5-na kan ugu sarreeya.

const int potPin = A0;//define a pin to connect potentiometer
const int LED1 = 7;
const int LED2 = 6;
const int LED3 = 5;
const int LED4 = 4;
const int LED5 = 3;

Voltage-ka guddiga. Tani waa qiimaha ugu muhiimsan ee hal muhiim ah in la saxdo. Waa tixraaca lagu xisaabiyo dhammaan heerarka. U dhig 5.0 ee Uno ama Mega, iyo 3.3 ee Nano 3.3 V ama guddiga la mid ah. Haddii aad ka tagto mid khaldan, LED kastaa wuxuu ku shidmi doonaa voltage khaldan (fiidiyowga 44:19).

float boardVoltage= 5.0;//for UNO and MEGA 5.0V for Nano either 5V or 3.3V

Bandhiga voltage-ka Serial-ka. U dhig true si aad u daabacdo voltage-ka la cabbiray Serial Monitor-ka 9600 baud, taas oo aad faa'iido u leh inta lagu guda jiro hagaajinta. U dhig false si aad u aamusto wax soo saarka marka wax walba shaqeeyaan.

boolean showVoltage = true;//true or false to read voltage in serial monitor

Sida beddelku u shaqeeyo. Beddelka analog-to-digital ee Arduino wuxuu soo celiyaa lambar 0 ilaa 1023, sababtoo ah waa beddel 10-bit ah (210 = 1024 tallaabo). Koodhku wuxuu u beddelaa lambarkaas ceyriin voltage dhab ah isagoo isticmaalaya voltage-ka guddiga tixraac ahaan. Tani waa safka la xasuusto haddii aad waligaa u guurto guddi 12-bit ah sida Due, halkaas oo aad u qaybin lahayd 4095 beddelkeeda.

int sensorValue = analogRead(A0);
float voltage = sensorValue * (boardVoltage / 1023.0);

Mantiiqa heerka. Halkii si adag loo qori lahaa voltage-yada, tallaabo kastaa waxaa lagu muujiyay boqolkiiba voltage-ka guddiga. 95% ama ka badan, shanta LED oo dhan way shidmaan; 80% ka badan afar kaliya; iyo si la mid ah ilaa 20%, halkaas oo hal LED shidmo. Habka boqolkiiba ayaa ah waxa ka dhigaya sketch-ka mid la qaadi karo inta u dhaxaysa guddiyada 5 V iyo 3.3 V iyada oo aan dib loo qorin isbarbardhigga.

if (voltage >= boardVoltage*0.95)
{
      digitalWrite(LED1, HIGH);
      digitalWrite(LED2, HIGH);
      digitalWrite(LED3, HIGH);
      digitalWrite(LED4, HIGH);
      digitalWrite(LED5, HIGH);
}

Sababtoo ah koodhku wuxuu isticmaalaa else if, si sax ah hal laan ayaa socda mar kasta oo loop-ka la maro, sidaas darteed tirada saxda ah ee LED-yada ayaa kaliya shidan mar kasta. Daahitaanka 50 ms ee dhammaadka loop kasta wuxuu ka ilaaliyaa bandhigga inuu miiqmo.

Mashruuca Tooska ah iyo Bandhigga

Marka sketch-ka la soo geliyo, fur Serial Monitor-ka 9600 baud oo si tartiib ah u wareeji batoonka. Voltage-ka la daabacay iyo bar-ka LED-ka ayaa si dhow isu raaca: qiyaastii 1 V hal LED ayaa shidan, 2 V laba ayaa shidan, iyo si la mid ah ilaa qiyaastii 4.8 V halkaas oo shanta oo dhan shidan yihiin (fiidiyowga 47:37). Akhrintu waxay ku dhacdaa gudaha boqolkiiba dhowr ee volt ee qiimaha la filayay, taas oo aad u fiican beddelka 10-bit ah.

Haddii tallaabooyinku u muuqdaan kuwo aan sinnayn, badanaa waa iska caabbinta halkii ay ahaan lahayd koodhka. Tababarka wuxuu xusayaa in iska caabbinta carbon-film caadiga ah ay leeyihiin 10% dulqaad, halka noocyada blue metal-film ay caadi ahaan yihiin 1% oo si muuqata u bixiyaan tallaabooyin adag oo sax ah (fiidiyowga 48:18).

Waxa kale oo aad u beddeli kartaa potentiometer-ka wareega potentiometer slide ah oo aad ku hesho isla dhaqanka laakiin leh dareen toosan, taas oo ah ikhtiyaar fiican haddii aad qorsheyneyso inaad mitirka ku dhejiso guddi (fiidiyowga 49:07).

Haddii aad rabto inaad iftiinka gacanta ku dhaqaajiso halkii aad batoonka ku dhaqaajin lahayd, taas waxaa lagu daboolay Casharka 98-8: Iftiin Socda oo leh Batoon Riix iyo LED-yo leh Arduino. Oo haddii aad kaliya rabto in LED-yadu iskood u socdaan waqti cayiman, eeg Casharka 98-7: Iftiin Socda oo la Isticmaalayo Arduino iyo 5 LED.

Mashaariic la xiriira oo ka socda fiidiyowgan

Cutubyada

  • [00:00] Guudmar 10ka mashruuc ee LED
  • [02:29] Aasaaska LED, calaamadaha, iyo xisaabinta iska caabbinta
  • [42:25] Hordhaca mitirka heerka voltage-ka LED
  • [43:04] Xiriirinta LED-yada iyo potentiometer-ka
  • [43:54] Sharaxaadda koodhka bar-ka voltage-ka
  • [44:19] Dejinta tixraaca voltage-ka guddiga
  • [46:00] Mantiiqa heerka iyo tallaabooyinka boqolkiiba
  • [47:14] Bandhig: akhrinta voltage-ka bar-ka LED
  • [48:18] Dulqaadka iska caabbinta iyo saxnaanta
  • [49:07] Isticmaalka potentiometer slide

Sawirro

wiring for Arduino walking light LEDs
wiring for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
5 LED oo ku yaal sabuuradda rootiga oo leh iska caabin doorsoome oo lagu xidhay Arduino UNO
5 LED oo ku yaal sabuuradda rootiga oo leh iska caabin doorsoome oo lagu xidhay Arduino UNO
941-Lessson 98-LED-9: Arduino code walking LED light controlled by potentiometer
Luqadda: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

Faylasha📁

Arduino Libraries (zip)

Buugga Isticmaalaha