Está en la página 1de 8

Como se ha explicado, el software para el Arduino es de código abierto cuyo código fuente,

que es Java, debemos tenerlo instalado.

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.

Arduino uno, consideraciones:

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.

Materiales necesarios para implementarlo:


-Placa experimental de 400 celdas.
-Cables jumper.
-Cable conector USB.

Componentes de entrada y salida:


- Resistencias variables (potenciómetro) como de 10K
-Led RGB, y simples de distintos colores.
-Condensadores electrolíticos como 100uF
-Resistores como de 330, 1K, 10K.
-Fotorresistencia o LDR
-Diodos rectificadores y rápidos.
-Pulsadores.
-Miniservo.
-Zumbador.
-Sensor de inclinación.
-Termistor.
-Sensor de temperatura.
-Transistores como 2N2222.

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.

Operadores: Con símbolos se definen como lógicos o matemáticos.


Ver los casos

Clave: son grupo de palabras con una finalidad determinada.


Comentarios: son los comentarios, sigue al // si está en la misma línea
Funciones: consiste en un código ya escrito a utilizar varias veces por su nombre.
Librerías: son conjunto de funciones agrupadas en un fichero. Se escriben al inicio del
programa precedidas por #.

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.

Instalación del IDE

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 (){
}

Ahora escribiremos pinMode y sus parámetros, el primer parámetro es el número 13 ya que al


mismo es donde se encuentra conectado el LED ON y como segundo parámetro indicamos si
es, de entrada o salida. Finalizo el comando siempre con un punto y coma.

void setup (){


pinMode (13, OUTPUT);
}
El Editor de textos reconoce como correcto el uso de las mayúsculas en las funciones y
palabras reservadas cambiándoles el color.
Vamos a función loop que será la que ejecute código de forma permanente o indefinida.

void setup (){


pinMode (13, OUTPUT);
}

Void loop (){


digitalWrite (13, HIGH);
delay(1000);
digitalWrite (13, LOW);
delay(1000);
}
Como ya deben saber un buen programador genera buenos comentarios y agregamos los
nuestros a continuación.
…………………………………………………………………………………………………..
void setup (){
pinMode (13, OUTPUT); // pin 13 es salida
}

void loop (){


digitalWrite (13, HIGH); // pin 13 toma el valor alto (1)
delay(1000); // lo mantiene por 1 segundo
digitalWrite (13, LOW); // pin 13 toma el valor bajo (0)
delay(1000); // lo mantiene por 1 segundo

}
………………………………………………………………………………………………………
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
}

void loop (){


if (digitalRead (2) == HIGH){ // evalúo si el LED está a nivel alto
digitalWrite (4, HIGH); // enciendo el LED
}
else {
digitalWrite (4, LOW); // apago 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.

int PULSADOR = 2; // pin2 se nombra como PULSADOR


int LED = 4; // pin4 se nombra como LED
int ESTADO = LOW; // inicia la variable ESTADO en valor bajo

void setup (){


pinMode (PULSADOR, INPUT); // PULSADOR es entrada desde el pulsador
pinMode (LED, OUTPUT); // LED se declara como salida
}

void loop (){


while (digitalRead (PULSADOR) == LOW){ // con digitalRead leemos el estado de un Pin,
mientras el pulsador = 0 nada se ejecuta
pues entre llaves no hay nadie
}
ESTADO = digitalRead (LED); // reconocer el valor binario del LED y
se almacena en ESTADO
digitalWrite (LED, !ESTADO); // ! es una NOT invierte el estado del LED
while (digitalRead (PULSADOR) == HIGH){ // mejora falsos contactos del pulsador
}

}
Programa 4:

Encender un LED que se mantenga por 5 segundos al pulsar

int PULSADOR = 2; // pin2 se nombra como PULSADOR


int LED = 4; // pin4 se nombra como LED

void setup (){


pinMode (PULSADOR, INPUT); // PULSADOR es entrada desde el pulsador
pinMode (LED, OUTPUT); // LED se declara como salida
}

void loop (){


while (digitalRead (PULSADOR) == LOW){ // con digitalRead leemos el estado de un Pin,
mientras el pulsador = 0 nada se ejecuta
pues entre llaves no hay nadie
}
digitalWrite (LED,HIGH); // enciende el LED
delay (5000); // espera de 5 segundos
digitalWrite (LED,LOW); // apaga el LED

while (digitalRead (PULSADOR) == HIGH){ // anti-rebote


}

}
Programa 5:

Variar el brillo de un LED automáticamente

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;

void setup (){


pinMode(LED, OUTPUT);
}
void loop (){
for(BRILLO = 0; BRILLO <= 256; // ojo estudiar la consecuencia del valor y modificarlo tal
que de 256 pase a 255 o que evite el igual.
BRILLO ++){
analogWrite(LED, BRILLO);
delay(15);
}
for(BRILLO = 255; BRILLO >= 0;BRILLO --){
analogWrite(LED, BRILLO);
delay(15);
}}
Programa 6:

Variar el brillo de un LED con la regulación de un Potenciómetro.

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);

También podría gustarte