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.
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.
//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
}
#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);
}
}
|
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