Arduino

 EL ARDUINO:

Arduino es una plataforma de hardware libre, basada en una placa "el arduino" y un programa desde el cual se programa la placa.
Se puede utilizar tanto las placas originales, como placas compatibles.
Hay una amplia variedad de posibilidades en cuanto a proyectos con estas placas.


En este trabajo hemos creado diversos tipos de programas utilizando esta herramienta:
Descarga de Arduino

El arduino consta de una placa base(Arduino) y otra sobre la que se conectarán los cables/leds/resistencias o cualquier otro elemento electrico/electronico sobre el cual trabajar.








ACTIVIDADES:

Primer Arduino: Un led


CODIGO:

const int pinLED= 13;      //asignar variable led como 13

void setup() {              
  pinMode(pinLED, OUTPUT);      //definir pin 13 como salida
}

void loop() {
  digitalWrite(pinLED, HIGH);   // encender LED
  delay(50);                  // esperar un segundo
  digitalWrite(pinLED, LOW);    // apagar LED
  delay(2000);                  // esperar un segundo
}


Arduino Semáforo: 

 Codigo:

void setup() {
pinMode (verde,OUTPUT);
pinMode (amarillo,OUTPUT);
pinMode (rojo,OUTPUT);
}
void loop() {
 digitalWrite(verde,HIGH);
 delay(4000);
 digitalWrite(verde,LOW);
 delay(500);
 digitalWrite(amarillo,HIGH);
 delay(4000);
 digitalWrite(amarillo,LOW);
 delay(500);
 digitalWrite(rojo,HIGH);
 delay(4000);
 digitalWrite(rojo,LOW);
 delay(500);
}


Juego de Botones:

CODIGO:

#define PIN_LED_1 11
#define PIN_BOTON_1 12
#define PIN_LED_2 2
#define PIN_BOTON_2 3
#define PIN_SALIDA 7

byte game_over;

void setup() {
pinMode(PIN_LED_1, OUTPUT);
 pinMode(PIN_LED_1, INPUT);
 pinMode(PIN_LED_2, OUTPUT);
 pinMode(PIN_BOTON_2, INPUT);
 pinMode(PIN_SALIDA, OUTPUT);

 game_over=0;
 digitalWrite(PIN_LED_1,LOW);
 digitalWrite(PIN_LED_2,LOW);
 digitalWrite(PIN_SALIDA,HIGH);
 delay(random(10000));
 digitalWrite(PIN_SALIDA,LOW);
}
void loop() {
byte boton_1=digitalRead(PIN_BOTON_1);
byte boton_2=digitalRead(PIN_BOTON_2);
if((boton_1==1)&&(game_over==0)){
  digitalWrite(PIN_LED_1,HIGH);
  game_over=1;
}
if((boton_2==1)&&(game_over==0)){
  digitalWrite(PIN_LED_2,HIGH);
  game_over=1;
}
delay(10);
}


Sensor luz:

CODIGO

#define PIN_LDR A0
#define PIN_LED 2

void setup() {
  // put your setup code here, to run once:
pinMode(PIN_LDR, INPUT);
pinMode(PIN_LED, OUTPUT);
}

void loop() {
  int ldr = analogRead(PIN_LDR);
  if (ldr<=800){
    digitalWrite(PIN_LED, HIGH);
  }
 if (ldr>800){
  digitalWrite(PIN_LED,LOW);
 }
}

Cuenta atras:


CODIGO:

     #define Pin_a 3
     #define Pin_b 4
     #define Pin_c 7
     #define Pin_d 6
     #define Pin_e 5
     #define Pin_f 2
     #define Pin_g 1

  void setup()
  {
    pinMode(Pin_a,OUTPUT);
    pinMode(Pin_b,OUTPUT);
    pinMode(Pin_c,OUTPUT);
    pinMode(Pin_d,OUTPUT);
    pinMode(Pin_e,OUTPUT);
    pinMode(Pin_f,OUTPUT);
    pinMode(Pin_g,OUTPUT);
  }
