Arduino - Touch Sensor schakelt LED aan/uit

In een vorige tutorial hebben we geleerd hoe we de LED aan kunnen zetten wanneer de touch sensor wordt aangeraakt en de LED uitzetten wanneer de touch sensor wordt losgelaten. In deze tutorial gaan we leren hoe u met elke aanraking van de touch sensor de LED kunt schakelen (toggle).

Hardware benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×Aanraaksensor
1×LED Kit
1×LED (red)
1×220 ohm weerstand
1×Breadboard (experimenteerprint)
1×Jumper wires (verbindingsdraden)
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 Touch Sensor

Als u niet bekend bent met de LED en touch sensor (pinout, werking, programmeren ...), leer er meer over in de volgende tutorials:

Bedradingsschema

Arduino Touch Sensor LED bedrading schema

This image is created using Fritzing. Click to enlarge image

Arduino Code - Touch Sensor schakelt LED aan/uit

/* * 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-touch-sensor-toggle-led */ // constants won't change const int TOUCH_SENSOR_PIN = 7; // Arduino pin connected to touch sensor's pin const int LED_PIN = 3; // Arduino pin connected to LED's pin // variables will change: int ledState = LOW; // the current state of LED int lastTouchState; // the previous state of touch sensor int currentTouchState; // the current state of touch sensor void setup() { Serial.begin(9600); // initialize serial pinMode(TOUCH_SENSOR_PIN, INPUT); // set arduino pin to input mode pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode currentTouchState = digitalRead(TOUCH_SENSOR_PIN); } void loop() { lastTouchState = currentTouchState; // save the last state currentTouchState = digitalRead(TOUCH_SENSOR_PIN); // read new state if(lastTouchState == LOW && currentTouchState == HIGH) { Serial.println("The sensor is touched"); // toggle state of LED ledState = !ledState; // control LED arccoding to the toggled state digitalWrite(LED_PIN, ledState); } }

Snelle Stappen

  • Verbind de Arduino met de pc via de USB-kabel
  • Open de Arduino IDE, selecteer het juiste board en de juiste poort
  • Kopieer bovenstaande code en open deze met de Arduino IDE
  • Klik op de Upload knop in de Arduino IDE om de code naar de Arduino te uploaden
  • Houd de touch sensor enkele seconden ingedrukt en laat deze vervolgens los
  • Bekijk de verandering in de status van de LED

Code Uitleg

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

In de code is ledState = !ledState gelijk aan de volgende code:

if(ledState == LOW) ledState = HIGH; else ledState = LOW;

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...

※ 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!