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
| Producent | Shenzhen Eighteen Electronics |
|---|---|
| Numer części | E18-D80NK |
| Napięcie logiczne/IO | 3,3 V do 5 V |
| Napięcie zasilania | 5 V |
| Prąd wyjściowy (na kanał) | 20 mA |
| Prąd szczytowy (na kanał) | 200 mA |
| Zakres wykrywania | 2 cm do 30 cm |
| Typ wyjścia | Cyfrowe |
| Obudowa | Moduł |
- 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

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.

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
/*
* 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ć
-
AmazonPurchase E18-D80NK from Amazonamzn.to
-
AliExpressPurchase E18-D80NK infrared photoelectric from AliExpresss.click.aliexpress.com
Zasoby i odniesienia
-
Zewnętrzny
-
Zewnętrzny
Pliki📁
Brak dostępnych plików.