ESP32 ટ્યુટોરિયલ 32/55 - LCD અને બઝર સાથે કાર રિવર્સ રેન્જ ચેતવણી | સનફાઉન્ડરની IoT લર્નિંગ કિટ
આ ટ્યુટોરિયલમાં, આપણે ESP32 માઇક્રોકંટ્રોલર, અલ્ટ્રાસોનિક અંતર સેન્સર, LCD ડિસ્પ્લે અને બઝરનો ઉપયોગ કરીને રિવર્સિંગ સહાય સિસ્ટમ બનાવીશું. આ પ્રોજેક્ટ તમને રિવર્સ કરતી વખતે અવરોધોથી અંતર વિશે ચેતવણી આપશે, જેમાં બઝરની બીપ આવૃત્તિ અવરોધ કેટલો નજીક છે તેના આધારે બદલાશે. તમે ઘટકોને કેવી રીતે વાયર કરવા, કોડ લખવા અને તમારા વાહન માટે સિસ્ટમની કાર્યક્ષમતા અસરકારક રીતે કામ કરે તેવી અપેક્ષા રાખવી તે શીખી શકશો.
જેમ આપણે આ પ્રોજેક્ટ અમલમાં મૂકીશું, ESP32 સેન્સર રીડિંગ્સ સંભાળશે અને બઝર અને LCD ડિસ્પ્લેને નિયંત્રિત કરશે. અલ્ટ્રાસોનિક સેન્સર કોઈપણ અવરોધોનું અંતર માપશે, જ્યારે બઝર તે અંતરના આધારે ઓડિયો પ્રતિસાદ આપશે. LCD માપેલું અંતર દર્શાવશે, જેનાથી તમે રીડિંગ્સ રીઅલ-ટાઇમમાં જોઈ શકશો. સેટઅપની સ્પષ્ટ સમજણ માટે, વિડિયો જોવાનું ભૂલશો નહીં (વિડિયોમાં 00:00 પર).
હાર્ડવેર સમજાવ્યું
આ પ્રોજેક્ટના મુખ્ય ઘટકોમાં ESP32 માઇક્રોકંટ્રોલર, અલ્ટ્રાસોનિક અંતર સેન્સર, LCD ડિસ્પ્લે અને બઝરનો સમાવેશ થાય છે. ESP32 એ બિલ્ટ-ઇન Wi-Fi અને બ્લૂટૂથ ક્ષમતાઓ સાથેનો શક્તિશાળી માઇક્રોકંટ્રોલર છે, જે તેને IoT પ્રોજેક્ટ્સ માટે આદર્શ બનાવે છે. અલ્ટ્રાસોનિક સેન્સર ધ્વનિ તરંગો ઉત્સર્જિત કરીને અને પડઘો પાછો આવવામાં લાગેલો સમય ગણતરી કરીને અંતર માપે છે. LCD માપેલું અંતર દર્શાવશે, જ્યારે બઝર નિકટતાના આધારે શ્રાવ્ય ચેતવણીઓ પ્રદાન કરશે.
દરેક ઘટક એ સુનિશ્ચિત કરવામાં નિર્ણાયક ભૂમિકા ભજવે છે કે રિવર્સિંગ સહાય યોગ્ય રીતે કાર્ય કરે. આ ભાગો એકસાથે કેવી રીતે કામ કરે છે તે સમજવાથી બિલ્ડ પ્રક્રિયા દરમિયાન ઊભી થઈ શકે તેવી કોઈપણ સમસ્યાઓ ઉકેલવામાં મદદ મળશે. પ્રોજેક્ટ સેન્સર ડેટા સંચાલિત કરવા અને આઉટપુટને અસરકારક રીતે નિયંત્રિત કરવા માટે ESP32 ની પ્રોસેસિંગ શક્તિનો લાભ લે છે.
ડેટાશીટ વિગતો
| ઉત્પાદક | Espressif Systems |
|---|---|
| ભાગ નંબર | ESP32 |
| લોજિક/IO વોલ્ટેજ | 3.3 V |
| સપ્લાય વોલ્ટેજ | 5 V (મહત્તમ) |
| આઉટપુટ કરંટ (પ્રતિ ચેનલ) | 40 mA |
| પીક કરંટ (પ્રતિ ચેનલ) | 160 mA |
| PWM આવૃત્તિ માર્ગદર્શન | 1 kHz - 40 kHz |
| ઇનપુટ લોજિક થ્રેશોલ્ડ | 0.3 VCC (નીચું), 0.7 VCC (ઊંચું) |
| વોલ્ટેજ ડ્રોપ / RDS(on) / સેચ્યુરેશન | 0.2 V (સામાન્ય) |
| થર્મલ મર્યાદાઓ | ઓપરેટિંગ તાપમાન: -40°C થી 85°C |
| પેકેજ | QFN48 |
| નોંધો / વેરિઅન્ટ્સ | વિવિધ ESP32 મોડ્યુલો ઉપલબ્ધ છે |
- નુકસાન ટાળવા માટે યોગ્ય પાવર સપ્લાયની ખાતરી કરો.
- કરંટ મર્યાદિત કરવા માટે બઝર સાથે રેઝિસ્ટરનો ઉપયોગ કરો.
- દખલ ઘટાડવા માટે સિગ્નલ વાયર ટૂંકા રાખો.
- ડિજિટલ ઇનપુટ્સ માટે જરૂરી હોય તો પુલ-અપ રેઝિસ્ટરનો ઉપયોગ કરો.
- અલ્ટ્રાસોનિક સેન્સરની મહત્તમ શ્રેણી વિશે સાવચેત રહો.
વાયરિંગ સૂચનાઓ

