ARDUINO


En este apartado hablaré de todas las prácticas que estamos haciendo en este tercer trimestre en la clase de Informática. 
Estas prácticas tienen que ver con el Arduino el cual junto a una placa board, Leds, resistencias, pulsadores, cables y más cables hacemos distintas prácticas que tienen que ver con encender los Leds, hacer semáforos,sensores,pulsadores, etc...





Encender un led 





 Explicaré el proceso paso por paso:

  • Conectar el arduino a un ordenador en el puerto USB.
  • Conectar dos cables cualquiera de distinto color (preferiblemente rojo y azul). El rojo en la fila de los positivos y el azul, en la de los negativos. Con estos, conectarás el extremo al arduino. El cable azul a la entrada que pone GND (GROUND) y el rojo, al de 5V.
  • A continuación colocarás el led en la misma fila de los positivos con la parte más larga de este y la otra parte, al otro lado.
  • Colocarás la resistencia en la misma línea en la que está conectado el led. Verticalmente.
  • En la misma línea en la que está conectada la resistencia,horizontalmente, colocarás otro cable cualquier y el extremo, en la fila de los negativos.
  • ¡Tu led se encenderá si seguiste bien todos los pasos!

Circuito led pin 13


La siguiente práctica es casi la misma que la anterior sólo que en vez de conectar el cable rojo de los positivos en 5V, se conecta al otro lado, en el pin 13 para que el led pueda parpadear.
Esta práctica se debe de hacer con el programa del Arduino, el cual se puede descargar en internet. 
Una vez descargado, debes acordarte de cambiar el puerto USB en Herramientas. 
A continuación debes ir al siguiente link: https://www.luisllamas.es/nuestro-primer-programa-en-arduino/
Ya que en esta página está el código que debes de copiar y pegar para que el led pueda parpadear.

1
2
3
4
5
6
7
8
9
10
11
12
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(1000);                  // esperar un segundo
  digitalWrite(pinLED, LOW);    // apagar LED
  delay(1000);                  // esperar un segundo
}


Una vez que lo copies y lo pegues y ejecutes el programa, ¡tu led debería de estar parpadeando!
Además, si cambias los valores del código, parpadeará con distintas velocidades.




Circuito 3 leds - Semáforo

En esta práctica usaremos tres leds para poder hacer un semáforo con ellos, parpadeando en distintos tiempos.
Conectarás otros dos leds en la fila de los positivos (con la parte larga) y la otra en el otro lado. En la misma línea en la que está conectado el led, conectarás la resistencia verticalmente hacia abajo y en la misma línea en la que está esta conectada, horizontalmente, otro cable. El extremo de este cable irá en otro pin cualquiera (12,-11...). Ahora todos tus leds estarán encendidos.




El código para poder hacer esta práctica es el siguiente:


int rojo=2;      
int amarillo=4;  
int verde=7;     

void setup() {
  pinMode(verde,OUTPUT);     
  pinMode(amarillo,OUTPUT);
  pinMode(rojo,OUTPUT);     
}

void loop() {
 digitalWrite(verde,HIGH); 
 delay(2000);             
 digitalWrite(verde,LOW);  
 delay(500);              
 
 digitalWrite(amarillo,HIGH); 
 delay(2000);                 
 digitalWrite(amarillo,LOW);  
 delay(500);                  
 
 digitalWrite(rojo,HIGH); 
 delay(2000);              
 digitalWrite(rojo,LOW);  
 delay(500);               
}



 Práctica de contador

Esta práctica es bastante fácil de seguir con el esquema que voy a poner a continuación. Necesitas pedirle a tu profesor un contador.
El código que tienes que utilizar es:







Código:

//Pines donde conectamos cada segmento
#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_e 1

void setup()
{
//Configuramos los pines
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()
{
//Cuenta atrás desde nueve
nueve();
delay(500);
ocho();
delay(500);
siete();
delay(500);
//_
//Completa la cuenta atrás
}



Práctica del servomotor

El esquema que tienes que seguir es el siguiente.
-Cable amarillo:pin 9
-Cable marrón: ground
-Cable azul:5V



















El código es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#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);                      
   }
}


Práctica sensor de ultrasonidos

Esquema:



























Código:


20
21
22
23
24
25
26
27
28
29
30
31
32
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;
}



Esquema sensor temperatura y humedad



















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




No hay comentarios:

Publicar un comentario