0% encontró este documento útil (0 votos)
19 vistas3 páginas

Arduino

El código es un programa para Arduino que controla un servo y varios motores en función de las lecturas de tres sensores digitales. Dependiendo de las combinaciones de señales de los sensores, se ejecutan diferentes secuencias que encienden LEDs y mueven motores. Cada secuencia está definida en funciones específicas que gestionan el estado de los componentes conectados.

Cargado por

dwnbarquero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas3 páginas

Arduino

El código es un programa para Arduino que controla un servo y varios motores en función de las lecturas de tres sensores digitales. Dependiendo de las combinaciones de señales de los sensores, se ejecutan diferentes secuencias que encienden LEDs y mueven motores. Cada secuencia está definida en funciones específicas que gestionan el estado de los componentes conectados.

Cargado por

dwnbarquero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

#include <Servo.

h>
Servo srv;
unsigned int sensorA = 13;
unsigned int sensorB = 12;
unsigned int sensorC = 11;
int ledV = 9 ;
int ledA = 8 ;
int ledR = 7 ;
int motor1ho = 6;
int motor1anti = 5;
int motor2ho = 3;
int motor2anti = 2;

void setup() {

Serial.begin(9600);
srv.attach(10);
//Declaramos los sensores como entradas
pinMode(sensorA, INPUT);
pinMode(sensorB, INPUT);
pinMode(sensorC, INPUT);
//Los demas componentes como salidas
//Servodeclarado previamente
pinMode(ledV, OUTPUT);
pinMode(ledA, OUTPUT);
pinMode(ledR, OUTPUT);
pinMode(motor1ho, OUTPUT);
pinMode(motor1anti, OUTPUT);
pinMode(motor2ho, OUTPUT);
pinMode(motor2anti, OUTPUT);
}

void loop() {
int valorA = 0;
int valorB = 0;
int valorC = 0;
valorA = digitalRead(sensorA); //Para guardar las lecturas de los sensores
valorB = digitalRead(sensorB);
valorC = digitalRead(sensorC);
delay(50);
if (valorA == HIGH && valorB == HIGH && valorC == HIGH)
{
Secuencia1();
delay(100);
}

if (valorA == LOW && valorB == HIGH && valorC == LOW)


{
Secuencia2();
delay(100);
}

if (valorA == HIGH && valorB == LOW && valorC == LOW)


{
Secuencia3();
delay(100);
}

if (valorA == HIGH && valorB == HIGH && valorC == LOW)


{
Secuencia3();
delay(100);
}

if (valorA == LOW && valorB == LOW && valorC == HIGH)


{
Secuencia4();
delay(100);
}

if (valorA == LOW && valorB == HIGH && valorC == HIGH)


{
Secuencia4();
delay(100);
}
if (valorA == LOW && valorB == LOW && valorC == LOW)
{
Secuencia5();
delay(100);
}

void Secuencia1()
{
//limpieza de codigo
digitalWrite(ledA,LOW);
digitalWrite(ledV,LOW);
//limpieza de codigo

digitalWrite(motor1ho,LOW);
digitalWrite(motor2ho,LOW);
digitalWrite(ledR,HIGH);
srv.write(90);
delay(500);
}

void Secuencia2()
{
//limpieza de codigo
digitalWrite(ledA,LOW);
digitalWrite(ledR,LOW);
//limpieza de codigo
srv.write(0);
digitalWrite(motor1ho,HIGH);
digitalWrite(motor2ho,HIGH);
digitalWrite(ledV,HIGH);
delay(500);
}

void Secuencia3()
{
//limpieza de codigo
digitalWrite(ledA,LOW);
digitalWrite(ledR,LOW);
//limpieza de codigo
srv.write(0);
digitalWrite(motor1ho,LOW);
digitalWrite(motor2ho,HIGH);
digitalWrite(ledV,HIGH);
delay(500);
}

void Secuencia4()
{
//limpieza de codigo
digitalWrite(ledA,LOW);
digitalWrite(ledR,LOW);
//limpieza de codigo
srv.write(0);
digitalWrite(motor1ho,HIGH);
digitalWrite(motor2ho,LOW);
digitalWrite(ledV,HIGH);
delay(500);
}

void Secuencia5()
{
//limpieza de codigo
digitalWrite(ledV,LOW);
digitalWrite(ledR,LOW);
//limpieza de codigo
srv.write(0);
digitalWrite(motor1ho,LOW);
digitalWrite(motor2ho,LOW);
digitalWrite(ledA,HIGH);
delay(500);
}

También podría gustarte