ESP32 ટ્યુટોરિયલ 27/55 - અલ્ટ્રાસોનિક સેન્સર વડે અંતર માપવું | SunFounder ની ESP32 IoT લર્નિંગ કિટ
આ ટ્યુટોરિયલમાં, આપણે ESP32 સાથે અલ્ટ્રાસોનિક અંતર સેન્સરનો ઉપયોગ કરીને અંતર માપવા અને પરિણામો સ્ક્રીન પર દર્શાવવાનું શીખીશું. જ્યારે ચોક્કસ રેન્જમાં કોઈ વસ્તુ શોધાય ત્યારે બઝર કેવી રીતે સક્રિય કરવું તે પણ આપણે શોધીશું. આ પ્રોજેક્ટ ESP32 માઇક્રોકંટ્રોલરની વૈવિધ્યતા દર્શાવે છે, જે Wi-Fi અને Bluetooth ક્ષમતાઓને સંકલિત કરે છે, જે તેને વિવિધ IoT એપ્લિકેશનો માટે યોગ્ય બનાવે છે.
આ માર્ગદર્શિકા દરમિયાન, તમને હાર્ડવેર ઘટકો, વાયરિંગ સૂચનાઓ અને કોડ સ્નિપેટ્સની સમજૂતી મળશે જે તમને પ્રોજેક્ટ સફળતાપૂર્વક અમલમાં મૂકવામાં મદદ કરશે. વધારાની સ્પષ્ટતા માટે, કૃપા કરીને વિડિયોનો સંદર્ભ લો (વિડિયોમાં 00:00 પર).
હાર્ડવેર સમજાવ્યું
આ પ્રોજેક્ટના મુખ્ય ઘટકોમાં ESP32 માઇક્રોકંટ્રોલર, અલ્ટ્રાસોનિક સેન્સર (HC-SR04) અને બઝરનો સમાવેશ થાય છે. અલ્ટ્રાસોનિક સેન્સરમાં બે મુખ્ય ભાગો હોય છે: એક ટ્રાન્સમીટર જે અલ્ટ્રાસોનિક તરંગો ઉત્સર્જિત કરે છે અને એક રીસીવર જે પ્રતિબિંબિત તરંગો સાંભળે છે. તરંગોને પાછા આવવામાં લાગતો સમય માપીને, આપણે વસ્તુ સુધીનું અંતર ગણતરી કરી શકીએ છીએ.
ESP32 કેન્દ્રીય નિયંત્રક તરીકે સેવા આપે છે, અલ્ટ્રાસોનિક સેન્સરમાંથી ડેટા પ્રોસેસ કરે છે અને માપેલા અંતરના આધારે બઝરને નિયંત્રિત કરે છે. જ્યારે શોધાયેલ અંતર નિર્ધારિત થ્રેશોલ્ડ કરતાં ઓછું હોય ત્યારે બઝર વાગશે, જે દર્શાવે છે કે વસ્તુ ખૂબ નજીક છે.
ડેટાશીટ વિગતો
| ઉત્પાદક | HC-SR04 |
|---|---|
| ભાગ નંબર | HC-SR04 |
| લોજિક/IO વોલ્ટેજ | 5 V |
| સપ્લાય વોલ્ટેજ | 5 V |
| આઉટપુટ કરંટ (પ્રતિ ચેનલ) | 16 mA |
| પીક કરંટ (પ્રતિ ચેનલ) | … |
| PWM આવર્તન માર્ગદર્શન | … |
| ઇનપુટ લોજિક થ્રેશોલ્ડ | … |
| વોલ્ટેજ ડ્રોપ / RDS(on) / સેચ્યુરેશન | … |
| થર્મલ મર્યાદાઓ | … |
| પેકેજ | … |
| નોંધો / વેરિઅન્ટ્સ | માપન રેન્જ: 2 cm થી 400 cm |
- સેન્સર માટે યોગ્ય 5 V પાવર સપ્લાયની ખાતરી કરો.
- અવરોધ ટાળવા માટે અલ્ટ્રાસોનિક તરંગો માટે સ્પષ્ટ માર્ગ જાળવો.
- સિગ્નલ વિલંબ અને અવાજ ઘટાડવા માટે ટૂંકા વાયરનો ઉપયોગ કરો.
- ખોટા સંચાર ટાળવા માટે યોગ્ય પિન જોડાણોની ખાતરી કરો.
- ચોકસાઈ તપાસવા માટે વિવિધ વાતાવરણમાં સેન્સરનું પરીક્ષણ કરો.
વાયરિંગ સૂચનાઓ

