/ Published in: C
Task 4, ClauTIC League, by MadTeam
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Tïtol: Quart repte ClauTIC * * Objectiu: Fer recorregut per egipte * * Versió: 1.0 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ // 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 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); Serial.begin(9600); } void loop() { //Anims Tossut, tu pots!! //Yes, you can!!! Motors(HIGH, LOW, 210, HIGH, LOW, 240); // motors endavant delay(1400); //Abans 1600 Motors(HIGH, LOW, 0, HIGH, LOW, 0); delay(50); Motors(HIGH, LOW, 250, LOW, HIGH, 150); //girar a la dreta delay(40); //abans 175 Motors(HIGH, LOW, 0, HIGH, LOW, 0); delay(50); Motors(HIGH, LOW, 210, HIGH, LOW, 250); //avançar fins l'esfinx delay(900); Motors(LOW, LOW, 0, LOW, LOW, 0); delay(50); Motors(LOW, HIGH, 0, LOW, HIGH, 250); //girar a l'esquerra delay(90); //abans 200 Motors(HIGH, LOW, 0, HIGH, LOW, 0); delay(50); Motors(LOW, HIGH, 210, LOW, HIGH, 250); //avançar fins al final delay(750); Motors(HIGH, LOW, 0, HIGH, LOW, 0); delay(99999); } //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); // Es passa al motor esquerra si anar endavant es HIGH o LOW digitalWrite (mesq_re, me_retr); // Es passa al motor esquerra si anar enradera es HIGH o LOW // Motor dret endavant o enrradera digitalWrite (mdret_av, md_avan); // Es passa al motor dret si anar endavant es HIGH o LOW digitalWrite (mdret_re, md_retr); // Es passa al motor dret si anar enradera es HIGH o LOW // Velocitat als motors analogWrite (mesq_vel, me_vel); // Es passa al motor esquerra la velocitat analogWrite (mdret_vel, md_vel); // Es passa al motor dret la velocitat }