પ્રોજેક્ટ માટે ઘટકોને વાયર કરવા માટે, અલ્ટ્રાસોનિક સેન્સરને કનેક્ટ કરીને શરૂ કરો. સેન્સરનો VCC પિન 5V પાવર લાઇન સાથે અને GND પિન ગ્રાઉન્ડ સાથે કનેક્ટ કરો. Trig પિન ESP32 પર પિન 26 સાથે કનેક્ટ થવો જોઈએ, અને Echo પિન પિન 25 સાથે કનેક્ટ થવો જોઈએ.
આગળ, બઝરને તેના પોઝિટિવ લીડને ESP32 પર પિન 14 સાથે અને નેગેટિવ લીડને ગ્રાઉન્ડ સાથે કનેક્ટ કરીને વાયર કરો. LCD માટે, VCC પિનને 5V લાઇન સાથે અને GND પિનને ગ્રાઉન્ડ સાથે કનેક્ટ કરો. LCD ના SDA અને SCL પિન અનુક્રમે પિન 21 અને 22 સાથે કનેક્ટ થવા જોઈએ. ખાતરી કરો કે ઓપરેશન દરમિયાન કોઈપણ ડિસ્કનેક્શન ટાળવા માટે બધા કનેક્શન સુરક્ષિત છે.
કોડ ઉદાહરણો અને વોકથ્રુ
કોડમાં, તમને distance જેવા મુખ્ય ઓળખકર્તાઓ મળશે, જે અલ્ટ્રાસોનિક સેન્સરથી માપેલું અંતર સંગ્રહિત કરે છે. આ ચલ વર્તમાન અંતર પ્રતિબિંબિત કરવા માટે લૂપમાં સતત અપડેટ થાય છે. બઝરનો પિન buzzerPin તરીકે વ્યાખ્યાયિત થયેલ છે, જે તેની સ્થિતિને સરળતાથી નિયંત્રિત કરવાની મંજૂરી આપે છે.
const int triggerPin = 26; // અલ્ટ્રાસોનિક સેન્સર માટે ટ્રિગર પિન
const int echoPin = 25; // અલ્ટ્રાસોનિક સેન્સર માટે ઇકો પિન
const int buzzerPin = 14; // બઝર પિન
આ સ્થિરાંકો સ્પષ્ટતા અને ગોઠવણની સરળતા માટે કોડની શરૂઆતમાં વ્યાખ્યાયિત થયેલ છે. ટ્રિગર અને ઇકો પિન અલ્ટ્રાસોનિક સેન્સર સાથે વાતચીત કરવા માટે વપરાય છે, જ્યારે બઝર પિન ધ્વનિ આઉટપુટને નિયંત્રિત કરે છે.
void setup() {
pinMode(triggerPin, OUTPUT); // ટ્રિગર પિનને આઉટપુટ તરીકે સેટ કરો
pinMode(echoPin, INPUT); // ઇકો પિનને ઇનપુટ તરીકે સેટ કરો
pinMode(buzzerPin, OUTPUT); // બઝર પિનને આઉટપુટ તરીકે સેટ કરો
}
setup() ફંક્શનમાં, આપણે અલ્ટ્રાસોનિક સેન્સર અને બઝર માટે પિન મોડ્સ ગોઠવીએ છીએ. આ સુનિશ્ચિત કરે છે કે ESP32 ઓપરેશન દરમિયાન હાર્ડવેર ઘટકો સાથે યોગ્ય રીતે ક્રિયાપ્રતિક્રિયા કરી શકે.
void loop() {
distance = readDistance(); // અંતર વાંચવા માટે ફંક્શનને કૉલ કરો
if (distance <= 10) {
beep(100); // નજીકના અંતર માટે ઝડપી બીપ
} else if (distance <= 20) {
beep(500); // મધ્યમ અંતર માટે મધ્યમ બીપ
} else {
beep(2000); // સલામત અંતર માટે ધીમી બીપ
}
}
loop() ફંક્શન સતત અંતર વાંચે છે અને મૂલ્યના આધારે બઝરની બીપ આવૃત્તિને સમાયોજિત કરે છે. અવરોધ કેટલો નજીક છે તેના આધારે beep() ફંક્શનને વિવિધ અંતરાલો સાથે બોલાવવામાં આવે છે.
પ્રદર્શન / શું અપેક્ષા રાખવી
એકવાર બધું કનેક્ટ થઈ જાય અને કોડ અપલોડ થઈ જાય, પછી તમે અપેક્ષા રાખી શકો છો કે સિસ્ટમ અવરોધના અંતરના આધારે વિવિધ અંતરાલો પર બીપ કરશે. જ્યારે અંતર 10 સેમી કરતાં ઓછું હોય, ત્યારે બઝર ઝડપથી બીપ કરશે, જ્યારે 50 સેમી કરતાં વધુ અંતર ધીમી બીપમાં પરિણમશે. અલ્ટ્રાસોનિક સેન્સરની સામે તમારો હાથ મૂકીને સિસ્ટમનું પરીક્ષણ કરવાનું સુનિશ્ચિત કરો, જેથી અંતર રીડિંગ્સ અને તેને અનુરૂપ બીપ દરોમાં થતા ફેરફારો જોઈ શકાય (વિડિયોમાં 12:30 પર).
વિડિયો ટાઇમસ્ટેમ્પ્સ
- 00:00 શરૂઆત
- 2:08 પરિચય અને દસ્તાવેજો
- 4:12 વાયરિંગ સમજાવ્યું
- 13:17 આર્ડુઇનો કોડ
- 21:01 આર્ડુઇનો IDE માં ESP32 બોર્ડ અને COM પોર્ટ પસંદ કરવું
- 22:48 લેબમાં ડેમો
- 24:54 કાર પર ડેમો
Common Course Links
Common Course Files
Things you might need
-
AmazonPurchase LCD1602-I2C from Amazonamzn.to
-
eBayPurchase LCD1602-I2C from eBayebay.us
-
AliExpressPurchase 10pcs LCD1602-I2C from AliExpresss.click.aliexpress.com
-
AliExpressPurchase LCD1602-I2C from AliExpresss.click.aliexpress.com
Resources & references
-
DocumentationESP32 Tutorial 32/55- SunFounder doc page for reversing aiddocs.sunfounder.com
Files📁
Fritzing File
-
LCD2004-I2C
LCD2004-I2C.fzpz0.02 MB