Search Code

Èkọ́ ESP32 19/55 - Ṣíwárí Ìdènà nípa lílo Sensor Infrared | SunFounder's ESP32 IoT Learning kit

Èkọ́ ESP32 19/55 - Ṣíwárí Ìdènà nípa lílo Sensor Infrared | SunFounder's ESP32 IoT Learning kit

Nínú ẹ̀kọ́ yìí, a óò kọ́ bí a ṣe lè lo sensa ìdènà ìkọ̀sẹ̀ inírá (infrared obstacle avoidance sensor) pẹ̀lú mọ́díù ESP32 láti ṣàwárí àwọn ohun tó dí ọ̀nà. Iṣẹ́-ọwọ́ yìí yóò fi hàn bí sensa ṣe lè mú buzzer ṣiṣẹ́ nígbà tí a bá ṣàwárí ohun tó dí ọ̀nà. Ètò náà yóò tún fi ipò ìṣàwárí hàn lórí ẹ̀rọ ìṣàfihàn serial (serial monitor), tí yóò pèsè ọ̀nà tó ṣe kedere àti tó ní ìbánisọ̀rọ̀ láti ṣàkíyèsí iṣẹ́ sensa náà.

A óò ṣiṣẹ́ pẹ̀lú SunFounder ESP32 IoT Learning Kit, tó ní mọ́kọ̀-ọ̀nàkọ̀-ọ̀nà ESP32 tó ní agbára Wi-Fi àti Bluetooth. Sensa inírá náà ṣiṣẹ́ nípa fífi ìmọ́lẹ̀ inírá jáde, tí yóò ṣe àfihàn kúrò lórí àwọn ohun tó wà nítòsí. Nígbà tí ìmọ́lẹ̀ náà bá ṣe àfihàn padà, sensa náà yóò mú àmì ìjàde jáde tí a óò kà nínú kóòdù wa. A óò tún fi buzzer kún un tí yóò ṣiṣẹ́ nígbà tí a bá ṣàwárí ohun tó dí ọ̀nà, tí yóò pèsè ìkìlọ̀ tí a lè gbọ́.

Àlàyé Ohun Èlò

Àwọn èròjà pàtàkì ti iṣẹ́-ọwọ́ yìí ni mọ́díù ESP32, sensa ìdènà ìkọ̀sẹ̀ inírá, àti buzzer. Mọ́díù ESP32 ni ẹ̀yà tó ń ṣiṣẹ́ pàtàkì, tó ń gba àwọn ìfiranṣẹ́ láti sensa àti tó ń darí àwọn ohun tó jáde. A lè fi bátì lítiọ́mù pèsè agbára fún un, tí yóò mú un ṣe é gbé lọ́wọ́ àti rọ̀rùn fún àwọn ìlò oríṣiríṣi.

Sensa ìdènà ìkọ̀sẹ̀ inírá ní olùránsọ̀ àti olùgbà. Olùránsọ̀ ń fi ìmọ́lẹ̀ inírá jáde, nígbà tí olùgbà ń gba ìmọ́lẹ̀ tó ṣe àfihàn kúrò lórí àwọn ohun tó wà nítòsí. Nígbà tí ohun tó dí ọ̀nà bá wà, pín ìjàde sensa náà yóò lọ sí ìsàlẹ̀ (low), tí yóò fi hàn fún ESP32 láti gbé ìgbésẹ̀, bíi mímu buzzer ṣiṣẹ́.

Àwọn Àlàyé Nínú Datasheet

Olùṣelọ́pọ̀SunFounder
Nọ́mbà ẹ̀yàSensa Ìdènà Ìkọ̀sẹ̀ Inírá
Foltiéjì Tí Ó ń Ṣiṣẹ́3.3 V - 5 V
Irú ÌjàdeDigitáli (Low nígbà tí a bá ṣàwárí ohun tó dí ọ̀nà)
Ìwọ̀n ÌṣàwáríTó 20 cm
Àkókò ÌdáhùnKéré ju 10 ms
ÀpótíMọ́díù

  • Ìpèsè agbára: 3.3 V sí 5 V fún iṣẹ́.
  • Àmì ìjàde ń lọ sí ìsàlẹ̀ nígbà tí a bá ṣàwárí ohun tó dí ọ̀nà.
  • A lè ṣàtúnṣe ìmọ́lẹ̀ rẹ̀ nípa lílo potentiometer.
  • Ìwọ̀n ìṣàwárí tí ó wọ́pọ̀ jẹ́ títí dé 20 cm.
  • Àkókò ìdáhùn tó yára ju 10 ms lọ.

Àwọn Ìtọ́nisọ́nà Fífi Wọ́n Sọ̀rọ̀

ESP32-19-obstacle_voide-wiring

Láti fi sensa ìdènà ìkọ̀sẹ̀ inírá sọ̀rọ̀ pẹ̀lú ESP32, bẹ̀rẹ̀ nípa fífi pín VCC ti sensa náà sí pín 5V lórí ESP32. Lẹ́yìn náà, fi pín GND ti sensa náà sí ọ̀kan lára àwọn pín GND lórí ESP32. Níkẹyìn, fi pín OUT ti sensa náà sí pín GPIO 14 lórí ESP32.

