Sunteți pe pagina 1din 22

INFORME

LABOTATORIO
TEMPORIZADORES

INTEGRANTES: JUAN ARROYO


JOSÉ PALMA
CARLOS FUENTES
ASIGNATURA: SISTEMAS DIGITALES
CARRERA: TEC. EN AUTOMATIZACIÓN INDUSTRIAL
PROFESOR: HENRY ESTRADA
INTRODUCCION

En el siguiente trabajo les presentaremos algunas de las


placas de arduino que existen, explicaremos su
funcionamiento ya sea de forma interna y su configuración,
también explicaremos y mostraremos los tipos de arduino y
representaremos una de las configuraciones mas básicas,
un circuito de temporizador, ocuparemos un arduino UNO,
protoboard y algunos led.

Además del software necesario para aplicar el código


correspondiente a la experiencia que realizaremos a
continuación.
¿QUE ES ARDUINO?
Una placa electrónica es una PCB (printed circuit board, placa de circuito
intenso). Las PCBs superficies planas fabricadas en un material no conductor,
la cual costa de distintas capas de material conductor. Una PCB es la forma
más compacta y estable de construir un circuito electrónico. Así que la placa
Arduino no es mas que una PCB que implementa un determinado diseño de
circuitería interna, de esta forma el usuario final no se debe preocupar por
las conexiones eléctricas que necesita el microcontrolador para funcionar, y
puede empezar directamente a desarrollar las diferentes aplicaciones
electrónicas que necesite.

PCB de Arduino uno


TIPOS DE ARDUINO

1. ARDUINO UNO
Procesador: ATmega 328 (CPU de 8 bits, velocidad de reloj de 16 MHz,
SRAM de 2KB, almacenamiento flash de 32KB)

Características: 14 pines de E/S digitales, pines de entrada analógica,


microcontrolador extraíble

Factor de forma: Rectángulo de 2.7 x 2.1

2. ARDUINO MEGA

Procesador: ATmega 2560 (CPU de 8 bit, velocidad de reloj de 16MHz, 8KB


SRAM, almacenamiento flash de 256KB)

Características: 54 pernos de E/S digitales (15 PWM), 16 pines de entrada


analógica, 4 UART, oscilador de cristal de 16 MHZ

Factor de forma: Rectángulo de 101.52mm x 53.3mm.

3. ARDUINO DUE

Procesador: Atmel SAM3X8E ARM Cortex-M3 (CPU de 32 bits, velocidad de


reloj de 84 MHz, SRAM de 96K,
Almacenamiento flash de 512KB)

Características: 54 pines de E/S digitales (12 PWM), 12 Pines de entrada


analógica, 2 pines de salida analógica, puerto USB nativo

Factor de forma: Rectángulo de 101.52mm x 53.3mm.

4. ARDUINO LEONARDO

Procesador: ATmega 32u4 (CPU de 8 bits, velocidad de reloj de 16MHz,


SRAM de 2.5KB, almacenamiento flash de 32KB)

Características: 20 pines de E/S digitales (7 PWM), 12 de los cuales se


pueden utilizar como entradas analógicas, soporte USB nativo factor forma
rectángulo de 68mm x 53.3mm

5. ARDUINO MINI

Procesador: ATmega 328 (CPU de 8 bits, velocidad de reloj de 16MHz,


SRAM de 2KB, almacenamiento flash de 32KB)

Caracteristicas:14 pines de E/S digitales,8 pines de entrada analógica,


oscilador de cristal de 16 MHz

Factor de forma: rectángulo de 30mm x 18mm

6. ARDUINO MICRO

Procesador ATmega 328 (CPU de 8 bits, velocidad de reloj de 16MHz, SRAM


de 2KB, almacenamiento flash de 32 KB)

Características: 14 pines de E/S digitales, 6 pines de entrada analógica,


microcontrolador extraíble.

Factor de forma: rectángulo de 2.7 x 2.1


7. ARDUINO NANO

Procesador: ATmega328 (CPU de 8 bits, velocidad de reloj de 16MHz,


SRAM de 2KB, almacenamiento flash de 32 KB)

Características: 22 pines de E/S digitales, 8 pines de entrada analógica

Factor de forma: rectángulo de 18mm x 45mm.

8. ARDUINO LILYPAD

Procesador: ATmega 328 (CPU de 8 bits, velocidad de reloj de 16MHz,


SRAM de 2KB, almacenamiento flash de 32 KB)

Características: 14 pines de E/S digitales, 6 pines de entrada analógica.

Factor de forma: circulo de 2” de diámetro.


