Inhoudsopgave:

Ademhalings-LED met Arduino Uno R3 - Ajarnpa
Ademhalings-LED met Arduino Uno R3 - Ajarnpa

Video: Ademhalings-LED met Arduino Uno R3 - Ajarnpa

Video: Ademhalings-LED met Arduino Uno R3 - Ajarnpa
Video: ChatGPT เขียนโค้ด รายงานอุณหภูมิ (Temp) ความชื้น (Humidity) แสดงผลบนจอ LCD 16x2 บนบอร์ด ESP8266 2024, November
Anonim
Ademhalings-LED met Arduino Uno R3
Ademhalings-LED met Arduino Uno R3

Laten we in deze les iets interessants proberen: de luminantie van een LED geleidelijk veranderen door middel van programmeren. Omdat het pulserende licht op ademen lijkt, geven we het een magische naam - ademende LED. We zullen dit effect bereiken met pulsbreedtemodulatie (PWM)

Stap 1: Componenten

- Arduino Uno-bord * 1

- USB-kabel * 1

- Weerstand (220Ω) * 1

-LED * 1

- Broodplank * 1

- Jumper draden

Stap 2: Principe

Principe
Principe

Pulsbreedtemodulatie, of PWM, is een techniek om analoge resultaten te verkrijgen met digitale middelen. Digitale besturing wordt gebruikt om een blokgolf te creëren, een signaal dat tussen aan en uit wordt geschakeld. Dit aan-uit-patroon kan spanningen simuleren tussen volledig aan (5 volt) en uit (0 volt) door het deel van de tijd dat het signaal doorbrengt te veranderen ten opzichte van de tijd dat het signaal uit is. De duur van "op tijd" wordt pulsbreedte genoemd. Om variërende analoge waarden te krijgen, verandert of moduleert u die breedte. Als je dit aan-uit-patroon snel genoeg herhaalt met een of ander apparaat, bijvoorbeeld een LED, zou het als volgt zijn: het signaal is een constante spanning tussen 0 en 5V die de helderheid van de LED regelt. (Zie de PWM-beschrijving op de officiële website van Arduino).

In de onderstaande afbeelding vertegenwoordigen de groene lijnen een reguliere tijdsperiode. Deze duur of periode is het omgekeerde van de PWM-frequentie. Met andere woorden, met Arduino PWM-frequentie van ongeveer 500 Hz, zouden de groene lijnen elk 2 milliseconden meten.

Een aanroep naar analogWrite() is op een schaal van 0 - 255, zodat analogWrite(255) een inschakelduur van 100% (altijd aan) vraagt en analogWrite(127) een inschakelduur van 50% is (op de helft van de tijd) voor voorbeeld.

U zult zien dat hoe kleiner de PWM-waarde is, hoe kleiner de waarde zal zijn nadat deze in spanning is omgezet. Dan wordt de LED overeenkomstig dimmer. Daarom kunnen we de helderheid van de LED regelen door de PWM-waarde te regelen.

Stap 3: Het schematische diagram

Het schematische diagram
Het schematische diagram

Stap 4: Procedures

Procedures
Procedures
Procedures
Procedures

Door te programmeren kunnen we de functie analogWrite() gebruiken om verschillende waarden naar pin 9 te schrijven. De luminantie van de LED zal op basis daarvan veranderen. Op het SunFounder Uno-bord zijn pin 3, 5, 6, 9, 10 en 11 de pinnen van PWM (met "~" gemarkeerd). U kunt elk van deze pinnen aansluiten.

Stap 1:

Bouw de schakeling.

Stap 2:

Download de code van

Stap 3:

Upload de schets naar het Arduino Uno-bord

Klik op het pictogram Uploaden om de code naar de besturingskaart te uploaden.

Als "Klaar met uploaden" onderaan het venster verschijnt, betekent dit dat de schets succesvol is geüpload.

Hier zou je moeten zien dat de LED helderder en helderder wordt, dan langzaam dimt, en weer helderder en zwakker herhaaldelijk, net als ademen.

Aanbevolen: