Cashar 25/31: Gaariga-3 Gaariga Caqliga leh wuxuu ka fogaadaa caqabadaha isagoo isticmaalaya dareemayaasha infrared | SunFounder Robojax
Qaybaha Qalabka
Si aad u dhamaystirto mashruucan, waxaad u baahan doontaa qaybaha soo socda, kuwaas oo dhammaantood ku jira qalabka SunFounder 3-in-1 Arduino:
- 1x SunFounder 3-in-1 Arduino Smart Car Kit (ama qaybo u dhigma)
- 2x Infrared Obstacle Avoidance Sensors
- 1x Arduino Uno (ama board la jaan qaada)
- 1x Motor Driver Shield/Board
- Jumper Wires
Hagaha Xirista
Habka saxda ah ee sensor-ka ayaa muhiim u ah in mashruucan uu shaqeeyo. Sensor-yada IR waa inay u jeedaan xagga hore iyo xoogaa dibadda ah, maadaama ay ku ogaan doonaan caqabadaha dhinacyada gaariga (fiidiyowga 02:07). Jaantuska xirista ee soo socda wuxuu muujinayaa sida loogu xiro sensor-yada Arduino-ga. Fadlan ogow in macallinku uu isticmaalay meel gaar ah oo qaybinta korontada ah oo ku taal breadboard-ka gaariga, laakiin xirista Arduino-ga ayaa ah tan muhiimka ah.
Xirista waa sida soo socota (fiidiyowga 03:47):
- Koronto (VCC): Ku xir pin-ka VCC ee labada sensor IR ee 5V output-ka Arduino-ga ama korontada gaariga.
- Dhul (GND): Ku xir pin-ka GND ee labada sensor IR dhul guud oo ku yaal Arduino-ga ama dhulka gaariga.
- Sensor-ka Midig (OUT): Ku xir pin-ka digital output ee sensor-ka IR ee midig ee pin-ka digital 7 ee Arduino-ga.
- Sensor-ka Bidix (OUT): Ku xir pin-ka digital output ee sensor-ka IR ee bidix ee pin-ka digital 8 ee Arduino-ga.
Xirista motor driver-ka ee motor-yada bidix iyo midig waxay la mid tahay tii la aasaasay casharkii hore ee xakamaynta motor-ka.
Sharaxaada Koodhka
Koodhka mashruucan waa mid toos ah. Barnaamijka ugu weyn wuxuu diyaar u yahay in la soo dejiyo hoosta maqaalka. Halkan, waxaan diiradda saari doonnaa qaybaha isticmaaluhu wax ka beddeli karo si uu ugu habboonaado gaarigaaga.
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;
Sadarkan waxay qeexayaan pin-yada loo isticmaalo motor driver-ka iyo sensor-yada IR. Pin-yada motor-ka (A_1B, A_1A, B_1B, B_1A) waxay xakameeyaan xawaaraha iyo jihada labada motor. Pin-yada rightIR iyo leftIR waa meesha aad ku xirto fiilooyinka signal-ka ee sensor-yadaaga. Haddii aad isticmaashay pin-yo kala duwan, waxaad beddeli doontaa qiimahan halkan.
int speed = 150;
Isbeddelkani wuxuu dejiyaa xawaaraha saldhigga ah ee gaariga. Qiimuhu wuxuu u dhexeeyaa 0 ilaa 255, halkaas oo 255 uu yahay xawaaraha ugu sarreeya. Qiimo dhan 150 ayaa ah meel bilow ah oo wanaagsan oo loogu talagalay barashada, maadaama ay ku filan tahay inay xiiso leedahay laakiin ay gaabis tahay si ay u oggolaato waqti jawaab celin ah (fiidiyowga 07:10). Waxaad tan hagaajin kartaa si aad gaarigaaga uga dhigtid mid ka dheereeya ama ka gaabsiisan.
Tusmo Xoriga ah ee Ka Hortagga Caqabadaha ee Soodhawayaasha IR
Qaybta kale ee koodhka waxay qeexaysaa macquulka shaqada loop(). Waxay akhrisaa xaaladda dareemayaasha bidix iyo midig ka dibna waxay u wacdaa shaqada dhaqdhaqaaqa ku habboon (moveForward(), moveBackward(), backLeft(), backRight()). Shaqooyinkani waa kuwo horay loo qeexay oo waxay xakameeyaan darawalka matoorka si loo gaaro dhaqdhaqaaqa la doonayo. Macallinku wuxuu sidoo kale ku daray shaqada stop() markii dambe si uu gaariga u joojiyo muddo gaaban ka dib hawlgalka ka fogaanshaha, taasoo ka dhigaysa dhaqdhaqaaqiisa mid si fiican loo qorsheeyay (fiidiyowga 10:29).
Muuujinta Mashruuca Tooska ah
Fiidiyowga, macallinku wuxuu marka hore muujinayaa macquulka isagoo isticmaalaya Kormeerka Taxanaha ah. Isagoo sanduuq ku dhejinaya dareemayaasha, waxaad arki kartaa fariimaha u dhigma sida "Tag Bidix", "Tag Midig", ama "Tag Gadaal" oo ku soo baxaya shaashadda, taasoo xaqiijinaysa in akhrinta dareemayaasha iyo macquulku ay sax yihiin (fiidiyowga 09:11).
Ka dib markii uu xaqiijiyay macquulka, macallinku wuxuu ku darayaa horumar muhiim ah: shaqada stop(). Shaqadani waxay gaariga si buuxda u joojinaysaa muddo cayiman (tusaale, 1 ilbiriqsi) ka dib marka uu sameeyo leexasho ama dib u noqosho, iyadoo ka hortagaysa dhaqdhaqaaqyo kacsan oo u oggolaanaysa gaariga inuu dib u qiimeeyo agagaarkiisa (fiidiyowga 10:29).
Ugu dambayntii, gaariga waxaa lagu tijaabiyaa dhulka isagoo leh caqabado taxane ah. Fiidiyowgu wuxuu muujinayaa gaariga oo si guul leh u maraya agagaarka sanduuqyada, isagoo u leexanaya bidix, midig, iyo dib u noqosho sida loo baahdo si uu u helo waddo cad, taasoo muujinaysa codsiga dhabta ah ee algorithm-ka ka fogaanshaha caqabadaha (fiidiyowga 12:13).
Cutubyada
- [00:00] Hordhaca Ka Hortagga Caqabadaha ee Soodhawayaasha IR
- [01:24] Shuruudaha Hordhaca ah iyo Dulmarka Mashruuca
- [02:35] Sida Macquulka Ka Hortagga Caqabadaha U Shaqeeyo
- [03:47] Ku Xiridda Soodhawayaasha IR iyo Matoorka
- [05:40] Furista iyo Sharaxaadda Koodhka
- [09:11] Tijaabinta Macquulka ee Kormeerka Taxanaha ah
- [10:29] Ku Daridda Shaqada Joojinta ee Hagidda Saxda ah
- [11:42] Tijaabinta Shaqada Joojinta
- [12:13] Tijaabada Dhabta ah ee Kama Dambaysta ah ee Dhulka
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;
void setup() {
Serial.begin(9600);
//motor
pinMode(A_1B, OUTPUT);
pinMode(A_1A, OUTPUT);
pinMode(B_1B, OUTPUT);
pinMode(B_1A, OUTPUT);
//IR obstacle
pinMode(leftIR, INPUT);
pinMode(rightIR, INPUT);
}
void loop() {
int left = digitalRead(leftIR); // 0: Obstructed 1: Empty
int right = digitalRead(rightIR);
int speed = 150;
if (!left && right) {
backLeft(speed);
} else if (left && !right) {
backRight(speed);
} else if (!left && !right) {
moveBackward(speed);
} else {
moveForward(speed);
}
}
void moveForward(int speed) {
analogWrite(A_1B, 0);
analogWrite(A_1A, speed);
analogWrite(B_1B, speed);
analogWrite(B_1A, 0);
}
void moveBackward(int speed) {
analogWrite(A_1B, speed);
analogWrite(A_1A, 0);
analogWrite(B_1B, 0);
analogWrite(B_1A, speed);
}
void backLeft(int speed) {
analogWrite(A_1B, speed);
analogWrite(A_1A, 0);
analogWrite(B_1B, 0);
analogWrite(B_1A, 0);
}
void backRight(int speed) {
analogWrite(A_1B, 0);
analogWrite(A_1A, 0);
analogWrite(B_1B, 0);
analogWrite(B_1A, speed);
}
Common Course Links
Common Course Files
Kheyraadka & Tixraacyada
-
DukumentiDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
DibeddaPurchase SunFounder's 3-in-1 Smart car learning kitsunfounder.com
Faylasha📁
Arduino Libraries (zip)
-
SunFounder's 3-in-1 Smart Car learning kit source code
3in1-kit-main-v2.zip12.80 MB