DESCRIPCIÓN DE LA TARJETA DE ARDUINO

Fuente de alimentación Jack

Acepta enchufe de barril DC de 5.5mm/2.1mm, posición central. Voltaje


recomendado: 9V-12V @ 2ª
Vin: potencia de provides para la placa Arduino.

GND: Pines de tierra.

5V: Proporciona una salida de 5V CC.

3.3V: Proporciona una salida de 3,3 V CC.

Restablecer:

Restablee las tarjetas y el programa se reinicia, inicializando de nuevo.


IOREF: Da el voltaje correspondiente a la E/S de la placa respectiva, por
ejemplo, uno proporcionaría 5v a este pin, pero un Due proporcionaría 3.3v
Enviar una señal a este pin no hace nada.

Pines analógicos

Una señal analógica es aquella que puede tomar cualquier número de


valores, a diferencia de una señal digital que tiene solo dos valores: ALTO Y
BAJO. Para medir el valor de las señales analógicas, el Arduino tiene un
convertidor analógico a digital incorporado (ADC). El ADC convierte la tensión
analógica en un valor digital. La función que utiliza para obtener el valor de
una señal analógica es analogRead (pin). Esta función convierte el valor del
voltaje en un pin de entrada analógica y devuelve un valor digital de 0 a 1023,
relativo al valor de referencia. La referencia es 5V en la mayoría de Arduinos.
Microcontrolador ATmega328

El ATmega328 es un microcontrolador de un solo chip creado por Atmel en


la familia megaAVR.

El microcontrolador Atmel de 8 bits basado en RISC combina memoria flash


ISP de 32KB con lectura mientras capacidades de escritura, 1 KB EEPROM,
2KB SRAM, 23 líneas de E/S de propósito general, tres
temporizadores/contadores flexibles con modos de comparación,
interrupciones internas y externas, USART serie programable, un byte
orientado

Interfaz serial de cable, puerto serie SPI, convertidor A/D de 10 canales y 6


