José Pujol Pérez
•
PROGRAMACIÓN
•
DISPLAYS
•
MÓDULOS
PROGRAMACIÓN •
CONTROL DE TIEMPO
•
LLAMADA A FUNCIONES
•
INTERRUPCIONES
•
LIBRERÍAS
CONTROL DE TIEMPO: MILLIS Es necesario usarlo cuando tenemos que estar pendiente de varios procesos
- millis(); Devuelve el número de milisegundos desde que se conectó la placa Arduino Si lo guardamos en una variable de tipo unsigned long se desborda cada 50 dias
unsigned long time=0; time=millis();
CONTROL DE TIEMPO: MILLIS
LLAMADA A FUNCIONES Nos permite modular el código ordenándolo
Llamada a función void: void adelante(){ // defino lo que hace esta funcion } void loop(){ // Llamada a la función en el void loop adelante(); }
LLAMADA A FUNCIONES Llamada a función que devuelven valor: int distancia(){ // defino lo que hace esta funcion // Fijo la variable que devuelve return distance; } void loop(){ // Llamada a la función en el void loop // y almacena distance en d d=distancia(); }
LLAMADA A FUNCIONES Llamada a función con argumento: int distancia (int grados){ // defino lo que hace la funcion // establezco que hace el argumento myservo.write (grados); ... } void loop(){ // Llamada a la función en el void loop // se le pasa a la función el argumento d=distancia(grados); }
INTERRUPCIONES Arduino UNO dispone de dos pines habilitados para generar interrupciones 0=D2 y 1=D3 attachInterrupts (interrupt,ISR,mode); interrupt: the number of interrupt 0/1 ISR: la función que se ejecuta - mode: activa la interrupción cuando: LOW: el pin esta bajo CHANGE: cambia de valor RISING: se activa por subida de flanco FALLING: se activa por bajada de flanco
INTERRUPCIONES
LIBRERÍAS Descargar la librería de: http://www.kiwibot.es/escudo-arduino/libreriamatriz-de-leds/ En Arduino: Sketch! Importar Librería
! Add
Library
Cargar el archivo .zip Reiniciar Arduino y la librería ya está lista para ser usada
DISPLAYS •
MATRIZ DE LEDS
•
PANTALLAS LCD
MATRIZ DE LEDS Es un encapsulado que contiene LEDs distribuidos en filas y columnas En este caso, tenemos 5 filas i y 7 columnas j M5x7= 35 LEDs Cada punto de la matriz es localizado por su posición M(i,j)=M(2,3)
MATRIZ DE LEDS Configuración interna : Las columnas están conectadas a los ánodos de los LEDs (según modelos) Las filas están conectadas a los cátodos Para encender un LED tengo que activar a 1 la columna y poner a 0 la fila
PANTALLAS LCD Son pantallas de cristal líquido formada por píxeles
MÓDULOS •
BLUETOOTH
•
WIFI
•
ETHERNET
•
DRIVER MOTORES cc
BLUETOOTH Se conecta vía puerto serie a Arduino Actúa como esclavo
wifi Es un módulo que permite conectar Arduino a internet via wifi. Usa comunicación serie para enviar y recibir datos
ETHERNET Es un escudo que permite conectarnos vía ethernet
DRIVER MOTORES Permiten controlar el sentido de giro y la velocidad de motores cc
LICENCIA
licencia
"#$% &'(% #) *+#$,+-'.) -%/0 1+2)32+% 4)20302+5+)3$06 7058%,9,:&'%1 7,)%9;) 205503# <=>
?22@ A>BC D0#E F'/01 FE,)G H05) ,+&I$# ,)#),;)*= JI+# K0,L 1+2)3#)* '3*), 7,)%9;) 705503# MN,+-'9036HI%,)M1+L) O+2)3#)= J0 ;+)K % 208. 0P P'11 1+2)3#)Q #)) IN8RSS2,)%9;)205503#=0,&S1+2)3#)#S-.6#%ST=>S 0, K,+$) $0 7,)%9;) 705503#Q CCU V%$I%3 M--0N W%.Q H$%3P0,*Q 7%1+P0,3+% UCQ XHM= H05) 0P $I) Y&',)# I%;) -))3 $%L)3 P,05 $I) :3$),3)$ H0',2)Q %3* %'$I0, %3* 1+2)32) +P L30K3Q +# #8)2+Y)*= Z0, $I0#) +5%&)#Q P%+, '#) %881+)#=