domingo, 25 de diciembre de 2016

Programado con arduino - 3 leds y potenciometro

Al girar el potenciometro en un sentido, se encienden los leds uno a uno, y cuando se gira en sentido contrario se van apagando los leds uno a uno. Haga click en imagen para agrandarla y observar las conexiones.





Programación en Arduino

const int led1 = 4; //Led conectado al pin4
const int led2 = 3; //Led conectado al pin3
const int led3 = 2; //Led conectado al pin2
const int pot = 0; // el pot está conectado al pinA0

int brillo=0; // variable para el brillo
int xtemp=0;
int xop=1;


void setup() {
  Serial.begin(9600);
  pinMode(led1, OUTPUT); // declaramos el led como salida
  pinMode(led2, OUTPUT); // declaramos el led como salida
  pinMode(led3, OUTPUT); // declaramos el led como salida
  /* Los pin analógicos  declaran como entrada automáticamente */
}

void loop() {
  /* Leemos el valor del potenciometro divididos entre 4 ya que 
  solo se pueden usar valores entre 0 y 255 en analog Write  */
  brillo = analogRead(pot)/4;
  /*AnalagoWrite recibe dos valores, el pin a usar y la intensidad del voltaje los valores de 
  voltaje van de 0  a 255 */
  Serial.println(brillo);
  Serial.println(xop);
  Serial.println(xtemp);

  if (xtemp<=brillo)
  {
      xop=1; //incrementa
  }
  else
  {
    xop=2; //decrementa
  }

  xtemp= brillo;

  if (xop==1){

      if (brillo>0 && brillo<100){    
          digitalWrite(led1,1);
      }
      else if (brillo>=100 && brillo<200)  
      {
          digitalWrite(led2,1);
      }
      else if (brillo>=200)  
      {
          digitalWrite(led3,1);  
      }

  }else{          
 
      if (brillo>=0 && brillo<100){      
         digitalWrite(led1,0);
         digitalWrite(led2,0);      
      }
      else if (brillo>=100 && brillo<200)  
      {
        digitalWrite(led2,0);
        digitalWrite(led3,0);      
      }
      else if (brillo<=225)  
      {
        digitalWrite(led3,0);              
      }  
  }

}

lunes, 19 de diciembre de 2016

Programando con arduino - 2 botones y un ServoMotor


Diseñando el proyecto con Circuits.io de AutoDesk



Usando la tarjeta Arduino, 2 push button (botones), servoMotor, cables, hélice y cable USB



(Haga clic en cada imagen para agrandarla)

Programación del proyecto

#include <Servo.h> // Librería

Servo myservo;

//Definición de variables
int pos=0;
int adelante=0;
int atras=0;

void setup() {

  Serial.begin(9600);
  myservo.attach(9);

  // Inicializa pin
  pinMode(3, INPUT);
  pinMode(5, INPUT);
}

void loop() {
  // Lee entrada de pulsación de los botones
  adelante = digitalRead(5);
  atras = digitalRead(3);
  
  if (adelante == 1){
     pos = pos+1;
     if (pos>=180){
         pos=180;
    }  
  }

  if (atras == 1){
    pos=pos-1;
    if (pos<=0){
       pos=0;
    }   
  }
  myservo.write(pos);
  delay(15);
}