void loop()
{
  nueve();
  delay(1000);
  ocho();
  delay(1000);
  siete();
  delay(1000);
  seis();
  delay(1000);
  cinco();
  delay(1000);
  cuatro();
  delay(1000);
  tres();
  delay(1000);
  dos();
  delay(1000);
  uno();
  delay(1000);
  cero();
  delay(1000);
}
  void cero()
  { 
    digitalWrite(Pin_a,LOW);
    digitalWrite(Pin_b,LOW);
    digitalWrite(Pin_c,LOW);
    digitalWrite(Pin_d,LOW);
    digitalWrite(Pin_e,LOW);
    digitalWrite(Pin_f,LOW);
    digitalWrite(Pin_g,HIGH);
  }
  void uno ()
  {
    digitalWrite(Pin_a,HIGH);
    digitalWrite(Pin_b,LOW);
    digitalWrite(Pin_c,LOW);
    digitalWrite(Pin_d,HIGH);
    digitalWrite(Pin_e,HIGH);
    digitalWrite(Pin_f,HIGH);
    digitalWrite(Pin_g,HIGH);
  }
  void dos()
  {
    digitalWrite(Pin_a,LOW);
    digitalWrite(Pin_b,LOW);
    digitalWrite(Pin_c,HIGH);
    digitalWrite(Pin_d,LOW);
    digitalWrite(Pin_e,LOW);
    digitalWrite(Pin_f,HIGH);
    digitalWrite(Pin_g,LOW);
  }
   void tres()
  {
    digitalWrite(Pin_a,LOW);
    digitalWrite(Pin_b,LOW);
    digitalWrite(Pin_c,LOW);
    digitalWrite(Pin_d,LOW);
    digitalWrite(Pin_e,HIGH);
    digitalWrite(Pin_f,HIGH);
    digitalWrite(Pin_g,LOW);
  }
   void cuatro()
  {
    digitalWrite(Pin_a,HIGH);
    digitalWrite(Pin_b,LOW);
    digitalWrite(Pin_c,LOW);
    digitalWrite(Pin_d,HIGH);
    digitalWrite(Pin_e,HIGH);
    digitalWrite(Pin_f,LOW);
    digitalWrite(Pin_g,LOW);
  }

   void cinco()
  {
    digitalWrite(Pin_a,LOW);
    digitalWrite(Pin_b,HIGH);
    digitalWrite(Pin_c,LOW);
    digitalWrite(Pin_d,LOW);
    digitalWrite(Pin_e,HIGH);
    digitalWrite(Pin_f,LOW);
    digitalWrite(Pin_g,LOW);
  }
   void seis()
  {
    digitalWrite(Pin_a,LOW);
    digitalWrite(Pin_b,HIGH);
    digitalWrite(Pin_c,LOW);
    digitalWrite(Pin_d,LOW);
    digitalWrite(Pin_e,LOW);
    digitalWrite(Pin_f,LOW);
    digitalWrite(Pin_g,LOW);
  }
   void siete()
  {
    digitalWrite(Pin_a,LOW);
    digitalWrite(Pin_b,LOW);
    digitalWrite(Pin_c,LOW);
    digitalWrite(Pin_d,HIGH);
    digitalWrite(Pin_e,HIGH);
    digitalWrite(Pin_f,HIGH);
    digitalWrite(Pin_g,HIGH);
  }
   void ocho()
  {
    digitalWrite(Pin_a,LOW);
    digitalWrite(Pin_b,LOW);
    digitalWrite(Pin_c,LOW);
    digitalWrite(Pin_d,LOW);
    digitalWrite(Pin_e,LOW);
    digitalWrite(Pin_f,LOW);
    digitalWrite(Pin_g,LOW);
  }
   void nueve()
  {
    digitalWrite(Pin_a,LOW);
    digitalWrite(Pin_b,LOW);
    digitalWrite(Pin_c,LOW);
    digitalWrite(Pin_d,HIGH);
    digitalWrite(Pin_e,HIGH);
    digitalWrite(Pin_f,LOW);
    digitalWrite(Pin_g,LOW);
  }

Humedad y temperatura:
 Para este caso necesitaremos tener una libreria instalada en nuestro dispositivo.
LIBRERIA_SENSOR_TEMPERATURA_Y_HUMEDAD



CODIGO:

#include <DHT11.h>

#include <DHT11.h>

int pin=2;
DHT11 dht11(pin);

void setup()
   {
       Serial.begin(9600);
   }

