Universidad Tecnológica de Panamá Facultad de Ingeniería Mecánica. Licenciatura en Ingeniería Naval.
Materia: Teoría de Control
Investigación #1 Tema: Arduino
Preparado por: loria Illueca !"!!#"$%#&
Pro'esora Il(a )an*eld
Instructora: +vel,n Mascarin
- NI --
$%-& 1. ¿Qué ¿Qué es es Ardu Arduino ino? ?
/rduino es una 0erramienta para 0acer 1ue los ordenadores puedan sentir , controlar el mundo 'ísico a trav2s de tu ordenador personal. +s una plata'orma de desarrollo de computación 'ísica 3p0,sical computing4 de código a5ierto6 5asada en una placa con un sencillo microcontrolador , un entorno de desarrollo para crear so't7are 3programas4 para la placa. Puedes usar /rduino para crear o58etos interactivos6 le,endo datos de una gran variedad de interruptores , sensores , controlar multitud de tipos de luces6 motores , otros actuadores 'ísicos. Los pro,ectos con /rduino pueden ser autónomos o comunicarse con un programa 3so't7are4 1ue se e8ecute en tu ordenador.
2. ¿Cuántas clases eisten? +9isten 0asta la 'ec0a - tipos de /rduinos: • • • • • • • • • •
/rduino UN; /rduino Leonardo /rduino n /rduino ?o5ot /rduino +splora /rduino Mega /<@ /rduino +t0ernet /rduino Mega $% /rduino Mini
• • • • • • • • •
/rduino Nano /rduino Pro Mini /rduino Pro /rduino Micro /rduino Fio Lil,Pad /rduino UA) Lil,Pad /rduino Aimple Lil,Pad /rduino AimpleAnap Lil,Pad /rduino
•
•
•
!. ¿Cuál es el "rinciio de $uncionamiento de un Arduino? •
•
•
Lo primero 1ue tenemos 1ue 0acer para comenBar a tra5a8ar con el entorno de desarrollo de /rduino es con*gurar las comunicaciones entre la placa /rduino , la PC. Para ello de5eremos a5rir el men> “Tools” la opción “Serial Port”. +n esta opción de5eremos seleccionar el puerto serie al 1ue está conectada nuestra placa. +n indo7s6 si desconocemos el puerto al 1ue está conectada nuestra placa podemos descu5rirlo a trav2s del /dministrador de dispositivos 3Puertos C;M D LPTEUA) serial Port4. +l primer paso para compro5ar 1ue todo lo 1ue 0emos 0ec0o 0asta a0ora está 5ien , 'amiliariBarnos con el inter'aB de desarrollo6 es a5rir uno de los e8emplos. Ae recomienda a5rir el e8emplo )lin(G. Para ello de5emos acceder a trav2s del men> File Skethbook Examples Digital Blink.
•
•
•
•
•
•
+l e8emplo )lin(G lo >nico 1ue 0ace es parpadear un Led 1ue está colocado en el pin n>mero - de la placa. Hamos a ver 1ue 0a, 1ue 0acer para su5ir el programa a la placa /rduino. Primero compro5amos 1ue el código 'uente es el correcto. Para ello pulsamos el 5otón de veri*cación de código 1ue tiene 'orma de triángulo inclinado % . Ai todo va 5ien de5erá aparecer un mensa8een la parte in'erior de la inter'aB indicando “Done compilion”. Una veB 1ue el código 0a sido veri*cado procederemos a cargarlo en la placa. Para ello tenemos 1ue pulsar el 5otón de reset de la placa e inmediatamente despu2s pulsar el 5otón 1ue inicia la carga.
•
•
•
•
•
•
•
%. ¿Cuáles son las di$erentes artes & ara 'ue $uncionan? •
+9isten m>ltiples variantes del /rduino. +n este caso6 usaremos el /rduino UN; 1ue es el más com>n.
•
•
•
•
•
•
Potencia - USB (1) / Conector de Adaptador (2): Cada placa /rduino necesita una 'orma de estar alimentado el2ctricamente. +sta puede ser alimentada desde un ca5le UA) 1ue viene de su ordenador o un ca5le de corriente el2ctrica con su respectivo adaptador. La cone9ión UA) es tam5i2n cómo va a cargar código en su placa /rduino. Pines (5V, 3.3V, G!, Ana"o#, !i#ita", P$%, A&'): Los pines en la placa /rduino es donde se conectan los ca5les de un circuito. +l /rduino tiene varios tipos di'erentes de entradas6 cada uno de las cuales está marcado en el ta5lero , utiliBan para di'erentes 'unciones. G! (34: /5reviatura de KtierraK 3en Ingles4. a, varios pines N< en el /rduino6 cual1uiera de los cuales pueden ser utiliBados para conectar a tierra el circuito. 5V () * 3.3V (5): Aon los suministros pin &H & voltios de energía6 , los suministros de pin .H . voltios de potencia. Ana"+#ico (): +l área de pines en el marco del analógica eti1ueta 3/% a /&4 son analógicas. +stos pines pueden leer la seal de un sensor
•
•
•
•
•
•
•
•
analógico 3como un sensor de temperatura4 , convertirlo en un valor digital 1ue podemos leer. !i#ita" (): Aon los pines digitales 3del % al -4. +stos pines se pueden utiliBar tanto para la entrada digital 3como decir6 si se oprime un 5otón4 , salida digital 3como encender un L+<4. P$% (): Usted puede 0a5er notado la tilde 3O4 al lado de algunos de los pines digitales 36 &6 #6 6 -% , --4. +stos pines act>an como pines digitales normales6 pero tam5i2n se pueden usar para algo llamado Modulación por anc0o de pulsos 3PM6 por sus siglas en Ingles4. A&' (): Aoportes de re'erencia analógica. La ma,oría de las veces se puede de8ar este pin solo. / veces se utiliBa para esta5lecer una tensión de re'erencia e9terna 3entre % , & voltios4 como el límite superior para los pines de entrada analógica. Bot+n de reinicio (10): +mpu8ando este 5otón se conectará temporalmente el pin de reset a tierra , reinicie cual1uier código 1ue se carga en el /rduino. +sto puede ser mu, >til si el código no se repite6 pero 1uiere pro5arlo varias veces. ndicador '! de a"ientaci+n (11): +ste L+< de5e encenderse cada veB 1ue conecte la placa /rduino a una toma el2ctrica. Ai esta luB no se enciende6 0a, una 5uena pro5a5ilidad de 1ue algo anda mal. '!s &4 4 (12): TJ es la a5reviatura de transmisión6 ?J es la a5reviatura de reci5ir. +stas marcas aparecen un poco en la electrónica para indicar los pasadores responsa5les de la comunicación en serie. +n nuestro caso6 0a, dos lugares en la /rduino UN; donde aparecen TJ , ?J " una veB por pines digitales % , -6 , por segunda veB 8unto a los indicadores L+< de TJ , ?J 3-$4. +stos L+til para sa5er 1ue está a0í , para 1u2 sirve. +l regulador de volta8e 0ace e9actamente lo 1ue dice " 1ue controla la cantidad de tensión 1ue se de8a en la placa /rduino. Piense en ello como una especie de guardián se dará la espalda a una tensión adicional 1ue podría daar el circuito. Por
supuesto6 tiene sus límites6 por lo 1ue no conecta tu /rduino a nada superior a $% voltios. • • • • • • • • • • • • • • • • • • • • •
(. ¿Cuáles son las $unciones )ásicas de un Arduino? •
'/S !i#ita"es pin%ode (pin,odo) •
•
Con*gura el pin especi*cado para comportarse como una entrada 3INPUT4 o una salida 3;UTPUT4. Ejm: pinMode(Pin13, OUTPUT)
•
di#ita"$rite(pin,8a"or) •
/signa el valor I 3&H4 o L; 3%H4 a un pin digital.
•
Ejm: digitalWrite(Pin13 , HIGH);
•
di#ita"&ead(pin) •
Lee el valor de un pin digital especi*cado6 I o L;.
•
Ejm: al ! digital"ead(Pin13);
•
•
'/S Ana"+#icas ana"o#&ead(pin) •
•
Lee el valor de tensión en el pin analógico especi*cado. La placa /rduino posee # canales conectados a un conversor analógico digital de -% 5its. +sto signi*ca 1ue convertirá tensiones entre % , & voltios a un n>mero entero entre % , -%$. +sto proporciona una resolución en la lectura de: & voltios E -%$Q unidades6 es decir6 %.%%Q voltios 3Q.mH4 por unidad. +l rango de entrada puede ser cam5iado usando la 'unción analog?e'erence34. Ejm: al ! analog"ead(Pin3)
•
ana"o#$rite(pin,8a"or) •
+scri5e un valor analógico 3PM4 en un pin. Puede ser usado para controlar la luminosidad de un L+< o la velocidad de un motor.
•
•
Parámetros:
" "
pin: +s el pin en el cual se 1uiere generar la seal PM. valor: +l ciclo de tra5a8o deseado comprendido entre % 3siempre apagado4 , $&& 3siempre encendido4.
•
Ejm: al ! analog"ead(analogPin);
•
analogWrite(ledPin, al # $);
•
Co6nicaci+n Serie •
Ae utiliBa para la comunicación entre la placa /rduino , un ordenador u otros dispositivos. Todas las placas /rduino tienen al menos un puerto serie Aerial. Ae comunica a trav2s de los pines digitales % 3?J4 , - 3TJ46 así como con el ordenador mediante UA). Por lo tanto6 si utiliBas estas 'unciones6 no puedes usar los pines % , - como entrada o salida digital.
•
Puedes utiliBar el monitor del puerto serie incorporado en el entorno /rduino para comunicarte con la placa /rduino. aB clic en el 5otón del monitor de puerto serie en la 5arra de 0erramientas , selecciona la misma velocidad en 5audios utiliBada en la llamada a 5egin34.
•
Seria".9e#in(speed) •
•
+sta5lece la velocidad de datos en 5its por segundo 35audios4 para la transmisión de datos en serie. Para comunicarse con el ordenador6 utilice una de estas velocidades: %%6 -$%%6 $Q%%6 Q!%%6 #%%6 -QQ%%6 -$%%6 $!!%%6 !Q%%6 &R#%% o --&$%%. Ejm: %erial&'egin(**);
•
Seria".read() •
Lee los datos entrantes del puerto serie.
•
Ejm; +te ! %erial&read();
•
Seria".print(8a",;orat<) •
" "
Imprime los datos al puerto serie como te9to /ACII. val: el valor a imprimir " de cual1uier tipo 'ormat: especi*ca la 5ase 3'ormato4 a usar los valores permitidos son )=T+6 )IN 35inarios o 5ase $46 ;CT 3octales o 5ase !46 <+C 3decimales o 5ase -%46 +J 30e9adecimales o 5ase -#4. Para n>meros de coma Sotante6 este parámetro especi*ca el n>mero de posiciones decimales a usar.
" •
Ejm: %erial&print(-.) imprime /-./
•
%erial&print(00) imprime //
•
%erial&print(-., +2TE) imprime //
•
%erial&print(-., E4) imprime /-.5 •
•
%erial&println(1&63$7, *) imprime /1&635 %erial&println(1&63$7, 6) imprime /1&63/
•
Seria".print"n(8a",;orat<)
•
Imprime los datos al puerto serie como te9to /ACII seguido de un retorno de carro 3/ACII -6 o r4 , un carácter de avance de línea 3/ACII -%6 o n4.
•
Ejm: %erial&println(analog8al9e); ## imprime omo %4II
•
%erial&println(analog8al9e, HE<);## imprime omo %4II
•
•
deimal
He=adeimal
•
Seria".a8ai"a9"e() •
mero de 5,tes 3caracteres4 disponi5les para ser leídos por el puerto serie. Ae re*ere a datos ,a reci5idos , disponi5les en el 5uer de recepción del puerto 31ue tiene una capacidad de -$! 5,tes4.
•
i> (%erial&aaila'le() ? *)
•
@
•
##realiAa la let9ra del p9erto Berie
•
C
•
•
In$ogra$*a •
•
• • •
0ttp:EE777.instructa5les.comEidE/rduino"Tutorial"%"Introducci VCV)nEstepEWuVCV/"partes"componen"el"/rduinoE 0ttp:EE777.uca.esErecursosEdocEUnidadesEUnidadXInnovacionEInnovacionX