AplTVY3-B3-1sk-4T

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(se pohyboval vpřed do vzdálenosti 1m)
Řádka 54: Řádka 54:
  
 
==se pohyboval vpřed ve čtyřúhelníku o straně cca 0,5m ==
 
==se pohyboval vpřed ve čtyřúhelníku o straně cca 0,5m ==
int motor_left[] = {6, 7};<br />
+
<source lang="Cpp">
 +
int motor_left[] = {6, 7};
  
int motor_right[] = {8, 10};<br />
+
int motor_right[] = {8, 10};
void setup() {<br />
+
void setup() {
Serial.begin(9600);<br />
+
Serial.begin(9600);
int i;<br />
+
int i;
for(i = 0; i < 2; i++){<br />
+
for(i = 0; i < 2; i++){
pinMode(motor_left[i], OUTPUT);<br />
+
pinMode(motor_left[i], OUTPUT);
pinMode(motor_right[i], OUTPUT);<br />
+
pinMode(motor_right[i], OUTPUT);
}<br />
+
}
}<br />
+
}
  
void loop() {}<br />
+
void loop() {}
 
   
 
   
drive_forward();<br />
+
drive_forward();
delay(3200);<br />
+
delay(3200);
motor_stop();<br />
+
motor_stop();
Serial.println("1");<br />
+
Serial.println("1");
 
   
 
   
turn_left();<br />
+
turn_left();
delay(420);<br />
+
delay(420);
motor_stop();<br />
+
motor_stop();
Serial.println("3");<br />
+
Serial.println("3");
 
   
 
   
motor_stop();<br />
+
motor_stop();
delay(1000);<br />
+
delay(1000);
motor_stop();<br />
+
motor_stop();
Serial.println("5");<br />
+
Serial.println("5");
  
}<br />
+
}
 
   
 
   
 
   
 
   
void motor_stop(){<br />
+
void motor_stop(){
digitalWrite(motor_left[0], LOW);<br />
+
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], LOW);<br />
+
digitalWrite(motor_left[1], LOW);
 
   
 
   
digitalWrite(motor_right[0], LOW);<br />
+
digitalWrite(motor_right[0], LOW);
digitalWrite(motor_right[1], LOW);<br />
+
digitalWrite(motor_right[1], LOW);
delay(25);<br />
+
delay(25);
}<br />
+
}
 
   
 
   
void drive_forward(){<br />
+
void drive_forward(){
digitalWrite(motor_left[0], HIGH);<br />
+
digitalWrite(motor_left[0], HIGH);
digitalWrite(motor_left[1], LOW);<br />
+
digitalWrite(motor_left[1], LOW);
 
   
 
   
digitalWrite(motor_right[0], HIGH);<br />
+
digitalWrite(motor_right[0], HIGH);
digitalWrite(motor_right[1], LOW);<br />
+
digitalWrite(motor_right[1], LOW);
}<br />
+
}
 
   
 
   
void turn_left(){<br />
+
void turn_left(){
digitalWrite(motor_left[0], LOW);<br />
+
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], HIGH);<br />
+
digitalWrite(motor_left[1], HIGH);  
+
digitalWrite(motor_right[0], HIGH);
digitalWrite(motor_right[0], HIGH);<br />
+
digitalWrite(motor_right[1], LOW);
digitalWrite(motor_right[1], LOW);<br />
+
}
}<br />
+
</source>
 
+
 
==jel rovně a zastavil na 60 cm vzdáleném místě označeném černou lepící páskou ==
 
==jel rovně a zastavil na 60 cm vzdáleném místě označeném černou lepící páskou ==
 
==se pohyboval dokud nebude stisknutý dotykový senzor ==
 
==se pohyboval dokud nebude stisknutý dotykový senzor ==

Verze z 11. 6. 2012, 11:11

HW: Arduino realizace: Maxa David Charvát Jakub Lukáš Jílek

Robot Arduino


Úkoly:

  • Sestavte robota, napište program a vyzkoušejte proto, aby robot:

Obsah

se pohyboval vpřed do vzdálenosti 1m

int motor_left[] = {6, 7}
int motor_right[] = {8, 10}
 
void setup() {
Serial.begin(9600);
int i;
for(i = 0; i < 2; i++){
pinMode(motor_left[i], OUTPUT);
pinMode(motor_right[i], OUTPUT);
 
drive_forward();
delay(6200);
motor_stop();
Serial.println("1");
 
}
}
 
void loop() {
 
}
 
void motor_stop(){
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], LOW);
 
digitalWrite(motor_right[0], LOW);
digitalWrite(motor_right[1], LOW);
}
 
void drive_forward(){
digitalWrite(motor_left[0], HIGH);
digitalWrite(motor_left[1], LOW);
 
digitalWrite(motor_right[0], HIGH);
digitalWrite(motor_right[1], LOW);
}

se pohyboval vpřed ve čtyřúhelníku o straně cca 0,5m

int motor_left[] = {6, 7};
 
int motor_right[] = {8, 10};
void setup() {
Serial.begin(9600);
int i;
for(i = 0; i < 2; i++){
pinMode(motor_left[i], OUTPUT);
pinMode(motor_right[i], OUTPUT);
}
}
 
void loop() {}
 
drive_forward();
delay(3200);
motor_stop();
Serial.println("1");
 
turn_left();
delay(420);
motor_stop();
Serial.println("3");
 
motor_stop();
delay(1000);
motor_stop();
Serial.println("5");
 
}
 
 
void motor_stop(){
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], LOW);
 
digitalWrite(motor_right[0], LOW);
digitalWrite(motor_right[1], LOW);
delay(25);
}
 
void drive_forward(){
digitalWrite(motor_left[0], HIGH);
digitalWrite(motor_left[1], LOW);
 
digitalWrite(motor_right[0], HIGH);
digitalWrite(motor_right[1], LOW);
}
 
void turn_left(){
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], HIGH); 
digitalWrite(motor_right[0], HIGH);
digitalWrite(motor_right[1], LOW);
}

jel rovně a zastavil na 60 cm vzdáleném místě označeném černou lepící páskou

se pohyboval dokud nebude stisknutý dotykový senzor

se rozjel na zvukový povel

jel ve čtyřúhelníku a zastavil se u počátečního bodu.

jel v před a pokud čidlo ultrazvuku zjistí překážku se zastavil, kousek zacouval, otočil se o 160° a celý cyklus pokračoval

s pomocí čidla světla pohyboval po čáře

Start ve vzdálenosti 60 cm od černé linie. Robot najde dráhu a sleduje ji

Naučte robota šplhat přes minimálně 2,5 cm tlustou knihu.

Najde předmět, uchopí a přiveze

Nakombinujte různá čidla pro pohyb robota

Osobní nástroje
Jmenné prostory
Varianty
Akce
Rychlá navigace
NEJ aktivity
Nejlepší předměty
Nejlepší MCU
SW-HW
Ostatní
Utility
Nástroje
Tisk/export