Está en la página 1de 62

Arduino es una plataforma de hardware

libre, basada en una placa con un


microcontrolador y un entorno de desarrollo,
diseñada para facilitar el uso de la
electrónica en proyectos multidisciplinares.
void setup() {
1
}

void loop() {
2
}
Solo se configuran los pines digitales como entrada ó salida
los analógicos “NO” y solo son entradas.

Por defecto los pines están definidos como entrada a menos


que se quiera cambiar a salida se debe configurar

pinMode(n° pin,OUTPUT); configura el pin como salida digital


// línea de comentario

/* bloque de comentario . . . . . . . . . . . . . */
digitalWrite(n°pin,HIGH); activa o se tienen +5 v en
el pin seleccionado

digitalWrite(n°pin,LOW); desactiva o se tienen 0 v en


el pin seleccionado

delay(n); retarda n milisegundos


Símbolo led

Placa
ó Anodo

Cátodo
Cátodo

Placa
“Gnd”
ó Anodo

al Resistencia

PinN°
Diseñar un programa que controle un semáforo:

Condiciones:
Led verde encendido 3 seg.
Led ámbar encendido 1 seg.
Led rojo encendido 3 seg.
Diseñar un programa que controle dos semáforos:

Condiciones:
Led verde encendido 3 seg.
Led ámbar encendido 1 seg.
Led rojo encendido 3 seg.
Configuración de salidas:

// SEMAFORO DOBLE
void setup()
{
pinMode(7,OUTPUT);//V1
pinMode(8,OUTPUT);//A1
pinMode(9,OUTPUT);//R1
pinMode(10,OUTPUT);//V2
pinMode(11,OUTPUT);//A2
pinMode(12,OUTPUT);//R2
}
void loop()
{
Código ejecutable: digitalWrite(7,HIGH);
delay(3000); // Wait for 3000 millisecond(s)
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
digitalWrite(12,LOW);
digitalWrite(10,HIGH);
delay(3000); // Wait for 3000 millisecond(s)
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(11,LOW);
digitalWrite(12,HIGH);
digitalWrite(9,LOW);
}
Una variable es una manera de nombrar y almacenar un valor
numérico para su uso posterior por el programa:

Una variable debe ser declarada y, opcionalmente, asignarle un


valor.

Todas las variables tienen que declararse antes de que puedan


ser utilizadas.
Para declarar una variable se comienza por definir su tipo
como: int (entero), long (largo), float (coma flotante), etc.

Asignándoles siempre un nombre, y opcionalmente, un valor


inicial.

Esto solo debe hacerse una vez en un programa, pero el valor


se puede cambiar en cualquier momento usando aritmética y
reasignaciones diversas.
int
Son un tipo de datos primarios que almacenan valores
numéricos de 16 bits enteros o sin decimales
comprendidos en el rango -32,768 a 32,767
long
El formato de variable numérica de tipo extendido “long”
se refiere a números enteros tipo 32 bits sin decimales
que se encuentran dentro del rango de -2147483648 a
2147483647.
float
El formato de dato del tipo “punto flotante” “float” se
aplica a los números con decimales. Los números de
punto flotante tienen una mayor resolución que los de 32
bits con un rango comprendido: -3.4028235E+38 a
3.4028235E +38.
Las subrutinas son unos «miniprogramas» ó
unas funciones, que se ejecutan al ser
llamadas desde el programa principal.
La declaración de subrutinas, no va ni en el
setup, ni en el loop, va de forma inde-
pendiente entre los dos.
Para declarar una función, se escribe void, el
nombre de la función, se abre y cierra un
paréntesis, abrir corchete, escribir el código de la
subrutina y se cierra corchete.
Nombre de la función

void ()
{
Código de la subrutina
}
se declara una variable
se configura el pin
como salida
ejecución de la
subrutina
subrutinas
al colector del transistor

GND

+ 5V
Conexión de
la “carga a controlar”

cable

cable
Interruptor
“normalmente abierto”
NA
AL
CIRCUITO
AUXILIAR
1: núcleo de hierro, 2: resorte de reposición, 3: bobina,
4 placa móvil, 5: aislamiento del contacto, 6: contacto móvil
c N
contactos N o O
C m
ú
n
al relay in

al pin N° x

GND
+5 v

UPTS 5 6

8
12
c
B
Pin 8

E
Contacto Contacto
NA común
bobina

UPTS

bobina
Contacto Contacto
NC común
Diseño de control de un foco por medio de relay con variable de tiempo:
Diseño de un control de tres repeticiones de un ciclo de
encendido de un foco con relevador con un tiempo de
encendido cinco segundos y apagado dos segundos, y tres
de un segundo ciclo con tiempo de encendido de 10
segundos y apagado dos segundos.
analogRead (pin)
Lee el valor de un determinado “pin” definido como entrada
analógica con una resolución de 10 bits.

Esta instrucción solo funciona en los pines respectivos.

El rango de valor que podemos leer oscila de 0 a 1023.


valor = analogRead(pin); // asigna a valor
lo que lee
// en la entrada
analógica ‘pin’
Nota: Los pines analógicos a diferencia de los pines
digitales, no necesitan ser declarados como INPUT u OUPUT
ya que son siempre INPUT´s.
analogWrite(pin, value)

Esta instrucción sirve para escribir un pseudo-valor analógico


utilizando el procedimiento de modulación por ancho de pulso
(PWM) a uno de los pines de Arduino marcados como “pin
PWM”.
El valor que se puede enviar a estos pines de salida analógica
puede darse en forma de variable o constante, pero siempre
con un margen de 0-255, en las salidas denominadas pin pwm

analogWrite(pin,valor); // escribe 'valor'


en el 'pin'
// pwm
definido como analógico
La tarjeta mega tiene 15 pines pwm del 2 al 13 y del 44 al 46
+5V

Pin

GND

También podría gustarte