Professional Documents
Culture Documents
Practicas (01-08) Robots Moviles
Practicas (01-08) Robots Moviles
void setup() {
}
void loop() {
if (mov==0){
adelante (127, 2000);
adelante (255, 1000);
detenerse (1000);
reversa (127, 2000);
reversa (255, 1000);
detenerse (1000);
mov++;
}
}
void detenerse (int t){
analogWrite (m1a, 0);
analogWrite (m1r, 0);
analogWrite (m2a, 0);
analogWrite (m2r, 0);
analogWrite (m3a, 0);
analogWrite (m3r, 0);
analogWrite (m4a, 0);
analogWrite (m4r, 0);
delay(t);
}
void setup() {
}
void loop() {
if(mov==0){
derecha(127, 3000);
izquierda(127, 3000);
detenerse(200);
mov++;
}
}
void detenerse(int t) {
analogWrite(m1a, 0);
analogWrite(m1r, 0);
analogWrite(m2a, 0);
analogWrite(m2r, 0);
analogWrite(m3a, 0);
analogWrite(m3r, 0);
analogWrite(m4a, 0);
analogWrite(m4r, 0);
delay(t);
}
void setup() {
}
void loop() {
if(mov==0){
derecha(255, 5000);
izquierda(255, 5000);
detenerse(200);
mov++;
}
}
void derecha(int vel, int t) {
analogWrite(m1r, 0);
analogWrite(m2r, 0);
analogWrite(m3r, 0);
analogWrite(m4r, 0);
analogWrite(m2a, 0);
analogWrite(m3a, 0);
analogWrite(m1a, vel);
analogWrite(m4a, vel);
delay(t);
}
void izquierda(int vel, int t) {
analogWrite(m1r, 0);
analogWrite(m2r, 0);
analogWrite(m3r, 0);
analogWrite(m4r, 0);
analogWrite(m1a, 0);
analogWrite(m4a, 0);
analogWrite(m2a, vel);
analogWrite(m3a, vel);
delay(t);
}
void detenerse(int t) {
analogWrite(m1a, 0);
analogWrite(m1r, 0);
analogWrite(m2a, 0);
analogWrite(m2r, 0);
analogWrite(m3a, 0);
analogWrite(m3r, 0);
analogWrite(m4a, 0);
analogWrite(m4r, 0);
delay(t);
}
-------------------------------
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available()) {
tecla = Serial.read();
if (tecla == 'd' || tecla == 'D') detenerse ();
else if (tecla == 'a') adelante(127);
else if (tecla == 'A') adelante(255);
else if (tecla == 'r') reversa(127);
else if (tecla == 'R') reversa(255);
else if (tecla == 'h') giroabiertoder(127);
else if (tecla == 'i') giroabiertoizq(127);
else if (tecla == 'b') girocerradoder(127);
else if (tecla == 'c') girocerradoizq(127);
}
}
void detenerse () {
analogWrite(m1r, 0);
analogWrite(m1a, 0);
analogWrite(m2r, 0);
analogWrite(m2a, 0);
analogWrite(m3r, 0);
analogWrite(m3a, 0);
analogWrite(m4r, 0);
analogWrite(m4a, 0);
}
void adelante(int vel) {
analogWrite(m1r, 0);
analogWrite(m2r, 0);
analogWrite(m3r, 0);
analogWrite(m4r, 0);
analogWrite(m1a, vel);
analogWrite(m2a, vel);
analogWrite(m3a, vel);
analogWrite(m4a, vel);
}
void reversa(int vel) {
analogWrite(m1a, 0);
analogWrite(m2a, 0);
analogWrite(m3a, 0);
analogWrite(m4a, 0);
analogWrite(m1r, vel);
analogWrite(m2r, vel);
analogWrite(m3r, vel);
analogWrite(m4r, vel);
}
void giroabiertoder(int vel) {
analogWrite(m1r, 0);
analogWrite(m2a, 0);
analogWrite(m2r, 0);
analogWrite(m3a, 0);
analogWrite(m3r, 0);
analogWrite(m4r, 0);
analogWrite(m1a, vel);
analogWrite(m4a, vel);
}
void giroabiertoizq(int vel) {
analogWrite(m1r, 0);
analogWrite(m1a, 0);
analogWrite(m2r, 0);
analogWrite(m3r, 0);
analogWrite(m4r, 0);
analogWrite(m4a, 0);
analogWrite(m2a, vel);
analogWrite(m3a, vel);
}
void girocerradoder(int vel) {
analogWrite(m1r, 0);
analogWrite(m2a, 0);
analogWrite(m3a, 0);
analogWrite(m4r, 0);
analogWrite(m1a, vel);
analogWrite(m4a, vel);
analogWrite(m2r, vel);
analogWrite(m3r, vel);
}
void girocerradoizq(int vel) {
analogWrite(m1a, 0);
analogWrite(m2r, 0);
analogWrite(m3r, 0);
analogWrite(m4a, 0);
analogWrite(m2a, vel);
analogWrite(m3a, vel);
analogWrite(m1r, vel);
analogWrite(m4r, vel);
}
-----------------------------------------
void setup() {
pinMode(sd, INPUT);
pinMode(sc, INPUT);
pinMode(si, INPUT);
}
void loop() {
Derecha = digitalRead(sd);
Centro = digitalRead(sc);
Izquierda = digitalRead(si);
#define linea 0
#define nolinea 1
void setup() {
pinMode(sd, INPUT);
pinMode(sc, INPUT);
pinMode(si, INPUT);
Serial.begin(9600);
}
void loop() {
derecha = digitalRead(sd);
centro = digitalRead(sc);
izquierda = digitalRead(si);
void detenerse(int t) {
analogWrite(m1a,0);
analogWrite(m1r,0);
analogWrite(m2a,0);
analogWrite(m2r,0);
analogWrite(m3a,0);
analogWrite(m3r,0);
analogWrite(m4a,0);
analogWrite(m4r,0);
Serial.println("estacion");
delay(t);
}
#define linea 0
#define nolinea 1
byte m1r=12;
byte m1a=11;
byte m2r=10;
byte m2a=9;
byte m3r=8;
byte m3a=7;
byte m4r=6;
byte m4a=5;
byte pindisparo=2;
byte pineco=3;
byte sd=27, sc=29, si=31;
byte Derecha, Centro, Izquierda;
long TiempoMs;
int Dist;
void setup() {
pinMode(sd,INPUT);
pinMode(sc,INPUT);
pinMode(si,INPUT);
pinMode(pindisparo,OUTPUT);
pinMode(pineco,INPUT);
Serial.begin(9600);
}
void loop() {
iniciarDisparo();
TiempoMs=pulseIn(pineco, HIGH);
Dist=TiempoMs*0.01715;
Serial.println (Dist);
if(Dist>=90){
Derecha=digitalRead(sd);
Centro=digitalRead(sc);
Izquierda=digitalRead(si);
if(Izquierda == nolinea && Centro == linea && Derecha == nolinea) {
adelante(127);
}
if(Izquierda == linea && Centro == nolinea && Derecha == nolinea) {
abiertai(127);
}
if(Izquierda == nolinea && Centro == nolinea && Derecha == linea) {
abiertad(127);
}
if(Izquierda == nolinea && Centro == nolinea && Derecha == nolinea) {
reversa(127);
}
if(Derecha == linea && Centro == linea && Izquierda == linea){
detenerse(5000);
adelante(127);
delay(100);
}
}
if(Dist>=40 && Dist<80){
Derecha = digitalRead(sd);
Centro = digitalRead(sc);
Izquierda = digitalRead(si);
if(Izquierda == nolinea && Centro == linea && Derecha == nolinea) {
adelante(80);
}
if(Izquierda == linea && Centro == nolinea && Derecha == nolinea) {
abiertai(80);
}
if(Izquierda == nolinea && Centro == nolinea && Derecha == linea) {
abiertad(80);
}
if(Izquierda == nolinea && Centro == nolinea && Derecha == nolinea) {
reversa(80);
}
if(Derecha == linea && Centro == linea && Izquierda == linea){
detenerse(5000);
adelante(80);
delay(100);
}
}
if(Dist<40){
detenerse(80);
}
delay(100);
}
void iniciarDisparo(){
digitalWrite(pindisparo,LOW);
delayMicroseconds(2);
digitalWrite(pindisparo,HIGH);
delayMicroseconds(10);
digitalWrite(pindisparo,LOW);
}
void detenerse(int t) {
analogWrite(m1a,0);
analogWrite(m1r,0);
analogWrite(m2a,0);
analogWrite(m2r,0);
analogWrite(m3a,0);
analogWrite(m3r,0);
analogWrite(m4a,0);
analogWrite(m4r,0);
delay(t);
}