Szukaj kodu

Kod Arduino i wideo dla czujnika unikania przeszkód na podczerwień E18-D80NK

Kod Arduino i wideo dla czujnika unikania przeszkód na podczerwień E18-D80NK

W tym samouczku nauczymy się, jak używać czujnika przeszkód na podczerwień E18-D80NK z Arduino do wykrywania przeszkód i wyzwalania akcji, takich jak włączanie diody LED lub aktywacja przekaźnika. Projekt pokaże, jak odczytywać wyjście czujnika i odpowiednio reagować. Po ukończeniu tego samouczka będziesz mieć działający układ, który może wykrywać przeszkody i aktywować wyjścia na podstawie tego wykrycia.

Koniecznie obejrzyj powiązane wideo, aby lepiej zrozumieć okablowanie i implementację kodu (na wideo w 00:00).

Wyjaśnienie sprzętu

Czujnik przeszkód na podczerwień E18-D80NK jest zaprojektowany do wykrywania pobliskich obiektów za pomocą światła podczerwonego. Emituje promienie podczerwone i wykrywa odbicie od przeszkód. Gdy obiekt zostanie wykryty w określonym zakresie, czujnik wysyła sygnał niski, który może być odczytany przez Arduino.

Ten czujnik ma trzy główne piny: pin zasilania (zwykle brązowy), masę (niebieski) i pin sygnałowy (czarny). Pin sygnałowy jest podłączony do wejścia cyfrowego na Arduino, aby odczytać status wykrywania przeszkód. Wyjście może następnie sterować różnymi urządzeniami, takimi jak silniki lub przekaźniki, na podstawie odczytów czujnika.

Szczegóły z karty katalogowej

ProducentShenzhen Eighteen Electronics
Numer częściE18-D80NK
Napięcie logiczne/IO3,3 V do 5 V
Napięcie zasilania5 V
Prąd wyjściowy (na kanał)20 mA
Prąd szczytowy (na kanał)200 mA
Zakres wykrywania2 cm do 30 cm
Typ wyjściaCyfrowe
ObudowaModuł

  • Upewnij się, że okablowanie jest prawidłowe, aby zapobiec uszkodzeniu modułu.
  • Użyj rezystora podciągającego na linii sygnałowej, aby uzyskać stabilne odczyty.
  • Utrzymuj czujnik w czystości i wolny od przeszkód, aby zapewnić dokładne wykrywanie.
  • Przetestuj zakres czujnika w swoim konkretnym środowisku.
  • Zachowaj ostrożność co do wartości znamionowych mocy podczas podłączania do przekaźników lub silników.

Instrukcje okablowania

E18-D80NK Infrared Sensor: Wiring with a resistor
E18-D80NK Infrared Sensor: Wiring with resistor — E18-D80NK Infrared Sensor: Wiring with a resistor

Aby podłączyć czujnik E18-D80NK do Arduino, zacznij od podłączenia brązowego przewodu do pinu 5V na Arduino w celu zasilania. Następnie podłącz niebieski przewód do pinu GND, aby zamknąć obwód zasilania. Potem weź czarny przewód i podłącz go do pinu cyfrowego 2 na Arduino jako wejście sygnałowe.

E18-D80NK infrared sensor: sensitivity screw

Jeśli używasz przekaźnika, podłącz pin sterujący przekaźnika (zwykle do pinu 9) do Arduino, aby sterować wyjściem na podstawie odczytów czujnika. Upewnij się, że przekaźnik jest prawidłowo zasilany i podłączony do urządzenia AC, które chcesz kontrolować. Kluczowe jest przestrzeganie środków ostrożności podczas pracy z napięciem AC.

Przykłady kodu i omówienie

Poniższy kod pokazuje, jak odczytać wyjście czujnika i sterować akcją na podstawie wykrycia przeszkody. Wyjście czujnika jest odczytywane za pomocą identyfikatora SENSOR zdefiniowanego jako pin 2, a pin akcji jest zdefiniowany jako pin 9.

#define SENSOR 2 // zdefiniuj pin 2 dla czujnika
#define ACTION 9 // zdefiniuj pin 9 jako dla AKCJI

void setup() {
  Serial.begin(9600); // skonfiguruj Monitor Serialny do wyświetlania informacji
  pinMode(SENSOR, INPUT_PULLUP); // zdefiniuj pin jako wejście czujnika
  pinMode(ACTION, OUTPUT); // zdefiniuj pin jako WYJŚCIE dla AKCJI
}

W tym fragmencie konfigurujemy komunikację szeregową i ustawiamy pin czujnika jako wejście z rezystorem podciągającym, podczas gdy pin akcji jest ustawiony jako wyjście. Ta konfiguracja jest niezbędna do odczytu czujnika i sterowania przekaźnikiem lub innymi urządzeniami.

