Revision: 68317
Updated Code
at January 11, 2015 09:02 by agarcia
Updated Code
/* Segon repte clautic league Fer ziga zaga a les piramides arribar a la barca i tornar a la base utilitzant sensor d'ultrasons Aquesta versio amb la llibreria Ultrasonic */ /* Aquesta d'aquà sota és la llibreria dels sensor d'ultrasons comentada en el vÃdeo. Per més informació: http://goo.gl/T8UESz */ #include <Ultrasonic.h> // Definició dels pins dels motors int mesq_av = 12; // Motor esquerra per endavant al pin 12 int mesq_re = 11; // Motor esquerra per enradera al pin 11 int mesq_vel = 10; // Motor esquerra control velocitat al pin PWM 10 int mdret_av = 7; // Motor dret per endavant al pin 7 int mdret_re = 6; // Motor dret per enradera al pin 6 int mdret_vel = 5; // Motor dret control velocitat al pin PWM 5 // Definició constants sensor distancia #define Echo 8 #define Trip 9 #define Led 13 Ultrasonic ultrasonic(Trip,Echo); // (Trig PIN,Echo PIN) long distancia,temps; int final=0; // Per fer el loop una sola vegada int compara; //int contador; void setup(){ // Activem pins dels motors com sortida // Motor esquerra pinMode(mesq_vel, OUTPUT); pinMode(mesq_av, OUTPUT); pinMode(mesq_re, OUTPUT); // Motor dret pinMode(mdret_vel, OUTPUT); pinMode(mdret_av, OUTPUT); pinMode(mdret_re, OUTPUT); // pinMode(Echo, INPUT); // pinMode(Trig, OUTPUT); pinMode(Led, OUTPUT); Serial.begin(9600); } void loop(){ if (final==0){ //de la base a tutankamon digitalWrite(Led, HIGH); Motors(HIGH, LOW, 235, HIGH, LOW, 255); delay(800); //anterior:800 // Motors(HIGH, LOW, 0, HIGH, LOW, 0); //90º tutankamon piramide 1 Motors(HIGH, LOW, 255, HIGH, LOW, 0); delay(130); //anterior:155 Motors(HIGH, LOW, 0, HIGH, LOW, 0); // Posem a la variable compara la distancia que dona el sensor des de la llibreria compara=ultrasonic.Ranging(CM); //mentres estigui a + de "x" cm anar endevant while (compara > 22 || compara ==0 ){ digitalWrite(Led, LOW); Motors(HIGH, LOW, 95, HIGH, LOW, 100); Serial.println(compara); compara=ultrasonic.Ranging(CM); } digitalWrite(Led, HIGH); //esquivar 1a piramide primer girant a la dreta Motors(HIGH, LOW, 255, HIGH, LOW, 0); delay(140); //anterior: 140 //recte Motors(HIGH, LOW, 100, HIGH, LOW, 145); delay(130);//abans 150 Motors(HIGH, LOW, 0, HIGH, LOW, 0); delay(5); //i despres girant a l'esquerra Motors(HIGH, LOW, 0, HIGH, LOW, 250);//abans 245 delay(420); //anterior: 400 Motors(LOW, LOW, 0, LOW, LOW, 0); // Tornem a agafar el valor de distancia i establim distancia mÃÂnima compara=ultrasonic.Ranging(CM); while (compara > 22 || compara ==0 ){ digitalWrite(Led, LOW); Motors(HIGH, LOW, 85, HIGH, LOW, 110); compara=ultrasonic.Ranging(CM); } digitalWrite(Led, HIGH); //esquivar 1a piramide 2 girant esquerra Motors(HIGH, LOW, 0, HIGH, LOW, 255); delay(90);//Abans 100 //va recte Motors(HIGH, LOW, 200, HIGH, LOW, 235); delay(140);//abans 160 Motors(LOW, LOW, 0, LOW, LOW, 0); delay(100); // i despres a la dreta Motors(HIGH, LOW, 245, HIGH, LOW, 95); delay(450);//abans 400 Motors(LOW, LOW, 0, LOW, LOW, 0); delay(150); // avança una mica abans de tornar a girar a l'esquerra Motors(HIGH, LOW, 200, HIGH, LOW, 235);//abans 140 delay(550);//abans 400 Motors(LOW, LOW, 0, LOW, LOW, 0); delay(50); // gira a l'esquerra per anar a la galera Motors(HIGH, LOW, 0, HIGH, LOW, 250); delay(300); Motors(LOW, LOW, 0, LOW, LOW, 0); delay(100); // avança cap a la barca Motors(HIGH, LOW, 255, HIGH, LOW, 255); delay(750); Motors(LOW, LOW, 0, LOW, LOW, 0); delay(100); // torna a la base d'esquena Motors(LOW, HIGH, 245, LOW, HIGH, 250); delay(2000); // i es para el motor Motors(HIGH, LOW, 0, HIGH, LOW, 0); // es suma final, per no tornar a executar el bucle final++; } } //FUNCIONS void Motors (char me_avan, char me_retr, int me_vel, char md_avan, char md_retr, int md_vel) { // Motor esquerra endavant o enrradera digitalWrite (mesq_av, me_avan); digitalWrite (mesq_re, me_retr); // Motor dret endavant o enrradera digitalWrite (mdret_av, md_avan); digitalWrite (mdret_re, md_retr); // Velocitat als motors analogWrite (mesq_vel, me_vel); analogWrite (mdret_vel, md_vel); }
Revision: 68316
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 30, 2014 23:00 by agarcia
Initial Code
/* Segon repte clautic league Fer ziga zaga a les piramides arribar a la barca i tornar a la base utilitzant sensor d'ultrasons Aquesta versio amb la llibreria Ultrasonic */ #include <Ultrasonic.h> // Definició dels pins dels motors int mesq_av = 12; // Motor esquerra per endavant al pin 12 int mesq_re = 11; // Motor esquerra per enradera al pin 11 int mesq_vel = 10; // Motor esquerra control velocitat al pin PWM 10 int mdret_av = 7; // Motor dret per endavant al pin 7 int mdret_re = 6; // Motor dret per enradera al pin 6 int mdret_vel = 5; // Motor dret control velocitat al pin PWM 5 // Definició constants sensor distancia #define Echo 8 #define Trip 9 #define Led 13 Ultrasonic ultrasonic(Trip,Echo); // (Trig PIN,Echo PIN) long distancia,temps; int final=0; // Per fer el loop una sola vegada int compara; //int contador; void setup(){ // Activem pins dels motors com sortida // Motor esquerra pinMode(mesq_vel, OUTPUT); pinMode(mesq_av, OUTPUT); pinMode(mesq_re, OUTPUT); // Motor dret pinMode(mdret_vel, OUTPUT); pinMode(mdret_av, OUTPUT); pinMode(mdret_re, OUTPUT); // pinMode(Echo, INPUT); // pinMode(Trig, OUTPUT); pinMode(Led, OUTPUT); Serial.begin(9600); } void loop(){ if (final==0){ //de la base a tutankamon digitalWrite(Led, HIGH); Motors(HIGH, LOW, 235, HIGH, LOW, 255); delay(800); //anterior:800 // Motors(HIGH, LOW, 0, HIGH, LOW, 0); //90º tutankamon piramide 1 Motors(HIGH, LOW, 255, HIGH, LOW, 0); delay(130); //anterior:155 Motors(HIGH, LOW, 0, HIGH, LOW, 0); // Posem a la variable compara la distancia que dona el sensor des de la llibreria compara=ultrasonic.Ranging(CM); //mentres estigui a + de "x" cm anar endevant while (compara > 22 || compara ==0 ){ digitalWrite(Led, LOW); Motors(HIGH, LOW, 95, HIGH, LOW, 100); Serial.println(compara); compara=ultrasonic.Ranging(CM); } digitalWrite(Led, HIGH); //esquivar 1a piramide primer girant a la dreta Motors(HIGH, LOW, 255, HIGH, LOW, 0); delay(140); //anterior: 140 //recte Motors(HIGH, LOW, 100, HIGH, LOW, 145); delay(130);//abans 150 Motors(HIGH, LOW, 0, HIGH, LOW, 0); delay(5); //i despres girant a l'esquerra Motors(HIGH, LOW, 0, HIGH, LOW, 250);//abans 245 delay(420); //anterior: 400 Motors(LOW, LOW, 0, LOW, LOW, 0); // Tornem a agafar el valor de distancia i establim distancia mÃnima compara=ultrasonic.Ranging(CM); while (compara > 22 || compara ==0 ){ digitalWrite(Led, LOW); Motors(HIGH, LOW, 85, HIGH, LOW, 110); compara=ultrasonic.Ranging(CM); } digitalWrite(Led, HIGH); //esquivar 1a piramide 2 girant esquerra Motors(HIGH, LOW, 0, HIGH, LOW, 255); delay(90);//Abans 100 //va recte Motors(HIGH, LOW, 200, HIGH, LOW, 235); delay(140);//abans 160 Motors(LOW, LOW, 0, LOW, LOW, 0); delay(100); // i despres a la dreta Motors(HIGH, LOW, 245, HIGH, LOW, 95); delay(450);//abans 400 Motors(LOW, LOW, 0, LOW, LOW, 0); delay(150); // avança una mica abans de tornar a girar a l'esquerra Motors(HIGH, LOW, 200, HIGH, LOW, 235);//abans 140 delay(550);//abans 400 Motors(LOW, LOW, 0, LOW, LOW, 0); delay(50); // gira a l'esquerra per anar a la galera Motors(HIGH, LOW, 0, HIGH, LOW, 250); delay(300); Motors(LOW, LOW, 0, LOW, LOW, 0); delay(100); // avança cap a la barca Motors(HIGH, LOW, 255, HIGH, LOW, 255); delay(750); Motors(LOW, LOW, 0, LOW, LOW, 0); delay(100); // torna a la base d'esquena Motors(LOW, HIGH, 245, LOW, HIGH, 250); delay(2000); // i es para el motor Motors(HIGH, LOW, 0, HIGH, LOW, 0); // es suma final, per no tornar a executar el bucle final++; } } //FUNCIONS void Motors (char me_avan, char me_retr, int me_vel, char md_avan, char md_retr, int md_vel) { // Motor esquerra endavant o enrradera digitalWrite (mesq_av, me_avan); digitalWrite (mesq_re, me_retr); // Motor dret endavant o enrradera digitalWrite (mdret_av, md_avan); digitalWrite (mdret_re, md_retr); // Velocitat als motors analogWrite (mesq_vel, me_vel); analogWrite (mdret_vel, md_vel); }
Initial URL
Initial Description
Codi repte 2 ClauTic league
Initial Title
Task 2, ClauTIC League, by MadTeam
Initial Tags
Initial Language
Processing