Arduino Nano - Touch Sensor

Deze tutorial legt uit hoe u een capacitieve touch sensor gebruikt met de Arduino Nano. We leren in detail:

Hardware Benodigd

1×Official Arduino Nano
1×Alternatief: DIYables ATMEGA328P Nano Development Board
1×USB A naar Mini-B USB kabel
1×Aanraaksensor
1×Jumper draden
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Breakout Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Stromsplitter voor Arduino Nano

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 de Touch Sensor

Een capacitieve touch sensor, ook wel bekend als touch button of touch switch, is een veelgebruikt apparaat om andere apparaten te bedienen, bijvoorbeeld een aanraakbare lamp. Het vervult dezelfde functie als een knop, maar wordt vaak gebruikt in moderne apparaten omdat het een strakkere en meer verfijnde uitstraling geeft.

Pinout van de Touch Sensor

De touch sensor heeft drie pinnen:

  • De GND pin moet verbonden worden met de massa (0V).
  • De VCC pin moet verbonden worden met de voedingsspanning (5V of 3,3V).
  • De SIGNAL pin is een uitgangspin. Deze is LOW wanneer niet aangeraakt en HIGH wanneer wel aangeraakt. Deze pin moet verbonden worden met een input pin van de Arduino Nano.
touch sensor pinout

Hoe Het Werkt

  • Wanneer de sensor niet wordt aangeraakt, is de SIGNAL pin van de sensor op een LOW niveau.
  • Wanneer de sensor wel wordt aangeraakt, is de SIGNAL pin van de sensor op een HIGH niveau.

Arduino Nano - Touch Sensor

De SIGNAL pin van de touch sensor is verbonden met een input pin op de Arduino Nano. Door de status van deze input pin te controleren, kunnen we bepalen of de touch sensor is aangeraakt of niet.

Bedradingsschema

Arduino Nano Touch Sensor bedrading

This image is created using Fritzing. Click to enlarge image

Hoe te Programmeren voor Touch Sensor

  • Initialiseer de Arduino Nano pin als digitale ingang met de pinMode() functie. Bijvoorbeeld, onderstaande code zet pin 2 in input mode.
pinMode(2, INPUT_PULLUP);
  • Gebruik de digitalRead() functie om de status van de Arduino Nano pin te lezen.
int inputState = digitalRead(2);

※ Notiz:

Er bestaan twee veelvoorkomende scenario's:

  • Het eerste: Als de input HIGH is, voer een actie uit. Als de input LOW is, voer dan de tegengestelde actie uit.
  • Het tweede: Als de input verandert van LOW naar HIGH (of andersom), voer dan een actie uit.

Afhankelijk van de toepassing kiest u het passende scenario. Bijvoorbeeld, als u een touch sensor gebruikt om een LED te bedienen:

  • Wilt u dat de LED AAN is wanneer de sensor wordt aangeraakt en UIT wanneer niet, dan gebruikt u het eerste scenario.
  • Wilt u dat de LED bij elk aanraken wisselt tussen AAN en UIT, dan gebruikt u het tweede scenario.

Arduino Nano Code voor Touch Sensor

We voeren twee voorbeeldcodes uit:

  • Arduino Nano leest de waarde van de touch sensor en toont deze in de Serial Monitor.
  • Arduino Nano detecteert aanraak- en loslaat gebeurtenissen.

Arduino Nano leest de waarde van de touch sensor en toont deze in de Serial Monitor

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-nano/arduino-nano-touch-sensor */ #define TOUCH_SENSOR_PIN 2 // The Arduino Nano pin connected to the touch sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano pin as an input pinMode(TOUCH_SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: int state = digitalRead(TOUCH_SENSOR_PIN); // print state to Serial Monitor Serial.println(state); }

Snelle Stappen

  • Kopieer de code en open deze met de Arduino IDE.
  • Klik op de Upload knop in de Arduino IDE om de code te compileren en te uploaden naar de Arduino Nano.
  • Leg uw vinger op de sensor en haal deze er weer af.
  • Bekijk het resultaat in de Serial Monitor.
COM6
Send
0 0 0 1 1 1 1 1 1 0 0
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Arduino Nano detecteert of de sensor is aangeraakt of losgelaten

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-nano/arduino-nano-touch-sensor */ #define TOUCH_SENSOR_PIN 2 // The Arduino Nano pin connected to the touch sensor int prev_state = LOW; // The previous state from the input pin int touch_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano pin as an input pinMode(TOUCH_SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: touch_state = digitalRead(TOUCH_SENSOR_PIN); if (prev_state == LOW && touch_state == HIGH) Serial.println("The sensor is touched"); else if (prev_state == HIGH && touch_state == LOW) Serial.println("The sensor is released"); // save the the last state prev_state = touch_state; }

Snelle Stappen

  • Kopieer de code en open deze met de Arduino IDE.
  • Klik op de Upload knop in de IDE om de code naar de Arduino Nano te sturen.
  • Raak de sensor met uw vinger aan.
  • Bekijk de output in de Serial Monitor.
COM6
Send
The sensor is touched
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Haal uw vinger van de touch sensor.
  • Bekijk de output in de Serial Monitor.
COM6
Send
The sensor is touched The sensor is released
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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.

Functiereferenties

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