0% encontró este documento útil (0 votos)
115 vistas

1 Arduino

El documento introduce Arduino, una plataforma de desarrollo electrónico multiplataforma. Explica que Arduino es open hardware y permite programación C++ para crear alarmas, sistemas de comunicación, redes de sensores y robótica sencilla de manera económica. Describe las características del Arduino UNO y otras placas de la familia Arduino, y presenta conceptos básicos de electrónica como alimentación, señales y circuitos simples.

Cargado por

Billy Viteri
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
115 vistas

1 Arduino

El documento introduce Arduino, una plataforma de desarrollo electrónico multiplataforma. Explica que Arduino es open hardware y permite programación C++ para crear alarmas, sistemas de comunicación, redes de sensores y robótica sencilla de manera económica. Describe las características del Arduino UNO y otras placas de la familia Arduino, y presenta conceptos básicos de electrónica como alimentación, señales y circuitos simples.

Cargado por

Billy Viteri
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 28

Introducción a

Arduino
VÍCTOR HUGO CABRERA
¿Que es Arduino?
Plataforma de desarrollo de productos
electrónicos.
Multiplataforma (Linux, Mac y Windows).
Alarmas y Sistemas de comunicaciones.
Redes de sensores.
Robótica sencilla.
¿Para que sirve Arduino?
Open Hardware.
Programación C++
Económico.
Muchos ejemplos en Internet.
Comunidad muy activa.
Características de Arduino
UNO
Microcontrolador Atmega 328 @ 16MHz.
Voltaje de trabajo 5v.
Tensión de alimentación 7v-12v.
Conexión USB.
16 Entradas/salidas digitales (DIO).
6 Entradas analógicas.
Corriente máxima de 40 mA.
Familia Arduino

Arduino UNO Arduino LyliPad Arduino Mega 2560

Arduino FIO Arduino PRO Arduino Mega ADK


Conceptos
básicos
de electrónica
• ALIMENTACIÓN Y TIERRA

• TIPOS DE SEÑALES

• CIRCUITOS BÁSICOS
Alimentación y tierra
Todos los circuitos tiene dos
conexiones: (+) y (-)
Ningún circuito puede tener una
única conexión.
Los circuitos tienen que estar
alimentados para funcionar.
Tipos de señales
Señales analógicas:
◦ Pueden tener cualquier valor
dentro de un rango.
◦ En Arduino entre 0 y 5 v

Señales digitales:
◦ Tienen dos estados:
◦ High (H) entre 4,5 y 5,3 v
◦ Low (L) entre -0,3 y 0,5v
Circuitos básicos

Conexión de un LED Conexión de un botón

Conexión de un relé Conexión de un altavoz


Toma de contacto
• INSTALACIÓN DEL SOFTWARE

• ENTORNO DE DESARROLLO

• CONFIGURACIÓN DEL PUERTO USB

• COMPILACIÓN
Instalación del software
Descargamos la última versión de: http://www.arduino.cc/es
Descargar e instalar Java
El software consta de dos partes_
◦ Entorno de desarrollo
◦ Puerto virtual FTDI (Serie)
Módulos
Shields Arduino

Motores Relés Matriz de leds

WiiChuck Midi GPS


Familia Arduino

Display 7 segmentos Arduino LyliPad


Display LCD Alfanum. Display LCD Matricial

Ethernet Arduino PRO Arduino Mega ADK


Simulador
Simulador
https://www.tinkercad.com/
Programación de
Arduino
• BLOQUES BÁSICOS

• INSTRUCCIONES BÁSICAS

• ESTRUCTURAS DE CONTROL

• PRIMER PROGRAMA
Bloques básicos de código
Se ejecuta
una sola vez

Se ejecuta
infinitamente
Instrucciones básicas
pinMode(nº Pin, Configuración)
◦ nº Pin: entre 0 y 13.
◦ Configuración: INPUT o OUTPUT

digitalWrite(nº Pin, Estado)


◦ nº Pin: entre 0 y 13.
◦ Estado: HIGH o LOW

digitalRead(nº Pin)
◦ nº Pin: entre 0 y 13.

analogRead(nº Pin);
◦ nº Pin: entre 0 y 5.
Instrucciones básicas
Serial.begin(Velocidad)
◦ Velocidad: típicamente 9600.

Serial.println(Variable)
◦ Variable: Dato a mandar