અલ્ટ્રાસોનિક સેન્સરને ESP32 સાથે વાયર કરવા માટે, સેન્સરના VCC પિનને ESP32 પરના 5V પિન સાથે જોડો. આગળ, સેન્સરના GND પિનને ESP32 પરના ગ્રાઉન્ડ (GND) પિનમાંથી એક સાથે જોડો. સેન્સરમાંથી ટ્રિગર પિન (Trig) ESP32 પર GPIO 26 સાથે જોડાયેલ હોવો જોઈએ, જ્યારે ઇકો પિન (Echo) GPIO 25 સાથે જોડાયેલ હોવો જોઈએ. આ સેટઅપ ESP32 ને સેન્સરને સિગ્નલ મોકલવા અને અંતર ગણતરી કરવા માટે ઇકો સિગ્નલ પ્રાપ્ત કરવાની મંજૂરી આપે છે.
બઝર માટે, હકારાત્મક (લાંબો) પગ ESP32 પર GPIO 12 સાથે અને નકારાત્મક (ટૂંકો) પગ GND સાથે જોડો. ખાતરી કરો કે ઓપરેશન દરમિયાન કોઈ ઢીલું વાયરિંગ ન થાય તે માટે બધા જોડાણો સુરક્ષિત છે. જો બ્રેડબોર્ડનો ઉપયોગ કરી રહ્યા હોવ, તો ખોટા વાયરિંગ ટાળવા માટે બઝર જોડાણોને યોગ્ય રીતે ગોઠવો. વાયરિંગની પુષ્ટિ માટે વિડિયોનો સંદર્ભ લેવાનું સુનિશ્ચિત કરો (વિડિયોમાં 05:12 પર).
કોડ ઉદાહરણો અને વોકથ્રુ
કોડ અલ્ટ્રાસોનિક સેન્સર માટે પિન શરૂ કરે છે અને સીરિયલ સંચાર સેટ કરે છે. મુખ્ય કાર્ય, readSensorData(), ટ્રિગર સિગ્નલ મોકલવા અને ઇકો પિનમાંથી પ્રતિભાવ સમય માપવા માટે જવાબદાર છે.
const int echoPin = 25;
const int trigPin = 26;
void setup() {
Serial.begin(115200);
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
Serial.println("Ultrasonic sensor:");
}
કોડ અલ્ટ્રાસોનિક સેન્સર સાથે જોડાયેલા પિન માટે echoPin અને trigPin ને સ્થિરાંક તરીકે વ્યાખ્યાયિત કરે છે. setup() કાર્યમાં, આપણે સીરિયલ સંચાર શરૂ કરીએ છીએ અને તે મુજબ પિન મોડ્સ સેટ કરીએ છીએ.
float readSensorData() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
unsigned long microsecond = pulseIn(echoPin, HIGH);
float distance = microsecond / 29.00 / 2;
return distance;
}
આ અંશ readSensorData() કાર્ય દર્શાવે છે, જે ટ્રિગર પિન પર 10-માઇક્રોસેકન્ડ પલ્સ મોકલે છે. તે પછી ઇકો પિનને સિગ્નલ પાછું પ્રાપ્ત કરવામાં લાગેલો સમય માપે છે, અંતરની ગણતરી કરે છે અને આ મૂલ્ય પરત કરે છે.
છેલ્લે, લૂપ કાર્ય સતત અંતર વાંચે છે અને તેને સીરિયલ મોનિટર પર છાપે છે. જો અંતર 20 cm થી નીચે હોય, તો બઝર સક્રિય થશે.
પ્રદર્શન / શું અપેક્ષા રાખવી
જ્યારે તમે પ્રોગ્રામ ચલાવો છો, ત્યારે ESP32 સીરિયલ મોનિટર પર સેન્ટીમીટરમાં માપેલ અંતર દર્શાવશે. જો કોઈ વસ્તુ સેન્સરની 20 cm ની અંદર આવે છે, તો બઝર વાગશે. આ વર્તણૂક સેન્સરની સામે વિવિધ અંતરે વસ્તુઓ મૂકીને ચકાસી શકાય છે. વિપરીત ધ્રુવીયતાથી સાવધ રહો અને ખાતરી કરો કે ઓપરેશન દરમિયાન કોઈ સમસ્યા ન આવે તે માટે જોડાણો સ્પષ્ટ કર્યા મુજબ કરવામાં આવ્યા છે (વિડિયોમાં 08:00 પર).
વિડિયો ટાઇમસ્ટેમ્પ્સ
- 00:00 શરૂઆત
- 1:46 અલ્ટ્રાસોનિક સેન્સરનો પરિચય
- 6:02 વાયરિંગ સમજાવ્યું
- 7:37 ESP32 આર્ડુઇનો કોડ સમજાવ્યો
- 11:33 આર્ડુઇનો IDE માં ESP32 બોર્ડ અને COM પોર્ટ પસંદ કરવું
- 13:15 અંતર માપવાનું પ્રદર્શન
- 16:43 અંતર સાથે ક્રિયા: બઝર
// Define pins for the ultrasonic sensor
const int echoPin = 25;
const int trigPin = 26;
// Function prototype for reading sensor data
float readSensorData();
void setup() {
// Begin serial communication at 115200 baud rate
Serial.begin(115200);
// Set echoPin as input and trigPin as output
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
// Print sensor information to the serial monitor
Serial.println("Ultrasonic sensor:");
}
void loop() {
// Read distance from the ultrasonic sensor
float distance = readSensorData();
// Print the measured distance to the serial monitor
Serial.print(distance);
Serial.println(" cm");
// Delay between readings
delay(200);
}
// Function to read data from the ultrasonic sensor
float readSensorData() {
// Trigger a low signal before sending a high signal
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Send a 10-microsecond high signal to the trigPin
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
// Return to low signal
digitalWrite(trigPin, LOW);
// Measure the duration of the high signal on the echoPin
unsigned long microsecond = pulseIn(echoPin, HIGH);
// Calculate the distance using the speed of sound (29.00µs per centimeter)
float distance = microsecond / 29.00 / 2;
// Return the calculated distance
return distance;
}
Common Course Links
Common Course Files
તમને જોઈતી વસ્તુઓ
-
eBay
-
BanggoodPurchase HC-SR04 Ultrasonic Sensor from Banggoodbanggood.com
સંસાધનો અને સંદર્ભો
-
દસ્તાવેજીકરણESP32 Tutorial 27/55 - SunFounder doc page for ultrasonic distance sensordocs.sunfounder.com
-
બાહ્યHC-SR04 Ultrasonic Library from the Arduino official websiteplayground.arduino.cc
ફાઇલો📁
કોઈ ફાઇલો ઉપલબ્ધ નથી.