પાઠ 25/31: કાર-3 સ્માર્ટ કાર ઇન્ફ્રારેડ સેન્સરનો ઉપયોગ કરીને અવરોધ ટાળે છે | સનફાઉન્ડર રોબોજેક્સ
આ પ્રોજેક્ટ તમારી SunFounder 3-in-1 Arduino સ્માર્ટ કારને સ્વાયત્ત અવરોધ-ટાળતું વાહન બનાવે છે. બે ઇન્ફ્રારેડ (IR) સેન્સરો માઉન્ટ કરીને—એક ડાબી બાજુ અને એક જમણી બાજુ—કાર તેના માર્ગમાં આવતી વસ્તુઓને શોધી શકે છે અને તેમની આસપાસ ફરવા માટે ત્વરિત નિર્ણયો લઈ શકે છે. આ રોબોટિક્સમાં એક મૂળભૂત પગલું છે, જે તમને શીખવે છે કે સેન્સર ઇનપુટને મોટર કંટ્રોલ લોજિક સાથે કેવી રીતે જોડીને પ્રતિક્રિયાશીલ, સ્વ-ડ્રાઇવિંગ મશીન બનાવવું. અહીં તમે જે સિદ્ધાંતો શીખશો તે વાસ્તવિક દુનિયાની વિવિધ એપ્લિકેશનો પર લાગુ પડે છે, જેમાં નીચેનાનો સમાવેશ થાય છે:
- રોબોટિક વેક્યુમ ક્લીનર બનાવવું જે ફર્નિચર સાથે અથડાયા વિના રૂમમાં નેવિગેટ કરે.
- લાઇન-ફોલોઇંગ અથવા ભુલભુલામણી-ઉકેલતો રોબોટ બનાવવો સ્પર્ધાઓ અથવા શૈક્ષણિક પ્રોજેક્ટ્સ માટે.
- સ્વચાલિત સુરક્ષા પેટ્રોલિંગ બોટ વિકસાવવો જે પરિમિતિમાં ફરી શકે અને દિવાલો ટાળી શકે.
- સ્માર્ટ રમકડાની કાર ડિઝાઇન કરવી જે સ્વતંત્ર રીતે રમી શકે અને અટકી ન જાય.
આ માર્ગદર્શિકા અગાઉના પાઠો પર સીધું નિર્માણ કરે છે જ્યાં તમે કારના મોટર્સને નિયંત્રિત કરવાનું અને IR સેન્સરો કેવી રીતે કાર્ય કરે છે તે સમજવાનું શીખ્યા છો. અહીં, અમે તે કૌશલ્યોને જોડીને એક સરળ છતાં અસરકારક અવરોધ-ટાળવાની અલ્ગોરિધમ લાગુ કરીશું.
અવરોધ ટાળવાની લોજિક કેવી રીતે કાર્ય કરે છે
મુખ્ય વિચાર સરળ છે: કાર તેની ડાબી અને જમણી બાજુએ અવરોધો તપાસવા માટે બે IR સેન્સરોનો ઉપયોગ કરે છે. દરેક સેન્સર ડિજિટલ સિગ્નલ આઉટપુટ કરે છે: LOW (0) જ્યારે તે તેની રેન્જમાં (લગભગ 20 સેમી) કોઈ વસ્તુ શોધે છે અને HIGH (1) જ્યારે માર્ગ સ્પષ્ટ હોય છે. લોજિક પછી સેન્સર સ્થિતિઓના આધારે કારની ક્રિયા નક્કી કરે છે (વિડિયોમાં 02:35 પર):
- ડાબી બાજુ અવરોધ, જમણી બાજુ સ્પષ્ટ: કાર તેને ટાળવા માટે જમણી તરફ વળે છે.
- જમણી બાજુ અવરોધ, ડાબી બાજુ સ્પષ્ટ: કાર ડાબી તરફ વળે છે.
- બંને બાજુ અવરોધો: કાર સંભવિત ડેડ-એન્ડમાંથી બહાર નીકળવા માટે પાછળ ખસે છે.
- કોઈ અવરોધ નથી: કાર આગળ ચાલે છે.
આ પ્રતિક્રિયાશીલ અભિગમ ફિનાઇટ-સ્ટેટ મશીનનું ઉત્તમ ઉદાહરણ છે, જ્યાં કારનું વર્તન તેના વર્તમાન સેન્સર ઇનપુટ્સનો સીધો પ્રતિભાવ છે.
હાર્ડવેર ઘટકો
આ પ્રોજેક્ટ પૂર્ણ કરવા માટે, તમારે નીચેના ઘટકોની જરૂર પડશે, જે બધા SunFounder 3-in-1 Arduino કિટમાં શામેલ છે:
- 1x SunFounder 3-in-1 Arduino સ્માર્ટ કાર કિટ (અથવા સમકક્ષ ભાગો)
- 2x ઇન્ફ્રારેડ અવરોધ ટાળવાના સેન્સર
- 1x Arduino Uno (અથવા સુસંગત બોર્ડ)
- 1x મોટર ડ્રાઇવર શિલ્ડ/બોર્ડ
- જમ્પર વાયર
વાયરિંગ માર્ગદર્શિકા
આ પ્રોજેક્ટ માટે યોગ્ય સેન્સર ગોઠવણી નિર્ણાયક છે. IR સેન્સરો આગળ અને થોડા બહારની તરફ મુખ રાખીને ગોઠવાયેલા હોવા જોઈએ, કારણ કે તેઓ કારની બાજુઓ પર અવરોધો શોધશે (વિડિયોમાં 02:07 પર). નીચેનો વાયરિંગ ડાયાગ્રામ બતાવે છે કે સેન્સરોને Arduino સાથે કેવી રીતે જોડવા. કૃપા કરીને નોંધ લો કે પ્રશિક્ષકે કારના બ્રેડબોર્ડ પર ચોક્કસ પાવર વિતરણ બિંદુનો ઉપયોગ કર્યો હતો, પરંતુ Arduino સાથેના જોડાણો જ મહત્વપૂર્ણ છે.
વાયરિંગ જોડાણો નીચે મુજબ છે (વિડિયોમાં 03:47 પર):
- પાવર (VCC): બંને IR સેન્સરોના VCC પિનને Arduino પરના 5V આઉટપુટ અથવા કારના પાવર રેલ સાથે જોડો.
- ગ્રાઉન્ડ (GND): બંને IR સેન્સરોના GND પિનને Arduino પરના સામાન્ય ગ્રાઉન્ડ અથવા કારના ગ્રાઉન્ડ રેલ સાથે જોડો.
- જમણા સેન્સરનું આઉટપુટ (OUT): જમણા IR સેન્સરના ડિજિટલ આઉટપુટ પિનને Arduino પરના ડિજિટલ પિન 7 સાથે જોડો.
- ડાબા સેન્સરનું આઉટપુટ (OUT): ડાબા IR સેન્સરના ડિજિટલ આઉટપુટ પિનને Arduino પરના ડિજિટલ પિન 8 સાથે જોડો.
ડાબા અને જમણા મોટર્સ માટેના મોટર ડ્રાઇવર જોડાણો મોટર કંટ્રોલ પરના અગાઉના પાઠમાં સ્થાપિત કરેલા જોડાણો જ છે.
કોડ સમજૂતી
આ પ્રોજેક્ટનો કોડ સીધો છે. મુખ્ય પ્રોગ્રામ લેખની નીચે ડાઉનલોડ માટે ઉપલબ્ધ છે. અહીં, અમે વપરાશકર્તા-રૂપરેખાંકિત ભાગો પર ધ્યાન કેન્દ્રિત કરીશું જે તમે તમારી પોતાની કાર માટે ગોઠવી શકો છો.
const int A_1B = 5;
const int A_1A = 6;
const int B_1B = 9;
const int B_1A = 10;
const int rightIR = 7;
const int leftIR = 8;
આ રેખાઓ મોટર ડ્રાઇવર અને IR સેન્સરો માટે ઉપયોગમાં લેવાતા પિનને વ્યાખ્યાયિત કરે છે. મોટર પિન (A_1B, A_1A, B_1B, B_1A) બે મોટર્સની ગતિ અને દિશાને નિયંત્રિત કરે છે. rightIR અને leftIR પિન તે છે જ્યાં તમે તમારા સેન્સરોમાંથી સિગ્નલ વાયર જોડો છો. જો તમે અલગ પિનનો ઉપયોગ કર્યો હોય, તો તમે અહીં આ મૂલ્યો બદલશો.
int speed = 150;
આ ચલ કાર માટે મૂળભૂત ગતિ સેટ કરે છે. મૂલ્ય 0 થી 255 સુધી હોઈ શકે છે, જ્યાં 255 મહત્તમ ગતિ છે. શીખવા માટે 150 નું મૂલ્ય એક સારો પ્રારંભિક બિંદુ છે, કારણ કે તે પૂરતું ઝડપી છે જેથી રસપ્રદ રહે પરંતુ પૂરતું ધીમું છે જેથી પ્રતિક્રિયા સમય મળી શકે (વિડિયોમાં 07:10 પર). તમે તમારી કારને ઝડપી અથવા ધીમી બનાવવા માટે આને ગોઠવી શકો છો.
બાકીનો કોડ loop() ફંક્શનમાં તર્ક વ્યાખ્યાયિત કરે છે. તે ડાબા અને જમણા સેન્સરની સ્થિતિ વાંચે છે અને પછી યોગ્ય ગતિ ફંક્શનને કૉલ કરે છે (moveForward(), moveBackward(), backLeft(), backRight()). આ ફંક્શનો પૂર્વ-વ્યાખ્યાયિત છે અને ઇચ્છિત ગતિ પ્રાપ્ત કરવા માટે મોટર ડ્રાઇવરને નિયંત્રિત કરે છે. પ્રશિક્ષકે પાછળથી સુધારામાં stop() ફંક્શન પણ ઉમેર્યું હતું જેથી અવરોધ ટાળવાની યુક્તિ પછી કારને થોડા સમય માટે રોકી શકાય, જે તેની હિલચાલને વધુ ઇરાદાપૂર્વક બનાવે છે (વિડિયોમાં 10:29 પર).
લાઇવ પ્રોજેક્ટ પ્રદર્શન
વિડિયોમાં, પ્રશિક્ષક પહેલા સીરિયલ મોનિટરનો ઉપયોગ કરીને તર્ક દર્શાવે છે. સેન્સરની નજીક બોક્સ મૂકીને, તમે સ્ક્રીન પર "Go Left", "Go Right", અથવા "Go Backward" જેવા સંબંધિત સંદેશાઓ જોઈ શકો છો, જે સેન્સર રીડિંગ્સ અને તર્ક સાચા છે તેની પુષ્ટિ કરે છે (વિડિયોમાં 09:11 પર).
તર્ક ચકાસ્યા પછી, પ્રશિક્ષક એક મહત્વપૂર્ણ સુધારો ઉમેરે છે: stop() ફંક્શન. આ ફંક્શન કારને વળાંક લેવા અથવા ઉલટી કર્યા પછી નિર્ધારિત સમયગાળા માટે (દા.ત., 1 સેકન્ડ) સંપૂર્ણ રીતે રોકે છે, જે અચાનક હિલચાલને અટકાવે છે અને કારને તેની આસપાસનું પુનઃમૂલ્યાંકન કરવાની મંજૂરી આપે છે (વિડિયોમાં 10:29 પર).
છેલ્લે, કારને અનેક અવરોધો સાથે ફ્લોર પર પરીક્ષણ કરવામાં આવે છે. વિડિયો બતાવે છે કે કાર સફળતાપૂર્વક બોક્સની આસપાસ નેવિગેટ કરે છે, જરૂર મુજબ ડાબે, જમણે વળે છે અને ઉલટી કરે છે જેથી સ્પષ્ટ માર્ગ શોધી શકાય, જે આ અવરોધ-ટાળવાની અલ્ગોરિધમનો વાસ્તવિક-વિશ્વ ઉપયોગ દર્શાવે છે (વિડિયોમાં 12:13 પર).
પ્રકરણો
- [00:00] IR સેન્સર સાથે અવરોધ ટાળવાનો પરિચય
- [01:24] પૂર્વશરતો અને પ્રોજેક્ટ ઝાંખી
- [02:35] અવરોધ ટાળવાનો તર્ક કેવી રીતે કાર્ય કરે છે
- [03:47] IR સેન્સર અને મોટર્સને વાયરિંગ કરવું
- [05:40] કોડ ખોલવો અને સમજાવવો
- [09:11] સીરિયલ મોનિટર સાથે તર્કનું પરીક્ષણ
- [10:29] સરળ નેવિગેશન માટે સ્ટોપ ફંક્શન ઉમેરવું
- [11:42] સ્ટોપ ફંક્શનનું પરીક્ષણ
- [12:13] ફ્લોર પર અંતિમ વ્યવહારિક પરીક્ષણ
This code has not been parsed yet. Please return to the admin panel to parse it.
Common Course Links
Common Course Files
Resources & references
-
DocumentationDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kit¶docs.sunfounder.com
-
ExternalPurchase SunFounder's 3-in-1 Smart car learning kitsunfounder.com
Files📁
Arduino Libraries (zip)
-
SunFounder's 3-in-1 Smart Car learning kit source code
3in1-kit-main-v2.zip12.80 MB