Arduino FCE
Arduino FCE
Arduino FCE
abierta
Robot Manipulators
Microcontrolador ATmega328
Voltaje de operación 5V
Voltaje de entrada (recomendada) 7-12V
Voltaje de entrada (límites) 6-20V
Pines Digitales E/S 14 (de los cuales 6 proveen salidas PWM )
Pines de entradas Analógicas 6
Corriente DC por pin E/S 40 mA
Corriente DC para pin 3.3V 50 mA
Memoria Flash 32 KB de los cuales 0.5 KB son usados para bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Frecuencia del reloj 16 MHz
Antes de comenzar
ENTORNO DE DESARROLLO
Para programar la placa es necesario
descargarse de la página web de
Arduino
(http://www.arduino.cc/en/Main/Softw
are) el entorno de desarrollo (IDE).
int ledPin = 13
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop()
{
digitalWrite(ledPin, HIGH)
delay(1000)
digitalWrite(ledPin, LOW)
delay(1000)
}
Analog In - Entradas análogas
Pins análogos son entradas análogas. Reciben tensiones entre 5V y 0 voltios. Los
pines análogos, al contrario de los digitales, no necesitan ser declarados como
modo INPUT o OUTPUT .
Conversión análogo digital o ADC (analog to digital converter)
convertir tensiones de 0 a 5 voltios en números enteros que van del 0 al 1023. En
otras palabras, representa la información en números de 10 bits.
Comandos básicos
analogRead(pin), Lee o captura el valor de entrada del especificado pin análogo.
Placa Arduino realiza una conversión análoga a digital de 10 bits. Esto quiere decir
que mapeará los valores de voltaje de entrada, entre 0 y 5 voltios,
a valores enteros comprendidos entre 0 y 1023.
Analog In - Comunicación Serial
Esto nos permite comunicarnos con un computador e intercambiar datos o
siemplemente monitorear que pasa con el sketch que esta corriendo en
Arduino.
Podemos visualizar los datos procedentes de la tarjeta usando
Monitorización del Puerto Serie (último botón a la derecha).
Comandos básicos:
Serial.begin
configura el puerto serie a una velocidad determinada. Se expresa en bits por
segundo. Va en el setup().
Serial.print()
Descompone un número obtenido de un sensor, por ejemplo, en símbolos ASCII
y los lanza uno a uno por el puerto serie en modo de caracteres ASCII. Por
ejemplo, el número 100 se representará con la secuencia de números ASCII: 49,
48, 48.
Serial.println(): lanza el valor 13, que quiere decir retorno de carro y el valor 10
que quiere decir fin o salto de línea por el puerto serie.
// señal PWM //
void setup() {
void loop() {
}
Analog Out - PWM
Ahora cambia los números del LED en 1/4 del tiempo en que esta
off. Has correr el sketch y veras que el brillo es de 25%. Esta técnica
se llama pulse width modulation (PWM), la idea es que el LED blinkea
tan rápido que no te das cuenta, pero cambias su rango de brillo
entre el tiempo on y el tiempo off. También se aplica a motores y es
controlada con la instrucción analogWrite()
P1. Manejo de una salida digital. Intermitente (*BLINK).
Pines digitales son salidas o entradas que reciben niveles altos (5V)
o bajos (0V) de tensión y que son interpretados como un 1 o un 0
respectivamente.
Pins digitales (pines análogos no necesitan ser declarados como modo INPUT o OUTPUT) son
salidas o entradas digitales, esto es niveles altos (5V) o bajos (0V) de tensión que pasan por
cada uno de los pines excepto los pines 0 (TX) y 1 (RX) que se emplean para la
comunicación en serie o comunicación de Arduino con otros dispositivos.
Para controlar estas salida /entradas, se utilizan ciertos comandos:
pinMode
digitalWrite
delay
digitalWrite(LED, LOW)
digitalWrite(LED, HIGH)
Ejemplo en código
void setup()
{
pinMode(ledPin, OUTPUT); // configura el pin 13 como salida
pinMode(inPin, INPUT); // configure el pin 7 como entrada
}
void loop()
{
val = digitalRead(inPin); // Lee el valor del pin 7
digitalWrite(ledPin,val); // Enciende el LED si el pulsador está
presionado
}
Arduino conectado a un
MOSFET (IRF250)
Int MotorPin = 9;
void setup()
{
// configura el pin 9
como salida
pinMode(MotorPin,
OUTPUT);
}
void loop()
{
// Enciende el Motor
digitalWrite(ledPin,val);
}
Manejo de una entrada digital, lectura de un pulsador
Recordemos que a
diferencia de esta
imagen utilizaremos
el led incorporado
en la placa.
Código para Lectura del pulsador
void setup() {
pinMode(ledPin, OUTPUT); // declara el LED como salida
pinMode(inPin, INPUT); // declara el pulsador como entrada
}
void loop() {
val = digitalRead(inPin); // Lee el valor del pulsador
if (val == HIGH) // verifica si la entrada es HIGH (Pulsador sin presionar)
{
digitalWrite(ledPin, LOW); // apaga el LED
}
else
{ digitalWrite(ledPin, HIGH); // Enciende el LED
}
}
Control de un relé
Este sencillo ejemplo enseña como encender una ampolleta de
220V de corriente alterna (AC) mediante un circuito de 5V de
corriente continua (DC) controlado por Arduino. Se puede utilizar
con cualquier otro circuito de 220V con un máximo de 10A (con
el relé del ejemplo).
o transistor NPN
codigo Control de un relé
void setup()
{
pinMode(relayPin, OUTPUT); //Configura el Pin8 como sali
}
void loop()
{
digitalWrite(relayPin, HIGH); // ENCENDIDO
delay(2000);
digitalWrite(relayPin, LOW); // APAGADO
delay(2000);
}
Control de un relé
Elementos analógos de entrada
void loop()
{
val = analogRead(analogPin); // Lee el pin de
entrada (valor entre 0 a 1023)
}
Arduino y sus entradas analógicas
void setup()
{
pinMode(ledPin, OUTPUT); // ledPin output
}
void loop()
{
val = analogRead(potPin); // lee valor del
sensor
digitalWrite(ledPin, HIGH); // enciende LED
delay(val); //detiene el programa por un
tiempo
// determinado por la variable
digitalWrite(ledPin, LOW); // apaga el LED
delay(val); //detiene el programa por un
tiempo
// determinado por la variable
}
Midiendo Luz con Arduino
Listado de componentes:
* 1 LDR
* 1 Resistencia de 1kΩ
* Un par de cables
void setup() {
void loop() {