Arduino - Potentiometer activeert LED

In een eerdere tutorial hebben we geleerd hoe we de helderheid van een LED kunnen veranderen op basis van de uitgangswaarde van een potentiometer. In deze tutorial gaan we leren hoe we:

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×Potentiometer
1×(Alternatief) Potentiometer Kit
1×(Alternatief) Potentiometer Module met Knop
1×LED Kit
1×LED (red)
1×220 ohm weerstand
1×Breadboard (experimenteerprint)
1×Jumper wires
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over LED en Potentiometer

Als u nog niet bekend bent met LED en potentiometer (pinout, werking, programmeren, enzovoort), leer er meer over in de volgende tutorials:

Aansluitschema

Arduino Potentiometer LED Aansluitschema

This image is created using Fritzing. Click to enlarge image

Arduino Code - Analoge Drempelwaarde

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-potentiometer-triggers-led */ // constants won't change const int POTENTIOMETER_PIN = A0; // Arduino pin connected to Potentiometer pin const int LED_PIN = 3; // Arduino pin connected to LED's pin const int ANALOG_THRESHOLD = 500; void setup() { pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode } void loop() { int analogValue = analogRead(POTENTIOMETER_PIN); // read the input on analog pin if(analogValue > ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }

Snelle Stappen

  • Verbind de Arduino met de pc via de USB-kabel
  • Open de Arduino IDE, selecteer de juiste board en poort
  • Kopieer bovenstaande code en open deze in de Arduino IDE
  • Klik op de Upload-knop in de Arduino IDE om de code naar de Arduino te uploaden
Arduino IDE Code Uploaden
  • Draai aan de potentiometer
  • Zie hoe de staat van de LED verandert

Uitleg Code

Lees de regel-voor-regel uitleg in de commentaarregels van de broncode!

Arduino Code - Spanningsdrempel

De analoge waarde van de potentiometer wordt omgezet naar een spanningswaarde, die vervolgens wordt vergeleken met een spanningsdrempel om de LED te activeren

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-potentiometer-triggers-led */ // constants won't change const int POTENTIOMETER_PIN = A0; // Arduino pin connected to Potentiometer pin const int LED_PIN = 3; // Arduino pin connected to LED's pin const float VOLTAGE_THRESHOLD = 2.5; // Voltages void setup() { pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode } void loop() { int analogValue = analogRead(POTENTIOMETER_PIN); // read the input on analog pin float voltage = floatMap(analogValue, 0, 1023, 0, 5); // Rescale to potentiometer's voltage if(voltage > VOLTAGE_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED } float floatMap(float x, float in_min, float in_max, float out_min, float out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u de stappen gemakkelijker te volgen.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!