Serial. read()
Delay(ms)
◦ ms: Tiempo de espera en milisegundos.

Todas las funciones en:


http://arduino.cc/es/Reference/HomePage
Led intermitente
Se trata de realizar un
ejercicio básico que
consiste en encender y
apagar un led que
conectamos en el PIN 13
de Arduino que lo
configuramos como
salida. El tiempo de
encendido y apagado es
de 1 segundo.
Led intermitente
int ledPin = 13; seg. (tiempo apagado)
void setup() { }
pinMode(ledPin, OUTPUT); void loop()
// Definición de la salida en el PIN {
13 //Configuración
digitalWrite(ledPin, HIGH);
// designa la salida digital al PIN
13 delay(1000);
// bucle de funcionamiento digitalWrite(ledPin, LOW);
// activa el LED // espera 1 seg. delay(1000);
(tiempo encendido) }
// desactiva el LED // espera 1
Pulsador
Cuando se pulsa el pulsador (entrada5 a “0”) se enciende y se apaga de
forma intermitente la salida 13
Pulsador
#define LED 12 {
#define BUTTON 7 if ( digitalRead(BUTTON) == HIGH )
void setup() {
{ digitalWrite(LED, HIGH); // turn on
the LED
pinMode(LED, OUTPUT); // output
for the LED delay(500); // wait for 0.5 seconds
pinMode(BUTTON, INPUT); // input digitalWrite(LED, LOW); // turn off
for the button the LED
} }
void loop() }
Secuencia de Leds
Se trata de encender y
apagar 3 LEDs colocados
en las salidas 6, 7 y 8
(PIN6, PIN7 y PIN8) con
una cadencia de 200 ms.
Las variables asignadas a
cada led son ledPin1,
ledPin2 y ledPin3.
Secuencia de Leds
// Encendido y apagado de 3 LEDs digitalWrite(ledPin3, LOW); }
int ledPin1 = 6; // Define las salidas de los void loop(){ //Bucle de Funcionamiento
LED ́s
digitalWrite(ledPin1, HIGH); // Apaga y
int ledPin2 = 7; enciende los leds cada 200 ms delay(200);
int ledPin3 = 8; digitalWrite(ledPin1, LOW);
void setup() { // Configura las SALIDAS digitalWrite(ledPin2, HIGH);
pinMode(ledPin1, OUTPUT); // declarar delay(200);
LEDs como SALIDAS
digitalWrite(ledPin2, LOW);
pinMode(ledPin2, OUTPUT);
digitalWrite(ledPin3, HIGH);
pinMode(ledPin3, OUTPUT);
delay(200);
digitalWrite(ledPin1, LOW); // Apaga los
LEDs digitalWrite(ledPin3, LOW);
digitalWrite(ledPin2, LOW); }
Indicador Nivel
Se trata de construir u
indicador de nivel que sea
capaz de medir el valor de una
señal de entrada generada por
un potenciómetro desde una
entrada analógica.
Se establecerán 3 diodos Led
conectados a las salidas PIN6,
PIN7 y PIN8. La entrada la
conectaremos en la entrada
analógica PIN 1 (analog IN1)
Indicador Nivel
int ledPin1 = 8; // Selección de PIN para cada LED turn_off(); //
int ledPin2 = 7; }
int ledPin3 = 6; void loop()
int inPin= 1; // selecciona la entrada analógica 1 { int val;
(potenciómetro)
val= analogRead(inPin); // lee el valor de la señal
void turn_off() { //Apaga los 3 LEDS analógica
digitalWrite(ledPin1, LOW); turn_off(); apaga los tres LED
digitalWrite(ledPin2, LOW); // Si el valor de la señal medida es > 256 enciende
LED del PIN8
digitalWrite(ledPin3, LOW);
if (val>= 256) digitalWrite(ledPin1, HIGH);
}
// Si el valor de la señal medida es > 512 enciende
void setup() { LED del PIN7

pinMode(ledPin1, OUTPUT); // declara LEDs como if (val>= 512) digitalWrite(ledPin2, HIGH);


salidas
// Si el valor de la señal medida es > 758 enciende
pinMode(ledPin2, OUTPUT); LED del PIN6

pinMode(ledPin3, OUTPUT); if (val>= 768) digitalWrite(ledPin3, HIGH); }

También podría gustarte