void loop() {
  int L = digitalRead(SENSOR); // odczytaj czujnik
  if (L == 0) {
    Serial.println("Wykryto przeszkodę");
    digitalWrite(ACTION, HIGH); // wyślij sygnał
  } else {
    Serial.println("=== Wszystko czyste");
    digitalWrite(ACTION, LOW); // wyłącz przekaźnik
  }
  delay(500);
}

Ta część kodu ciągle sprawdza wyjście czujnika. Jeśli przeszkoda zostanie wykryta (gdy L wynosi 0), wysyła sygnał HIGH na pin akcji, co może aktywować przekaźnik lub inne komponenty. Jeśli nie wykryto przeszkody, wysyła sygnał LOW, wyłączając urządzenie.

Demonstracja / Czego się spodziewać

Po zmontowaniu obwodu i wgraniu kodu czujnik będzie ciągle monitorować przeszkody. Jeśli obiekt znajdzie się w zakresie wykrywania, powinieneś zobaczyć komunikat na monitorze szeregowym informujący, że wykryto przeszkodę, a podłączone urządzenie się aktywuje. Jeśli ścieżka jest czysta, wydrukuje komunikat "Wszystko czyste". Pamiętaj, aby dostosować opóźnienie w pętli, jeśli zauważysz pominięte wykrycia lub niechciane wyzwalania (na wideo w 00:00).

Znaczniki czasowe wideo

  • 00:00 - Wprowadzenie do projektu
  • 01:30 - Przegląd sprzętu
  • 03:15 - Instrukcje okablowania
  • 05:00 - Omówienie kodu
  • 06:45 - Demonstracja układu

Obrazy

E18-D80NK infrared sensor: connected to Arduino and buzzer
E18-D80NK Infrared Sensor: Connected to Arduino and buzzer
E18-D80NK Infrared Sensor
E18-D80NK Infrared Sensor: Sensor
E18-D80NK Infrared Sensor: TX RX lenses
E18-D80NK Infrared Sensor: TX RX leses
E18-D80NK infrared sensor: sensitivity screw
E18-D80NK Infrared Sensor: Sensitivity screw
E18-D80NK Infrared Sensor: Wiring colors
E18-D80NK Infrared Sensor: Wiring color
E18-D80NK Infrared Sensor: Wiring with a resistor
E18-D80NK Infrared Sensor: Wiring with resistor
E18-D80NK Infrared Sensor: Setting Sensitivity
E18-D80NK Infrared Sensor: Setting Sensitivity
E18-D80NK Infrared Sensor: Demonstration using Arduino
E18-D80NK Infrared Sensor:Demonstration using Arduino
e18-d80nk-infrared-sensor-without-connector-3-80cm
e18-d80nk-infrared-sensor-without-connector-3-80cm
78-Arduino code for the LE18-D80NK infrared obstacle avoidance sensor
Język: C++
/*

 * This is the Arduino code for the E18-D80NK Infrared Obstacle Avoidance Sensor.
This code uses the E18-D80NK Infrared Sensor to detect obstacles and trigger an
event, such as starting or stopping a motor, servo, or relay, or anything else.


 *  * 
 // Written by Ahmad S. for Robojax.com on 
// February 22, 2018 at 8:50 PM in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 * 
 * Watch the E18-D80NK video for details: https://youtu.be/MrYsmAwzfrM
 * Code is available at http://robojax.com/learn/arduino
The wiring:
Brown: 5V DC
Blue: GND
Black: Signal, to PIN 2




 * 

*/
#define SENSOR 2 // define pin 2 for sensor
#define ACTION 9 // define pin 9 as for ACTION

/*
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 * 
 */

void setup() {
  // E18-D80NK Obstacle Sensor Code by Robojax.com 20180222
  Serial.begin(9600);// setup Serial Monitor to display information
  pinMode(SENSOR, INPUT_PULLUP);// define pin as Input  sensor
  pinMode(ACTION, OUTPUT);// define pin as OUTPUT for ACTION
}

void loop() {
  // E18-D80NK Obstacle Sensor Code by Robojax.com 20180222
  int L =digitalRead(SENSOR);// read the sensor 
  
      if(L == 0){
    Serial.println(" Obstacle detected");
    digitalWrite(ACTION,HIGH);// send signal
    
     }else{

     Serial.println("  === All clear");
     digitalWrite(ACTION,LOW);// turn the relay OFF
     }
  delay(500);
 // E18-D80NK Obstacle Sensor Code by Robojax.com 20180222
}

Rzeczy, których możesz potrzebować

Zasoby i odniesienia

Pliki📁

Brak dostępnych plików.