Inhoudsopgave:

LED besturen met potentiometer met Arduino Uno R3 - Ajarnpa
LED besturen met potentiometer met Arduino Uno R3 - Ajarnpa

Video: LED besturen met potentiometer met Arduino Uno R3 - Ajarnpa

Video: LED besturen met potentiometer met Arduino Uno R3 - Ajarnpa
Video: Arduino opdracht 6 - LED besturen met potmeter 2024, November
Anonim
LED aansturen door potentiometer met Arduino Uno R3
LED aansturen door potentiometer met Arduino Uno R3

Eerder hebben we Serial Monitor gebruikt om gegevens naar de besturingskaart te sturen, wat verhelderend kan zijn om nieuwe software te kennen. Laten we in deze les kijken hoe we de luminantie van een LED kunnen veranderen met een potentiometer en de gegevens van de potentiometer in Serial Monitor kunnen ontvangen om de waardeverandering te zien.

Stap 1: Componenten

- Arduino Uno-bord * 1

- USB-kabel * 1

- Weerstand (220Ω) * 1

-LED * 1

- Potentiometer * 1

- Broodplank * 1

- Jumper draden

Stap 2: Principe

Een lineaire potentiometer is een analoge elektronische component. Dus wat is het verschil tussen een analoge waarde en een digitale? Simpel gezegd, digitaal betekent aan/uit, hoog/laag niveau met slechts twee toestanden, d.w.z. 0 of 1. Maar de gegevenstoestand van analoge signalen is lineair, bijvoorbeeld van 1 tot 1000; de signaalwaarde verandert in de loop van de tijd in plaats van een exact aantal aan te geven. Analoge signalen omvatten die van lichtintensiteit, vochtigheid, temperatuur, enzovoort.

Stap 3: Het schematische diagram

Het schematische diagram
Het schematische diagram

Stap 4: Procedures

Procedures
Procedures
Procedures
Procedures

In dit experiment wordt de potentiometer gebruikt als:

spanningsdeler, wat betekent dat apparaten op alle drie de pinnen worden aangesloten. Sluit de middelste pin van de potentiometer aan op pin A0 en de andere twee pinnen op respectievelijk 5V en GND. Daarom is de spanning van de potentiometer 0-5V. Draai aan de knop van de potentiometer en de spanning op pin A0 verandert. Zet die spanning vervolgens om in een digitale waarde (0-1024) met de AD-converter in de besturingsprint. Door middel van programmering kunnen we de geconverteerde digitale waarde gebruiken om de helderheid van de LED op de besturingskaart te regelen.

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.

Draai aan de as van de potentiometer en je zou de helderheid van de LED moeten zien veranderen.

Als u de corresponderende waardeveranderingen wilt controleren, opent u de seriële monitor en de gegevens in het venster veranderen als u aan de potentiometerknop draait. Dit experiment kan naar wens ook worden gewijzigd in andere. Gebruik bijvoorbeeld de potentiometer om het tijdsinterval voor het knipperen van de LED te regelen.

Stap 5: Coderen

// Gecontroleerd door potentiometer

//Draaien

de as van de potentiometer en je zou de helderheid van de LED moeten zien veranderen.

// Website: www.primerobotics.in

/******************************************/

const

int analogPin = 0;//de analoge ingangspin hecht aan

const

int ledPin = 9;//de led hecht aan

int

inputValue = 0;//variabele om de waarde van sensor op te slaan

int

outputValue = 0;//variabele om de outputwaarde op te slaan

/******************************************/

leegte

opstelling()

{

Serial.begin (9600);// stel de seriële in

communicatie baudrate als 9600

}

/******************************************/

leegte

lus()

{

inputValue = analogRead (analogPin);//lees de

waarde van de potentiometer

Serial.print("Invoer: "); //afdrukken

"Invoer"

Serial.println(inputValue); //afdrukken

invoerwaarde

outputValue = kaart(inputValue, 0, 1023, 0, 255); // Converteren van 0-1023 evenredig met het aantal van een getal van 0 tot 255

Serial.print("Uitvoer: "); //afdrukken

"Uitgang"

Serial.println(outputValue); //afdrukken

outputWaarde

analogWrite(ledPin, outputValue); // draai de

LED aan afhankelijk van de uitgangswaarde

vertraging (1000);

}

/*******************************************/

Aanbevolen: