Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Respecto al Hardware consideremos dos modelos que dependen del alma de control:
El estático, donde el esquema está formado por componentes concretos de funcionalidad
determinada.
El reconfigurable: en este, el esquema tiene una estructura física concreta pero su
funcionalidad depende de la programación de cierto dispositivo, el dispositivo al fin de cuentas
será un muy probable microcontrolador.
Sector Power: La FEM es compatible con el puerto USB de 5v pero logra su funcionamiento
con 3,3v. GND: es el Terminal de tierra.
Sector Analog: Son entradas analógicas que aceptan valores entre 0v y 5v.
Sector Digital: Son entradas o salidas digitales para uso de llaves, o pulsadores.
Conectando la placa:
La energía que sea suficiente para la placa puede surgir desde un puerto USB cuyo límite es del
orden de los 500mA, pero si se involucran más placas se debe recurrir a una fuente exterior. En
este caso se debe tener muy en cuenta la polaridad y que el voltaje que acepta del exterior es
entre 6v y 25v.
En caso de usar una fuente ATX debemos interponer una llave entre el Verde y un Negro,
coloco una resistencia en serie a un LED entre un Rojo y un Negro, otro conjunto entre el
Violeta y un Negro, sabiendo que amarillo es 12V, Rojo es 5v y Negro es 0v.
Definiciones:
Constantes: son datos cuyo valor no cambia durante la ejecución del programa.
Variables: son datos que toman cierto valor, que en la ejecución del programa deberán o no
modificarse. En Arduino a la variable se le asigna un valor y un tipo.
Tipo de variables:
int: almacena 2 Bytes. De -32768 a +32767.
long: almacena 4 Bytes. De -2147483648 a +1 147483647.
boolean: almacena 1 bit como valor, será true o false.
Float: cuando se requieren operaciones con decimales también de 4 Bytes.
Char: alamcena un carácter en ASCII con una longitud de 1 Byte, así almacenar una A será el
valor 65.
Estructuras de programación:
De control selectivo: son las condicionales if, else, switch.
De control iterativo: son los bucles, permiten la ejecución repetida y finita de sentencias,
controlado mediante un algoritmo. Las palabras clave son: while, for y do while.
Instalaremos el IDE desde la página WEB con dirección (Arduino.cc). Clickeamos en Software y
nos posicionamos en Download the Arduino IDE y por ser multiplataforma debemos
seleccionar el SO, en mi caso Windows Installer, superados los procesos aparecerá el ícono de
Arduino en el escritorio luego de instalar el Driver USB. Al abrir el IDE por primera vez puede
aparecernos una ventana de Windows donde el programa nos solicita permiso para acceder a
Internet, lo cual debemos permitir para actualizaciones de nuevas versiones y de sus librerías,
haciendo click en desbloquear.
Conectando la placa
Acto seguido conectamos el Arduino al PC mediante el cable USB, prestando atención en la
forma y posición. Se encenderá un LED identificado como ON.
Ahora vamos al menú herramientas, de la ventana seleccionamos el submenú Placa,
debiéndose leer, del Gestor de tarjetas, la que dice Arduino/Genuino Uno, indicando así que
el Arduino ha sido reconocido. Finalmente debemos clickear el submenú Puertos, debiéndose
leer, del Puertos Serie, el COM4 o COM5, dependiendo de los dispositivos que estén
conectados al PC.
Iniciamos el programa desde el editor
Programa 1:
Prender de modo intermitente el LED integrado
Comenzamos en la función void donde determinaremos variables y seteos preliminares, que
se ejecutará una sola vez en el programa. Paréntesis, abrimos llave y el editor coloca el cierre.
void setup (){
}
}
………………………………………………………………………………………………………
Verificamos el código clickeando el primer de la izquierda botón (V) para que el IDE nos
indique si encuentra algún error, si no guardamos el código se abrirá una ventana para dar
nombre a nuestro proyecto y guardarlo. Veremos la barra verde de evolución, lo compila pero
aún no se carga en la placa. En la zona negra inferior, el compilador nos indicará los recursos
usados y lo más importante es que no nos muestre ningún error.
Subimos el programa a nuestra placa con el botón que le sigue al de verificación, que es una
flecha, e inmediatamente veremos parpadear el LED ON.
Programa 2:
Encender un LED externo mediante la orden de un pulsador NA (normal abierto) con reposo
resistivo (resistencia pulldown) a tierra.
La idea es conectar en protoboard una resistencia de 10K desde GND hasta el pulsador y de
este al Pin 2 del Arduino, el otro extremo del pulsador deberá recibir +5v. El LED con su ánodo
al Pin3 del Arduino y su cátodo a una resistencia de 330 ohmios a GND.
Veremos estructuras como if y else (si y sinó).
Es momento de estar atentos a, en este primer caso, las cuatro líneas de conexión entre el
Arduino y la protoboard. Aquí, por ser un circuito simple, pueden usar los rieles asignados
como + y – para +5v y GND y no olviden que el resto de las celdas del núcleo, separadas por el
canal central destinado a circuitos integrados, vienen interconectadas en columnas formando
grupos de 5 celdas. Cuando el circuito es complejo, por ejemplo si supera las diez conexiones a
fuente, recomiendo forzar los positivos al riel exterior más alejado y GND (Tierra) al riel
exterior más próximo a mí.
………………………………………………………………………………………………………………
void setup (){
pinMode (2, INPUT); // pin 2 es entrada desde el pulsador
pinMode (4, OUTPUT); // pin 3 es salida hacia el LED
}
……………………………………………………………………………………………………
…………………………………………………………………….
Verificamos, luego subimos a la placa.
Ejecutamos el encendido y apagado del LED
Programa 3:
Encender un LED con el toque de un pulsador y apagarlo con el siguiente toque.
Premisas:
-Daremos uso al mismo Hardware implementado en el programa 2.
-Al mantener el dato estamos ante un estado de memoria que y como verán en el próximo
año, se logra con compuertas lógicas en un circuito basculante denominado Flip Flop.
………………………………………………………………………………………………………………………..
Conozcamos nuevas soluciones:
-Para cuando se trabaja con valores numéricos entre -32768 hasta 32767, que no contengan
comas decimales, es práctico dar uso a las variables int. Una variable la definimos nosotros,
puede almacenar información y puede cambiar su contenido. El nombre dado la anotaremos
en mayúscula.
-La sentencia while (mientras) al igual que if, evalúa una condición, si es verdadero ejecuta
todo el código que esté entre sus llaves, si evalúa falso, sale y ejecuta la línea que le siga. Es un
bucle infinito.
La última sentencia es una rutina anti-rebote, se explica por el problema mecánico del
pulsador. Cuando se acciona y libera el contacto no es único, se acompaña de rebotes que,
generan múltiples contactos fantasmas, más allá de lo efímeros que sean o débiles de presión.
Lo cierto es que los ucontroladores operan a velocidades de uSegundos y estos rebotes
suceden dentro de los mSegundos por lo cual son detectados por el Arduino.
}
Programa 4:
}
Programa 5:
Premisas:
Trabajaremos con una entrada del tipo analógico para regular mediante un potenciómetro. El
riel o portal analógico corresponde a los pines A0-A1-A2-A3-A4-A5
El brillo de un LED se concretará en el portal correspondiente a los pines DIGITAL (PWM). Los
pines PWM tienen un símbolo adjudicado y estos son 3-5-6-9-10-11. Por lo tanto la salida será
por ajuste del ancho de pulso.
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
int LED = 3;
int BRILLO;
El Pote que actúa analógicamente deberá tener sus extremos a +5v y GND.
Int LED = 3 ;
Int BRILLO;
Int POT = 0;
void setup () {
pinMode(LED, OUTPUT);
}
void loop () {
BRILLO = analogRead (POT) / 4;{
analogWrite (LED, BRILLO);