bites (8 canales en paquetes TQFP

PUERTO USB
La mayoría de los Arduinos usan un cable periférico tipo A a B
macho/macho estándar, del tipo que generalmente se usa para las
impresoras. El puerto USB se usa para conectar la placa con su computadora
y también para intercambiar datos con él.

EL botón de reinicio hace mas o menos lo mismo que desconectar la placa y


volver a enchufarla. Reinicia su programa desde el principio.

Lo mismo ocurre cuando programa la placa: la interfaz USB presiona el


botón de reinicio por usted. Luego ingresa al gestor de arranque por uno o
dos segundos para que pueda probarlo y programarlo.

PINES DIGITALES

Los pines de Arduino se pueden configurar como entradas o salidas. Los


pines 3,5,6,9,10 y 11estan habilitados para PWM, es decir, estos pines
pueden imitar la salida analógica. Y entrada usando la modulación de ancho
de pulso. PWM se logra variando rápidamente la salida entre alta y baja para
poder el porcentaje de tiempo deseado.
COMO SE PROGRAMA UN ARDUINO

Programar Arduino consiste en traducir a líneas de código las tareas


automatizadas que queremos hacer leyendo de los sensores y en función de
las condiciones del entorno programar la interacción con el mundo exterior
mediante unos actuadores.
La estructura básica del lenguaje de programación de Arduino es bastante
simple y se

compone de al menos dos partes. Estas dos partes necesarias, o funciones,


encierran

bloques que contienen declaraciones, estamentos o instrucciones.

void setup()

estamentos;

void loop()

estamentos;

En donde es la parte encargada de recoger la configuración y es la que


setup() loop() contienen el programa que se ejecutará cíclicamente (de ahí el
termino loop –bucle-).
Ambas funciones son necesarias para que el programa trabaje.

La función de configuración debe contener la declaración de las variables. Es


la primera función a ejecutar en el programa, se ejecuta sólo una vez, y se
utiliza para configurar o inicializar pinMode (modo de trabajo de las E/S),
configuración de la comunicación en serie y otras.

La función bucle (loop) siguiente contiene el código que se ejecutara


continuamente (lectura de entradas, activación de salidas, etc.) Esta función
es el núcleo de todos los programas de arduino y la que realiza la mayor
parte del trabajo.

SETUP

La función setup() se invoca una sola vez cuando el programa empieza. Se


utiliza para inicializar los modos de trabajo de los pins, o el puerto serie. Debe
ser incluido en un programa aunque no haya declaración que ejecutar.

void setup()

pinMode(pin, OUTPUT); // configura el 'pin' como salida

Después de llamar a setup(), la función loop() hace precisamente lo que


sugiere su nombre, se ejecuta de forma cíclica, lo que posibilita que el
programa este respondiendo continuamente ante los eventos que se
produzcan en la tarjeta

void loop()

digitalWrite(pin, HIGH); // pone en uno (on, 5v) el ´pin´


delay(1000); // espera un segundo (1000 ms)

digitalWrite(pin, LOW); // pone en cero (off, 0v.) el ´pin´

delay(1000);

FUNCION

Una función es un bloque de código que tiene un nombre y un conjunto de


estamentos que son ejecutados cuando se llama a la función. Son funciones
setup() y loop() de las que ya se ha hablado. Las funciones de usuario pueden
ser escritas para realizar tareas repetitivas y para reducir el tamaño de un
programa. Las funciones se declaran asociadas a un tipo de valor “type”. Este
valor será el que devolverá la función, por ejemplo 'int' se utilizará cuando la
función devuelva un dato numérico de tipo entero.

Si la función no devuelve ningún valor entonces se colocará delante la


palabra “void”, que significa “función vacía”. Después de declarar el tipo de
dato que devuelve la función se debe escribir el nombre de la función y entre
paréntesis se escribirán, si es Necesario, los parámetros que se deben pasar a
la función para que se ejecute.

type nombre Función(parámetros)

estamentos;

La función siguiente devuelve un número entero, delayVal() se utiliza para


poner un valor de retraso en un programa que lee una variable analógica de
un potenciómetro conectado a una entrada de Arduino. Al principio se
declara como una variable local,
´v´ recoge el valor leído del potenciómetro que estará comprendido entre 0 y
1023, luego se divide el valor por 4 para ajustarlo a un margen comprendido
entre 0 y 255, finalmente se devuelve el valor ´v´ y se retornaría al programa
principal. Esta función cuando se ejecuta devuelve el valor de tipo entero ´v´

int delayVal()

int v; // crea una variable temporal 'v'

v= analogRead(pot); // lee el valor del potenciómetro

v /= 4; // convierte 0-1023 a 0-255

return v; // devuelve el valor final

{} ENTRE LLAVES

Las llaves sirven para definir el principio y el final de un bloque de


instrucciones. Se utilizan para los bloques de programación setup(), loop(),
if.., etc.

type funcion()

estamentos;

Una llave de apertura “{“ siempre debe ir seguida de una llave de cierre “}”, si
no es así el programa dará errores.

El entorno de programación de Arduino incluye una herramienta de gran


utilidad para comprobar el total de llaves. Sólo tienes que hacer click en el
punto de inserción de una llave abierta e inmediatamente se marca el
correspondiente cierre de ese bloque (llave cerrada).

VARIABLE

Una variable es una manera de nombrar y almacenar un valor Numérico para


su uso posterior por el programa. Como su nombre indica, las variables son
números que se pueden variar continuamente en contra de lo que ocurre con
las constantes cuyo valor nunca cambia. Una variable debe ser declarada y,
opcionalmente, asignarle un valor. El siguiente código de ejemplo declara
una variable llamada variable Entrada y luego le asigna el valor obtenido en la
entrada analógica del PIN2:

int variableEntrada = 0; // declara una variable y le asigna el valor 0

variableEntrada = analogRead(2);// la variable recoge el valor


analógico del PIN2

BYTES

Byte almacena un valor numérico de 8 bits sin decimales. Tienen un rango


entre 0 y 255

byte unaVariable = 180; // declara 'unaVariable' como tipo byte

INT

Enteros son un tipo de datos primarios que almacenan valores numéricos de


16 bits sin decimales comprendidos en el rango 32,767 to -32,768.

int unaVariable = 1500; // declara 'unaVariable' como una variable


de tipo entero

OPERADORES LOGICOS

Los operadores lógicos son usualmente una forma de comparar dos


expresiones y devolver un VERDADERO o FALSO dependiendo del operador.
Existen tres operadores lógicos, AND (&&), OR (||) y NOT (!), que a menudo
se utilizan en estamentos de tipo if..:

Logical AND:

if (x > 0 && x < 5) // cierto sólo si las dos expresiones son ciertas

Logical OR:

if (x > 0 || y > 0) // cierto si una cualquiera de las expresiones

es cierta

Logical NOT:

if (!x > 0) // cierto solo si la expresión es falsa

HIGH/LOW

Estas constantes definen los niveles de salida altos o bajos y se utilizan para
la lectura o la escritura digital para las patillas. ALTO se define como en la
lógica de nivel 1, ON, ó 5 voltios, mientras que BAJO es lógica nivel 0, OFF, o 0
voltios.

digitalWrite(13, HIGH); // activa la salida 13 con un nivel alto (5v.)

INPUT/OUTPUT

Estas constantes son utilizadas para definir, al comienzo del programa, el


modo de funcionamiento de los pines mediante la instrucción pinMode de tal
manera que el pin puede ser una entrada INPUT o una salida OUTPUT.

pinMode(13, OUTPUT); // designamos que el PIN 13 es una salida

pinMode(PIN,MODE)

Esta instrucción es utilizada en la parte de configuración setup () y sirve para


configurar el modo de trabajo de un PIN pudiendo ser INPUT (entrada) u
OUTPUT (salida).

pinMode(pin, OUTPUT); // configura ‘pin’ como salida

DIGITAL READ(PIN)

Lee el valor de un pin (definido como digital) dando un resultado HIGH (alto)
o LOW (bajo). El pin se puede especificar ya sea como una variable o una
constante (0-13).

valor = digitalRead(Pin); // hace que 'valor sea igual al estado leído

en ´Pin´
DIGITAL WRITE(PIN,VALUE)

Envía al ´pin´ definido previamente como OUTPUT el valor HIGH o LOW


(poniendo en 1 o 0 la salida). El pin se puede especificar ya sea como una
variable o como una constante (0-13).

digitalWrite(pin, HIGH); //deposita en el pin un valor HIGH (alto o 1)

FORMAS DE CONEXIONES DE ENTRADA Y SALIDAS

SALIDAS DIGITALES

Éste es el ejemplo básico equivalente al "hola mundo" de cualquier lenguaje


de programación haciendo simplemente el encendido y apagado de un led.
En este ejemplo el LED está conectado en el pin13, y se enciende y apaga
“parpadea” cada segundo.

La resistencia que se debe colocar en serie con el led en este caso puede
omitirse ya que el pin13 de Arduino ya incluye en la tarjeta esta resistencia,

int ledPin = 13; // LED en el pin digital 13

void setup() // configura el pin de salida

pinMode(ledPin, OUTPUT); // configura el pin 13 como

salida

void loop() // inicia el bucle del programa


{

digitalWrite(ledPin, HIGH); // activa el LED

delay(1000); // espera 1 segundo

digitalWrite(ledPin, LOW); // desactiva el LED

delay(1000); // espera 1 segundo

Aplicaciones de arduino

Existen multitud de entornos de aplicación de arduino; automatización


industrial, domótica herramientas de prototipado, plataforma de
entrenamiento para aprendizaje de electrónica, tecnologías para artistas,
eficiencia energética, monitorización, adquisición de datos, DIY, aprendizaje
de habilidades tecnológicas y programación etc.

En la educación tanto en institutos en secundaria y bachillerato como en


formación profesional y la universidad, arduino ha entrado con mucha fuerza
para entrenar habilidades y como herramientas pedagógicas.

Algunos ejemplos de aplicaciones de arduino:

Arte

Marketing

Impresoras 3D maquinas CNC

Drones y rovers

Robótica

DIY

Domótica
Smart cities

Industria 4.0

Agricultura 2.0

TEMPORIZADOR DE UN LED

Se trabaja en laboratorio con Arduino, se programa en el PC, para que


encienda en 1000ms, se conecta en el pin 13 para que trabaje como HIGH
(encendido) y LOW (apagado) el led. Además, se realizan modificaciones en
el circuito y en la programación se agregan conectores macho/macho en los
pines 11-12 se conecta el negativo en el GND del Arduino uno, se procede a
cargar o ejécutar el programa en Arduino para que enciendan los leds.

//Se ejecuta cada vez que el Arduino se inicia

//Inicializa el pin 13 como una salida

//enciende el led

//Temporiza 1segundo (1s=1000ms)//Apaga


el led//Temporiza 1segundo (1s=1000ms)
CONCLUSIÓN

Las placas de circuito intenso ARDRUINO , son una gran


herramienta en el mundo de la automatización debido a su
gran practicidad a la hora de realizar configuraciones
posibles ,utilizando la gran variedad de periféricos
electrónicos que se le pueden adaptar para realizar
funciones específicas según sea la necesidad .

Al realizar el temporizador led, tuvimos que antes de iniciar


comprobar que todos los elementos con los que fuésemos a
trabajar estuviesen en condiciones óptimas, para así, no
obtener resultados erróneos, luego de proceder a realizar
todas las conexiones debidas procedimos a cargar e iniciar
el código dándonos como resultado el encendido y apagado
de los diodos led de la manera que se esperaba, siendo esta
una prueba exitosa.

S-ar putea să vă placă și