Arduino
Arduino
#SereIngeniera19
programación
C++ y ARDUINO
Autora: Celia Pedregosa @AilekUmbreon
Campus Tecnológico
#SereIngeniera19
Programación
#SereIngeniera19
#SereIngeniera19
#SereIngeniera19
#SereIngeniera19
#SereIngeniera19
Pero claro, no podemos programar las máquinas o los dispositivos como nos
de la gana, es necesario hablarles de forma que ellos lo entiendan. ¿Cuál es
el problema? Que el lenguaje que entienden los ordenadores es el de los 0s y
1s, que para nosotros es súper complejo. Incluso una programación
intermedia, como es el ensamblador, también resulta bastante compleja. Por
eso antes solo programaba una minoría de la población. Ahora hay unos
lenguajes de programación intermedios, llamados lenguajes de alto nivel
gracias a los cuales cualquier persona puede entenderse de manera bastante
sencilla con un dispositivo electrónico, pero claro, ¡hay que saber cómo
funciona ese lenguaje!
Para que os hagáis una idea, es como si tuviéramos que comunicarnos con un
alemán, su idioma es complicado para nosotros, así que los dos decidimos
hacer el esfuerzo de aprender un lenguaje intermedio más popular, en este
caso el inglés, para poder comunicarnos. Eso mismo se hace en programación:
Las personas aprendemos un lenguaje intermedio que después las máquinas
traducen a su lenguaje propio.
Autora: Celia Pedregosa @AilekUmbreon
Campus Tecnológico
#SereIngeniera19
Arduino
#SereIngeniera19
#SereIngeniera19
#SereIngeniera19
#SereIngeniera19
#SereIngeniera19
#SereIngeniera19
#SereIngeniera19
Pero, ¿qué es arduino? Arduino es una plataforma electrónica de código
abierto basada en hardware, las placas; y software, el lenguaje de
programación, FÁCILES DE USAR.
Que sea de código abierto quiere decir que el modelo de desarrollo está
basado en la colaboración abierta. Todo lo que hagáis vosotros puede, y de
hecho debe, estar basado en creaciones o contenido de otras personas [no
estamos aquí para reinventar la rueda] y a su vez el resultado que obtengáis
puede servir de referencia a otras personas. Pero no solo a nivel de software,
también las placas son código abierto, lo que nos permite construirlas de
forma independiente y adaptarlas a nuestras necesidades, aunque eso es algo
que queda fuera de lo que nos da tiempo dentro de este campus.
Y ¿por qué hemos elegido Arduino para que comenceis vuestra aventura con la
informática? Porque, como he dicho antes, es fácil de usar; también es barato,
multiplataforma [su software, IDE Arduino, lo podemos usar tanto en
Windows o Macintosh, que es seguramente lo que tengáis en casa, como en
Linux], tiene codigo y fuente abierta y es extensible.
#SereIngeniera19
#SereIngeniera19
#SereIngeniera19
#SereIngeniera19
#SereIngeniera19
#SereIngeniera19
Os acabo de poner un ejemplo con PINES sin antes explicaros qué son los pines y para
qué sirven. Es muy importante conocer lo que hace cada uno de los pines de la placa que
vayamos a utilizar:
#SereIngeniera19
#SereIngeniera19
Cuando creamos un nuevo archivo en Arduino IDE desde cero vemos que
ya contiene dos funciones “setup ()” y “loop ()”.
- “Setup ()”: Esta función se llama cuando el programa empieza a
ejecutarse, por lo tanto la debemos utilizar para inicializar
variables y pines. Solo se ejecuta una vez al principio del
programa y nunca más se vuelve a ella.
- “Loop ()”: Esta función hace lo que promete, repetirse en bucle
hasta el fin de los tiempos.
#SereIngeniera19
https://www.arduino.cc/reference/en/#functions
Autora: Celia Pedregosa @AilekUmbreon
Campus Tecnológico
#SereIngeniera19
Hay una página oficial de arduino, [https://www.arduino.cc/reference/en/], en la que se pueden ver las
FUNCIONES que se utilizan, sin tener en cuenta las de las bibliotecas que luego podáis añadir.
Vamos a nombrar las más importantes, o las que yo creo que pueden ser más útiles después de haber
consultado los proyectos que tienen mis compañeras y después ¡os muestro algunos ejemplos de
código sencillos para que los tengáis de referencia!
#SereIngeniera19
ESTRUCTURA
VARIABLES
https://www.arduino.cc/reference/en/#functions
Autora: Celia Pedregosa @AilekUmbreon
Campus Tecnológico
#SereIngeniera19
#SereIngeniera19
https://www.arduino.cc/reference/en/#functions
Autora: Celia Pedregosa @AilekUmbreon
Campus Tecnológico
#SereIngeniera19
#SereIngeniera19
Ejemplos de
Arduino
#SereIngeniera19
Buzzer
Fotoresistencia
Resistencia
Theremin
Autora: Celia Pedregosa @AilekUmbreon
Campus Tecnológico
#SereIngeniera19
const int pinBuzzer = 9;
void setup()
{
pinMode (pinBuzzer , OUTPUT);
}
void loop()
{
int p = analogRead(A0);
int n = map (p , 0 , 1024 , 20 , 5000);
tone (pinBuzzer , n)M
}
Theremin
Autora: Celia Pedregosa @AilekUmbreon
Campus Tecnológico
#SereIngeniera19
Leds
Botones
Resistencias
Semáforo
Autora: Celia Pedregosa @AilekUmbreon
Campus Tecnológico
#SereIngeniera19
int rojo = 6; void loop()
int amarillo = 7; {
int verde = 8; digitalWrite(rojo,HIGH);
int boton = 9; delay(2000);
void setup() digitalWrite(rojo,LOW);
delay(50);
{
pinMode (rojo , OUTPUT); if (digitalRead(boton) == HIGH) {
pinMode (amarillo , OUTPUT); digitalWrite(amarillo,HIGH);
pinMode (verde , OUTPUT); delay(1000);
pinMode (boton , input); digitalWrite(amarillo,LOW);
} delay(50);
digitalWrite(verde,HIGH);
delay(2000);
digitalWrite(verde,LOW);
delay(50);
Semáforo }
}
#SereIngeniera19
Leds
Resistencias
pila
Battery tester
Autora: Celia Pedregosa @AilekUmbreon
Campus Tecnológico
#SereIngeniera19
int rojo = 4;
int amarillo = 3; void loop()
int verde = 2; {
valor = analogRead(A0);
int valor; voltaje = 0.0048*valor;
float voltaje;
void setup() if (voltaje >= 1.6)
{ digitalWrite(verde,HIGH);
pinMode (rojo , OUTPUT); else if (voltaje <= 1.2)
pinMode (amarillo , OUTPUT); digitalWrite(rojo,HIGH);;
pinMode (verde , OUTPUT); else
} digitalWrite(amarillo,HIGH);
delay(2000);
digitalWrite(rojo,LOW);
Battery tester }
digitalWrite(amarillo,LOW);
digitalWrite(verde,LOW);
#SereIngeniera19
FIN
Autora: Celia Pedregosa @AilekUmbreon