lunes, 7 de enero de 2019
Conexión y programación
#include <Servo.h>
Servo motorIzq, motorDer;
int pulsadorIzq=4;
int pulsadorDer=5;
void setup() {
pinMode(pulsadorIzq,INPUT);
pinMode(pulsadorDer,INPUT);
motorIzq.attach(2);
motorDer.attach(3);
}
void loop() {
int valorIzq=digitalRead(pulsadorIzq);
if(valorIzq==HIGH)//está presionado
{
motorIzq.write(90)
delay(500);
}
int valorDer=digitalRead(pulsadorIzq);
if(valorDer==HIGH)//está presionado
{
motorDer.write(90)
delay(500);
}
else
{
motorIzq.write(0),//mover a 0 grados
motorDer.write(0);//mover a 0 grados
}
}
CODIGO NUEVO
#include <Servo.h>
Servo motorIzq, motorDer;
int pulsadorIzq=4;
int pulsadorDer=5;
int fotoceldaPierde=A0;
int fotocelda1=A1;
int fotocelda2=A2;
int led_puntos1=6;
int led_puntos2=7;
int led_puntos3=8;
void setup() {
pinMode(fotoceldaPierde,INPUT);
pinMode(fotocelda1,INPUT);
pinMode(fotocelda2,INPUT);
pinMode(led_puntos1,OUTPUT);
pinMode(led_puntos2,OUTPUT);
pinMode(led_puntos3,OUTPUT);
pinMode(pulsadorIzq,INPUT);
pinMode(pulsadorDer,INPUT);
motorIzq.attach(2);
motorDer.attach(3);
}
int puntos=0;//vidas=3
void loop() {
int valorPierde=analogReadfotoceldaPierde);
if(valorPierde<100)
{
puntos--;//perder puntos
}
int valor1=analogRead(fotocelda1);
if (valor1<100)
{
puntos++;//gana puntos
}
int valor2=analogRead(fotocelda2);
if (valor2<100)
{
puntos++;//gana puntos
}
switch(puntos)
{
case 0:
digitalWrite(led_puntos1,LOW);
digitalWrite(led_puntos2,LOW);
digitalWrite(led_puntos3,LOW);
break;
case 1:
digitalWrite(led_puntos1,HIGH);
digitalWrite(led_puntos2,LOW);
digitalWrite(led_puntos3,LOW);
break;
case 2:
digitalWrite(led_puntos1,HIGH);
digitalWrite(led_puntos2,HIGH);
digitalWrite(led_puntos3,LOW);
break;
case 3:
digitalWrite(led_puntos1,HIGH);
digitalWrite(led_puntos2,HIGH);
digitalWrite(led_puntos3,HIGH);
break;
Suscribirse a:
Entradas (Atom)