lunes, 7 de enero de 2019

Conexión y programación

image.png





#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;













No hay comentarios:

Publicar un comentario