void loop()
   {
       int err;
       float temp, hum;
       if((err = dht11.read(hum, temp)) == 0)    // Si devuelve 0 es que ha leido bien
          {
             Serial.print("Temperatura: ");
             Serial.print(temp);
             Serial.print(" Humedad: ");
             Serial.print(hum);
             Serial.println();
          }
       else
          {
             Serial.println();
             Serial.print("Error Num :");
             Serial.print(err);
             Serial.println();
          }
       delay(1000);            //Recordad que solo lee una vez por segundo
   }


Ultrasonidos:


 CODIGO:
const int EchoPin = 5;
const int TriggerPin = 6;
const int LedPin = 13;

void setup() {
   Serial.begin(9600);
   pinMode(LedPin, OUTPUT);
   pinMode(TriggerPin, OUTPUT);
   pinMode(EchoPin, INPUT);
}

void loop() {
   int cm = ping(TriggerPin, EchoPin);
   Serial.print("Distancia: ");
   Serial.println(cm);
   delay(1000);
}

int ping(int TriggerPin, int EchoPin) {
   long duration, distanceCm;
  
   digitalWrite(TriggerPin, LOW);  //para generar un pulso limpio ponemos a LOW 4us
   delayMicroseconds(4);
   digitalWrite(TriggerPin, HIGH);  //generamos Trigger (disparo) de 10us
   delayMicroseconds(10);
   digitalWrite(TriggerPin, LOW);
  
   duration = pulseIn(EchoPin, HIGH);  //medimos el tiempo entre pulsos, en microsegundos
  
   distanceCm = duration * 10 / 292/ 2;   //convertimos a distancia, en cm
   return distanceCm;
}

Coche fantástico:


CODIGO:
int pin2 = 2;
int pin3 = 3;
int pin4 = 4;
int pin5 = 5;
int pin6 = 6;
int pin7 = 7;
int timer = 100;

void setup(){
pinMode(pin2, OUTPUT);
pinMode(pin3, OUTPUT);
pinMode(pin4, OUTPUT);
pinMode(pin5, OUTPUT);
pinMode(pin6, OUTPUT);
pinMode(pin7, OUTPUT);
}
void loop() {
digitalWrite(pin2, HIGH);
delay(timer);
digitalWrite(pin2, LOW);
delay(timer);
digitalWrite(pin3, HIGH);
delay(timer);
digitalWrite(pin3, LOW);
delay(timer);
digitalWrite(pin4, HIGH);
delay(timer);
digitalWrite(pin4, LOW);
delay(timer);
digitalWrite(pin5, HIGH);
delay(timer);
digitalWrite(pin5, LOW);
delay(timer);
digitalWrite(pin6, HIGH);
delay(timer);
digitalWrite(pin6, LOW);
delay(timer);
digitalWrite(pin7, HIGH);
delay(timer);
digitalWrite(pin7, LOW);
delay(timer);
digitalWrite(pin6, HIGH);
delay(timer);
digitalWrite(pin6, LOW);
delay(timer);
digitalWrite(pin5, HIGH);
delay(timer);
digitalWrite(pin5, LOW);
delay(timer);
digitalWrite(pin4, HIGH);
delay(timer);
digitalWrite(pin4, LOW);
delay(timer);
digitalWrite(pin3, HIGH);
delay(timer);
digitalWrite(pin3, LOW);
delay(timer);
}

Servo:


CODIGO:

#include <Servo.h>

Servo myservo;  // crea el objeto servo

int pos = 0;    // posicion del servo

void setup() {
   myservo.attach(9);  // vincula el servo al pin digital 9
}

void loop() {
   //varia la posicion de 0 a 180, con esperas de 15ms
   for (pos = 0; pos <= 180; pos += 1)
   {
      myservo.write(pos);             
      delay(15);                      
   }

   //varia la posicion de 0 a 180, con esperas de 15ms
   for (pos = 180; pos >= 0; pos -= 1)
   {
      myservo.write(pos);             
      delay(15);                      
   }
}

Relé:


CODIGO:

int rele=8;
void setup() {
pinMode(rele,OUTPUT);
}

void loop() {
digitalWrite(rele,HIGH);
delay(500);
digitalWrite(rele,LOW);
delay(500);
}



Comentarios

Entradas populares de este blog

Diseña tu Logo

Series

Programas TV