Professional Documents
Culture Documents
Andrés Lasry
Noviembre 2016
IDE: Entorno de desarrollo integrado
Para confeccionar el programa que debe
ejecutar Arduino y para poder trasladarlo a su
memoria se usa un sistema de desarrollo propio
de Arduino que debemos instalar en nuestro
ordenador
Qué permite hacer el IDE?
• Escribir el programa que deseemos que ejecute
Arduino
• Compilar el código (convertirlo de un lenguaje
que podemos entender (o casi…) al código
máquina que almacenará Arduino para su
ejecución.
• Enviar ese código máquina a la memoria de
Arduino mediante la conexión USB
• Gestionar las librerías que complementen
nuestro código
Compilación y envío
Librerías
Código FUENTE
Compilador Puerto USB
escrito por nosotros
Ejecución
El proceso NO es reversible autónoma
Instalación del IDE
• Descarga el IDE de la página oficial de Arduino para tu sistema operativo.
• Instala el software.
• Conecta tu Arduino por el puerto USB y espera a que el sistema instale el
driver. Si no lo encuentra, lo instalas desde la carpeta en donde instalaste el
software.
• Arranca el IDE con el Arduino previamente conectado
Conectando con Arduino
Una vez que haya arrancado el IDE, fíjate en
el ángulo inferior derecho:
Placa Puerto
Compilar y enviar:
También compila, pero si no hay
errores envía el código al
dispositivo
“setup”
void setup() {
que se ejecuta al iniciar el programa
pinMode(13, OUTPUT);
UNA SÓLA VEZ }
void loop() {
digitalWrite(13, HIGH);
“loop” delay(1000);
que se ejecuta en bucle indefinidamente digitalWrite(13, LOW);
delay(1000);
}
Cómo se escribe una función
Empieza por el tipo de variable
que devolverá. Si devolviese un void setup() {
entero sería “int”, si devolviese un pinMode(13, OUTPUT);
byte sería “byte”, un número }
grande con decimales sería un
“float” etc. Si no devuelve nada void loop() {
(como “setup” o “loop”) digitalWrite(13, HIGH);
delay(1000);
comienzan por la palabra “void” digitalWrite(13, LOW);
que significa “vacío” delay(1000);
}
Se abre una llave ({) para comenzar con la escritura del código
formado por órdenes que ejecuta la función y se termina cerrando
la llave (}).
Las líneas de las órdenes se deben terminar con un punto y coma.
Para devolver valores o salir de la función se emplea “return”
COMENTARIOS
• Se debe ir comentando el código a fin de que, en un futuro, se
entienda lo que se hace y por qué se hace.
• Los comentarios no son compilados
• Para comentar en una línea, se empiezan por dos barras (//) y
toda la línea es considerada un comentario
• Para comentar varias líneas se empieza por /* y se termina
por */
• Es interesante usar esta última opción para quitar de la
ejecución alguna parte del script al hacer pruebas sin tener
que borralas.
Ejemplos de comentarios
Son muy
importantes,
aunque no se
compilen
Comentario multilínea
Comentarios de
una sóla línea
Algunos consejos
• Al principio, no copies y pegues: escríbelo todo las veces que haga falta.
• Usa nombre muy clarificadores para los valores de las entradas y salidas
definiéndolos al principio. Por ejemplo, si voy a usar la luz Verde para Peatones en
la salida 5, es mejor definir antes del void Setup():
verdePeaton=5;
(sin tildes ni espacios. Se suele poner en minúscula y muyúscula al empezar
cada palabra que componga el nombre)
• Usa funciones siempre que puedas: simplifica y clarifica el código, ya que puedo
escribirlas un avez y usarlas tantas como sea necesario. Por ejemplo, para
apagar todas las luces de un semáforo puedo usar:
void apagarTodo(){
digitaWrite(VerdePeaton,LOW);
digitaWrite(VerdeCoche,LOW);
….
}
• Usa una buena indentación mediante tabulaciones para que el código quede claro
Lo mínimo es mucho
Con muy pocas “órdenes” es posible hacer mucho:
– Configurar entradas y salidas
– Leer y escribir en los pines configurados
– Permanecer inactivo durante un determinado tiempo
– Tomar decisiones para ejecutar unas u otras órdenes
– Contar
– Comunicarse con el ordenador
Configurar pines de entrada o salida:
pinMode
Se hace dentro de la función SETUP, ya que se
ejecuta una sola vez al inicio del programa:
void setup(){
pinMode(5,OUTPUT);
pinMode(6,INPUT); Es
} imprescindible
Que el genio escriba:
digitalWrite
Se guarda en “valorPulsador” el
valorPulsador=digitalRead(5) valor leído en el PIN 5 (HIGH o
LOW, es decir, 0 ó 1)
Que el genio decida:
if
if(digitalRead(6)==HIGH){
digitalWrite(5,HIGH);
}
ATENCIÓN:
Y si no…
Para comparar se If….else
emplea “==“ if(digitalRead(6)==HIGH){
Para asignar un digitalWrite(5,HIGH);
valor se emplea “=“ }
else{
digitalWrite(5,HIGH);
}
Que el genio se entretenga:
delay
El genio es capaz de ejecutar cientos de miles
de órdenes en un segundo. Para que las cosas
vayan mas despacio, delay lo mantiene inactivo
durante un determinado número de
milisegundos
La imaginación la
pones tu