Search Code

Lisolo 24/31: Motuka ya Mayele Eteni 2: Kokende Liboso, Kozonga, Loboko ya Mwasi mpe Loboko ya Mobali mpe Kokamba Momekano ya Motuka

Lisolo 24/31: Motuka ya Mayele Eteni 2: Kokende Liboso, Kozonga, Loboko ya Mwasi mpe Loboko ya Mobali mpe Kokamba Momekano ya Motuka

24-SunFounder-Car-Speed na libanga

Liteya oyo elingi kolimbola etape ya mibale ya kotonga motuka na yo ya bwanya: kokamba botamboli na yango na kosalela code ya Arduino. Atako proje ya liboso ekoki kopesa motuka yango nzela ya kotambola na ndenge ya liboso, guide oyo ezali koteya yo ndenge ya kotinda motuka yango kotambola liboso, sima, kaka na loboko ya gauche, kaka na loboko ya droite, mpe kotelema na précision. Okoyekola mpe ndenge ya kokamba vitesse na yango, mpo na kopesa nzela ya kotambola malamu mpe kokita malamu. Oyo ezali etape ya liboso mpo na proje nyonso ya robotique, pamba te epesaka yo logique ya liboso mpo na kosala bizaleli ya autonomie ya komplike.

26-SunFounder-Car-4-Ultrasonic.mp4_snapshot_00.00.000

Kozala na bokasi ya kokamba botamboli oyo efungolaka mokili ya mikakatano mingi. Tala ndenge misusu ya kosalela yango na misala:

  • Roboti oyo elandaka nzela: Sala ekelá ya kaka na loboko ya gauche mpe ya droite mpo na kobatela roboti na nzela.
  • Véhicule oyo ekimaka mikakatano: Programme motuka yango mpo na kotambola liboso, kotelema, mpe kaka na loboko tango emonaka eloko na nzela na yango.
  • Kopemisa na contrôleur ya mosika: Sangisa mitindo oyo na module ya wireless mpo na kotambolisa motuka na ndako na yo to na lopango.
  • Systèmes ya kosambwisa automatique: Sala roboti ya moke oyo ekoki kotambola kati na bisika oyo esili koponama, kotelema mpe kobanda lisusu ndenge esengeli.

Matériel mpe Bipayi

Proje oyo ezwami na kit ya SunFounder 3-in-1 Arduino. Esengeli te kobakisa bipayi mosusu libanda ya kit ya liboso, kasi okosengela kokangisa ba fils minei mosusu na Arduino mpo na kokamba moteur driver. Bipayi ya ntina ezali:

  • Arduino Uno (to carte oyo ekokani na yango)
  • Châssis ya motuka ya SunFounder Smart Car na ba moteurs
  • Carte ya moteur driver (ezali na kit)
  • Ba fils ya jumper
  • Batterie mpo na motuka
  • Câble USB mpo na programme
smarcar_turning_right  na likolo
smartcar_turning_left na likolo

Guide ya Kokangisa Ba Fils

Kokangisa ba fils mpo na proje oyo ezali na ntina mingi mpo na kokamba direction ya moteur moko na moko. Vidéo elobi ete ba fils minei ya contrôle ya moteur oyo euti na carte ya driver ekangisami na ba pins 5, 6, 9, mpe 10 ya Arduino. Ba pins oyo ezali spécial pamba te esalelaka Pulse Width Modulation (PWM), oyo ezali na ntina mingi mpo na kokamba vitesse.

Na vidéo, molakisi akangisaka yango na ordre ya sikisiki na kosalela ba fils ya jaune mpe ya bleu, ndenge emonani na diagramme oyo ezali na nse.

Likambo ya liboso mpo na sécurité oyo elobami na vidéo ezali ete okokanola ba fils ya batterie ya motuka (fil rouge na 5V mpe fil noire na GND) tango ozali ko-programmer Arduino na USB. Oyo epekisaka USB port ete ezala na charge mingi mpe ekoka kokufa.

Explication ya Code

Code mpo na liteya oyo ebongisami mpo na kozala pete ya kobongola mpe kososola. Ntina ya kokamba motuka ezali na ba définitions ya ba pins na likolo ya sketch. Okoki kobongola yango soki okabwani ete osalela ba pins mosusu na Arduino na yo.

const int in1 = 5;
const int in2 = 6;
const int in3 = 9;
const int in4 = 10;

Ba lignes oyo ezali ko définir ba pins ya Arduino oyo ekangisami na ba entrées ya moteur driver. in1 mpe in2 ezali kokamba moteur moko, ntango in3 mpe in4 ezali kokamba mosusu. Na kotia ba pins oyo na HIGH to LOW, okokamba direction ya libale ya moteur moko na moko.

Mpo na kokamba vitesse ya motuka, code esalelaka ba fonctions mibale ya particulier: moveForward(int speed) mpe moveBackwards(int speed). Ba fonctions oyo ezali kozwa valeur ya entier kati na 0 mpe 255 lokola argument. Valeur 0 etelemisaka moteur, ntango 255 ezali vitesse ya maximum. Na ndakisa, mpo na kotambolisa motuka liboso na vitesse ya maximum, okobenga moveForward(255). Mpo na kotambolisa yango sima na mokemoke, okosalela moveBackwards(100).

Vidéo emonisaka mpe séquence ya "kobakisela vitesse" mpe "kokitisa vitesse" na kosalela ba boucles for. Oyo ezali technique ya makasi mpo na accélération ya malamu.

for(int i=0;i<=255;i+=5){
  moveForward(i);
  delay(100);
}

