Arduino Nano - Ultrasone Sensor - Relay

Deze tutorial legt uit hoe u een Arduino Nano en een ultrasone sensor gebruikt om een relay te bedienen. In detail:

Door een relay te verbinden met een gloeilamp, LED-strip, motor of actuator, kunnen we met Arduino Nano en een ultrasone sensor de gloeilamp, LED-strip, motor of actuator aansturen.

Hardware Benodigd

1×Official Arduino Nano
1×Alternatief: DIYables ATMEGA328P Nano Development Board
1×USB A naar Mini-B USB kabel
1×Ultrasone Sensor
1×Relais
1×Waarschuwingslamp Helder Waterdicht
1×12V Voedingadapter
1×DC Voedingsconnector
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 Relay en Ultrasone Sensor

Als u niet vertrouwd bent met de relay en ultrasone sensor (inclusief pinout, werking en programmeren), kunnen de volgende tutorials helpen:

Bedradingsschema

Arduino Nano Ultrasone Sensor Relay bedrading schema

This image is created using Fritzing. Click to enlarge image

Arduino Nano Code

/* * 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-ultrasonic-sensor-relay */ #define TRIG_PIN 4 // The Arduino Nano pin connected to TRIG pin of ultrasonic sensor #define ECHO_PIN 3 // The Arduino Nano pin connected to ECHO pin of ultrasonic sensor #define RELAY_PIN 2 // The Arduino Nano pin connected to relay #define DISTANCE_THRESHOLD 50 // in centimeters float duration_us, distance_cm; void setup() { Serial.begin (9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(TRIG_PIN, OUTPUT); // set arduino pin to output mode pinMode(ECHO_PIN, INPUT); // set arduino pin to input mode pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode } void loop() { // Produce a 10-microsecond pulse to the TRIG pin. digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // Measure the pulse duration from the ECHO pin duration_us = pulseIn(ECHO_PIN, HIGH); // calculate the distance distance_cm = 0.017 * duration_us; if (distance_cm < DISTANCE_THRESHOLD) digitalWrite(RELAY_PIN, HIGH); // turn on Relay else digitalWrite(RELAY_PIN, LOW); // turn off Relay // print the value to Serial Monitor Serial.print("distance: "); Serial.print(distance_cm); Serial.println(" cm"); delay(500); }

Snelle Stappen

  • Sluit de USB-kabel aan op de Arduino Nano en de PC.
  • Start de Arduino IDE, kies het juiste board en de juiste poort.
  • Open de code in de Arduino IDE.
  • Klik op de Upload-knop in de Arduino IDE om de code te compileren en naar de Arduino Nano te uploaden.
Arduino IDE Code Upload
  • Beweeg uw hand in de buurt van de sensor en observeer de verandering in de status van de relay.

Code Uitleg

Bekijk de regel-voor-regel uitleg in de comments van de broncode!

※ Notiz:

De bovenstaande code is bedoeld voor educatieve doeleinden. De ultrasone sensor is zeer gevoelig voor storingen. Als u deze in een praktische toepassing wilt gebruiken, dient ruisfiltering toegepast te worden op de ultrasone sensor. Voor meer informatie over het filteren van ruis uit afstandsmetingen van de ultrasone sensor, verwijzen wij u naar deze tutorial.

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.

Reacties

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