Stap 2: Touch gevoelige pin met 1 LED
U moet:
- 1 * LED
- 5 * male-Male jumperpinnen
- 1 * 150 ohm weerstand (kleur code = bruin, groen, bruin, goud)
- 1 * 1 Mohm weerstand (kleur code = bruin, zwart, zwart, geel, bruin)
- Breadboard
- Arduino
- Arduino USB kabel
Als dit uw eerste Arduino project of u niet hoe weet u een LED gelieve kijken naar stap 2 en 3 hier.
Sluit de LED aan op pin 13 zoals in het voorbeeld van de Arduino Blink.
De touch-gevoelige onderdeel te maken gaan we gebruik maken van de CapacitiveSensor bibliotheek.
De capacitiveSensor methode wordt geschakeld een microcontroller verzenden pin naar een nieuwe staat en wacht om de ontvangen pincode wijzigen in dezelfde staat als de pin verzenden. Een variabele wordt verhoogd binnen een tijdje lus om de ontvangen pincode van staat verandering. De methode beleidsregels van de variabele waarde, dat wil in willekeurige eenheden zeggen.
We gaan om pin 7 als de pin verzenden en pin 6 als de ontvangen pincode te gebruiken.
Aansluiten van de capacitieve Sensor:
- Pin 7 sluit aan de positieve rail op het breadboard, dit zal ons toelaten om pin 7 te gebruiken voor meerdere sensoren.
- Sluit het ene uiteinde van de 1 Mohm weerstand naar pin 7 (met behulp van de positieve rail)
- Sluit het andere uiteinde van de weerstand aan de ontvangen pincode (pin 6)
- Sluit de laatste jumper-pin naar de ontvanger pin (door het te verbinden op dezelfde regel op het breadboard). Dit is de touch sensor.
- Controleer of de Arduino / Laptop is geaard. Dit kan gebeuren door het aanbrengen van uw laptop aan uw lader terwijl aangesloten op het lichtnet of door het aanbrengen van een kabel van Arduino grond naar een water-pipe ie. een radiator.
U bent nu klaar om aan te sluiten in de Arduino en upload het onderstaande programma. Als u touch en van de touch sensor pin loslaten, moet de LED wissel voort en vandoor.
U wellicht groundHigh variabele afhankelijk van hoe gevoelig je pincode wilt aanpassen.
#include <CapacitiveSensor.h> CapacitiveSensor sensor = CapacitiveSensor(7,6); int led = 13; int groundHigh = 100; void setup() { pinMode(led, OUTPUT); Serial.begin(9600); } void loop() { long total = sensor.capacitiveSensorRaw(3); Serial.println(total); // print sensor output if(total > groundHigh){ digitalWrite(led, HIGH); }else{ digitalWrite(led, LOW); } }