Boucle oyo ebandaka na i na 0 mpe ebakisaka yango na 5 na mbala nyonso kino ekokoma na 255. Na mbala nyonso, ebengaka moveForward(i), mpe ezali kokitisa mokemoke vitesse ya motuka. delay(100) epesaka pause ya millisecondes 100 na etape nyonso ya vitesse, mpo na kopesa nzela ete accélération emonana. Boucle mosusu na valeur ya i oyo ezali kokita esalelamaka mpo na kokitisa vitesse ya motuka.

Démonstration ya Proje na Biso

Na vidéo, molakisi azali kolakisa proje na ba étapes mibale ya minene. Ya liboso, azali kolakisa ba mouvements ya liboso ya motuka. Na kotia code ya "move", motuka ezali kosala séquence oyo esili koprogrammer: kotambola liboso mpo na secondes mibale, kotelema, kozonga sima mpo na secondes mibale, kotelema, kaka na loboko ya gauche, mpe sima kaka na loboko ya droite. Oyo emonisaka na miso ete kokangisa ba fils mpe logique ezali malamu.

Emonstration ya libale oyo elobeli kotambwisa vitesse. Moteyi akotisi code ya "kobakisela vitesse", oyo ekotambwisa motuka liboso mokemoke kino ekokoma na vitesse ya suka mpe na sima ekokita mokemoke kino ekotelema. Na sima alakisaki version oyo ezali na vitesse ya kala, epai motuka ekotambola liboso na 255, ekotelema, mpe na sima ekotambola na sima na vitesse ya 100, mpe ba valeurs yango ekopasamela na Serial Monitor mpo na kotalela.

Bipayi

  • [00:00] Bokotisi na Kotambwisa Motuka
  • [01:44] Kobongisa Baninga mpo na Kotambwisa na Code
  • [02:07] Kolakisa Kotambola Liboso mpe na Sima
  • [03:18] Kolakisa Kotambola na Mwasi mpe na Mobali
  • [05:05] Kokangisa Baninga na Ba Pins ya Arduino
  • [07:00] Kolimbolama ya Code mpo na Kotambwisa na Direction
  • [11:44] Bokotisi na Kotambwisa Vitesse
  • [12:16] Kolimbolama ya Code mpo na Kobakisela Vitesse
  • [14:45] Kosalela Serial Monitor mpo na Kobongisa Ba Erreurs
  • [17:10] Emonstration ya Moko mpo na Kotambwisa Vitesse
  • [19:45] Esenzeli ya Suka na Libanda mpe Bokonzi

Images

26-SunFounder-Car-4-Ultrasonic.mp4_snapshot_00.00.000
26-SunFounder-Car-4-Ultrasonic.mp4_snapshot_00.00.000
smartcar_turning_left
smartcar_turning_left
smarcar_turning_right
smarcar_turning_right
24-SunFounder-Car-Speed on the pavement
24-SunFounder-Car-Speed on the pavement
900-Lesson 24/31: Smart code speeds up
Langue: C++
/*
Lesson 24/31: Smart code speeds up
Get this code and watch video Download and resource page https://robojax.com/RJT607
YouTube video https://www.youtube.com/watch?v=QzcUig2L3dM

*/
const int in1 = 5;
const int in2 = 6;
const int in3 = 9;
const int in4 = 10;

void setup() {
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
  Serial.begin(9600);
  Serial.println("SunFounder Arduino Course");
  Serial.println("Lesson 3: Speed up");
  Serial.println("www.Robojax.com");
  
}

void loop() {
    
    moveForward(255);
    Serial.print("Forward at: ");
    Serial.println(255);
    delay(5000);//for 5 seconds

    Serial.println("Stopped ");
    moveForward(0);//stop the car
    delay(2000);//for 2 seconds
    
    moveBackwards(100);
    Serial.print("Reverse at: ");    
    Serial.println(100);    
    delay(5000);//for 5 seconds

    Serial.println("Stopped ");
    moveForward(0);//stop the car
    delay(2000);//for 2 seconds   
 
}

void moveForward(int speed) {
  analogWrite(in1, 0);
  analogWrite(in2, speed);
  
  analogWrite(in3, speed);
  analogWrite(in4, 0);
}

void moveBackwards(int speed) {
  analogWrite(in1, speed);
  analogWrite(in2, 0);
  
  analogWrite(in3, 0);
  analogWrite(in4, speed);
}
901-Lesson 24/31: Smart code speeds up (Custome code)
Langue: C++
/*
Lesson 24/31: Smart code speeds up (custom code)
Get this code and watch video Download and resource page https://robojax.com/RJT607
YouTube video https://www.youtube.com/watch?v=QzcUig2L3dM

*/
const int in1 = 5;
const int in2 = 6;
const int in3 = 9;
const int in4 = 10;

void setup() {
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
  Serial.begin(9600);
  Serial.println("SunFounder Arduino Course");
  Serial.println("Lesson 3: Speed up");
  Serial.println("www.Robojax.com");
  
}

void loop() {
  Serial.println("Loop 1: Speeding Up"); 
  for(int i=0;i<=255;i+=5){
    moveForward(i);
    Serial.print("i= ");
    Serial.println(i);
    delay(100);
  }
    Serial.println("Loop 2: Slowing down "); 
  for(int i=255;i>=0;i-=5){
    moveForward(i);
    Serial.print("i= ");
    Serial.println(i);    
    delay(100);
  }
 
}

void moveForward(int speed) {
  analogWrite(in1, 0);
  analogWrite(in2, speed);
  
  analogWrite(in3, speed);
  analogWrite(in4, 0);
}

Mokili na bisika

Fichiers📁

Maktabat ya Arduino (zip)