Fún buzzer náà, fi ẹ̀yà tó ní àmì òdì (negative) sí GND àti ẹ̀yà tó ní àmì rere (positive) sí pín GPIO 27. Rí i dájú pé gbogbo àwọn ìsopọ̀ ti lágbára àti pé a ti pèsè agbára fún sensa náà dáradára. Fífi wọ́n sọ̀rọ̀ yẹ kí ó rọrùn, níwọ̀n bí sensa àti buzzer ti nílò àwọn ìsopọ̀ agbára àti àmì tó rọrùn péré.

Àwọn Àpẹẹrẹ Kóòdù àti Ìtọ́sọ́nà

Nínú kóòdù náà, a kọ́kọ́ ṣàlàyé pín tó sopọ̀ mọ́ sensa ìdènà ìkọ̀sẹ̀. A ṣe èyí nípa lílo àmì ìdámọ̀ avoidPin tí a gbé sí 14. A tún kọ̀wé onírúiyípò avoidState láti gba ipò ìjàde sensa náà.

const int avoidPin = 14;  // nọ́mbà pín mọ́díù ìdènà

int avoidState = 0;

Nínú iṣẹ́ setup, a bẹ̀rẹ̀ ìbánisọ̀rọ̀ serial àti a ṣètò avoidPin gẹ́gẹ́ bí ìfiranṣẹ́ (input). Èyí jẹ́ kí ESP32 lè ka ipò ìjàde sensa náà.

void setup() {
  Serial.begin(115200);  
  pinMode(avoidPin, INPUT);
}

Nínú iṣẹ́ loop, a ń ka ìjàde sensa náà nígbà gbogbo nípa lílo digitalRead(avoidPin) àti a ń fi àbájáde rẹ̀ pamọ́ sí avoidState. A óò tẹ̀ é sígá lórí ẹ̀rọ ìṣàfihàn serial, tí yóò jẹ́ kí a rí i nígbà tí a bá ṣàwárí ohun tó dí ọ̀nà (ìjàde yóò jẹ́ 0) tàbí tí kò sí (ìjàde yóò jẹ́ 1).

void loop() {
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

Fún kóòdù kíkún, jọ̀wọ́ wo apá tí a kọ sí ìsàlẹ̀ nínú àpilẹ̀kọ yìí.

Ìṣàfihàn / Ohun Tí O Lè Retí

Nígbà tí ètò náà bá ti parí àti tí a ti gbé kóòdù sílẹ̀, o yẹ kí o rí ẹ̀rọ ìṣàfihàn serial tó ń fi 0 tàbí 1 hàn nípa bóyá a ti ṣàwárí ohun tó dí ọ̀nà. Nígbà tí ohun tó dí ọ̀nà bá wà nínú ìwọ̀n ìṣàwárí, ìjàde yóò ka 0, àti buzzer yóò dun. Bí a bá yọ ohun tó dí ọ̀nà kúrò, ìjàde yóò ka 1, àti buzzer yóò dúró. Iṣẹ́ yìí ni a fi hàn nínú fídíò (nínú fídíò ní 12:30).

Àwọn ìṣòro tó wọ́pọ̀ lè ní fífi wọ́n sọ̀rọ̀ tí kò tọ́, tí ó lè mú kí sensa má ṣiṣẹ́ dáradára, tàbí àwọn ìwọ̀n baud tí kò bá mu nínú ẹ̀rọ ìṣàfihàn serial, tí ó ń dí àwọn ìsọfúnni lọ́wọ́ láti fi hàn dáradára. Rí i dájú pé o ṣàyẹ̀wò àwọn nǹkan wọ̀nyí bí o bá pàdé àwọn ìṣòro.

Àwọn Àkókò Nínú Fídíò

  • 00:00 Ìbẹ̀rẹ̀
  • 1:57 Ìfihàn iṣẹ́-ọwọ́
  • 4:33 Fífi Ìdènà Ìkọ̀sẹ̀ Sọ̀rọ̀
  • 5:55 Kóòdù Arduino fún Ìdènà Ìkọ̀sẹ̀
  • 7:36 Yíyàn Bọ́ọ̀dù ESP32 àti pín COM lórí Arduino IDE
  • 9:18 Ìṣàfihàn iṣẹ́-ọwọ́
  • 10:42 Ṣíṣàtúnṣe ìmọ́lẹ̀ pẹ̀lú fífi ìwọ̀n pọ̀ sí i
  • 12:39 Gbígbé ìgbésẹ̀ nígbà tí a bá ṣàwárí ohun tó dí ọ̀nà
  • 14:24 Lílo buzzer nígbà tí a bá ṣàwárí ohun tó dí ọ̀nà

Aworan

ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
ESP32-19-obstacle_voide-wiring
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
Ede: C++
// set pin
const int avoidPin = 14;  // the number of the avoid avoid module pin

// variable for storing the avoid status 
int avoidState = 0;

void setup() {
  Serial.begin(115200);  
  // initialize the avoid pin as an input
  pinMode(avoidPin, INPUT);
}

void loop() {
  // read the state of the avoid value
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

Orisun & itọkasi

Fáìlìs📁

Ko si awọn faili ti o wa.