BSICO
EJEMPLOS BSICOS
Carlos Prez
www.TecBolivia.com
LENGUAJE ARDUINO
USO DE LOS PINES DIGITALES
pinMode(pin, mode)
pin: es el nmero del pin en la placa Arduino (0 13)
mode: es el modo de trabajo del pin (INPUT, OUTPUT)
digitalRead(pin)
digitalWrite(pin, value)
value: es el estado de salida (solo funciona cuando est
BLINK
El programa BLINK es el
parpadeo de un LED a un
intervalo de un segundo.
QU ES UN LED?
Diodo Emisor de Luz
Es un componente
optoelectrnico pasivo es
decir, un diodo que emite
luz.
Es un semiconductor, solo
RESISTENCIA DE PROTECCIN
La intensidad del LED est
BLINK
delay(ms)
Detiene el Arduino la cantidad de tiempo en milisegundos
(ms) especificada.
Por ejemplo para un retardo de un segundo se especifica la
cantidad 1000
Para retados de menos de un milisegundo, se especifica la
CIRCUITO BLINK
BLINK
int led = 13;
void setup() {
// Funcin de inicializacin
pinMode(led, OUTPUT);
void loop() {
// Funcin principal.
digitalWrite(led, HIGH);
// Encender led
delay(1000);
// Esperar 1 segundo
digitalWrite(led, LOW);
// Apagar led
delay(1000);
// Esperar 1 segundo
}
2011 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
// Reiniciar ciclo.
CIRCUITO BUTTON
BUTTON
const int buttonPin = 2;
// Botn. Constante
// Led. Constante
13;
int buttonState = 0;
// Funcin de inicializacin
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
BUTTON
void loop(){
/* Lectura del puerto del botn. Si el botn est presionado
buttonState ser HIGH, si no est presionado ser LOW */
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
else {
digitalWrite(ledPin, LOW);
}
}
2011 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
// Si no est presionado
// Apagar Led
LIBRERA SERIAL
Arduino cuenta con un convertidor USB a serial.
Los pines de Comunicacin (Rx / Tx) estn en los pines 0 y 1 del
LIBRERA SERIAL
Para definir el uso de un puerto Serial, el Arduino requiere la
velocidad en baudios.
Un baudio representa el nmero de smbolos por segundo
LIBRERA SERIAL
Serial.begin(speed)
Se define la velocidad en Baudios (speed) de la comunicacin serial
Serial.end()
Termina la comunicacin Serial del Arduino.
2011 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
LIBRERA SERIAL
Serial.print(val)
Enva a la terminal de comunicaciones, el contenido del dato
imprime "78
Serial.print(1.23456)
Serial.print('N')
imprime "1.23
imprime "N
Serial.print("Hello world.")
2011 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
LIBRERA SERIAL
Serial.print(val,format)
El segundo parmetro define el formato en que ser imprimido el
dato.
LIBRERA SERIAL
Serial.println(val)
Serial.println(val,format)
Utiliza los mismos parmetros que la versin print con la diferencia
Serial.flush()
Limpia el buffer de entrada
2011 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
HOLA MUNDO
void setup(){
Serial.begin(9600);
}
// Inicio de la comunicacin
// Serial
void loop(){
Serial.print("Hola mundo"); // Impresin texto
while(true);
}
// Ciclo infinito.
QU ES POTENCIMETRO?
Es una resistencia variable
Es utilizado para variar el
flujo de corriente en un
circuito
LENGUAJE ARDUINO
USO DE LOS PINES ANALGICOS
Los puertos analgicos utilizan la letra A antepuesta al nmero de
puerto.
No tienen configuracin de entrada o salida.
Los puertos analgicos del Arduino (A0, A1, A2, etc.) son siempre
de entrada.
Tiene una resolucin de 10 bits o 1024 valores (0 1023), el valor
mnimo que puede detectar es 5V/1024 4,9mV por unidad.
analogRead(pin)
pin: es el nmero del puerto analgico. Siempre lleva la letra 'A'
antes del nmero de puerto.
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
LENGUAJE ARDUINO
USO DE LOS PINES ANALGICOS
Las salidas
analgicas del
Arduino son las
salidas PWM (PulseWidth Modulation)
que modifican el
ancho de pulso de
un tren de pulsos
cuadrado.
LENGUAJE ARDUINO
USO DE LOS PINES ANALGICOS
Los Puertos digitales con el smbolo '~' tambin funcionan
ANALOG INPUT
ANALOG INPUT
int sensorPin = A0;
// Se utiliza el puerto A0
// como puerto de lectura.
// Led en el pin 13
int sensorValue = 0;
void setup() {
pinMode(ledPin, OUTPUT);
}
ANALOG INPUT
void loop() {
sensorValue = analogRead(sensorPin);
// Leer sensor
digitalWrite(ledPin, HIGH);
// Encender Led
// Apagar Led
escala de datos.
Agrupa valores de una escala grande para emparejarlos
int sensorValue = 0;
int outputValue = 0;
void setup() {
// Se inicia la comunicacin serial a 9600 baudios:
Serial.begin(9600);
}
2011 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
analogWrite(analogOutPin, outputValue);
Serial.print("sensor = " );
Serial.print(sensorValue);
Serial.print("\t output = ");
Serial.println(outputValue);
delay(2); // Retardo para el conversor anlogo digital
}
2011 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
TALLER DE ARDUINO
BSICO
PREGUNTAS
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
ANEXOS
CLCULO DE LA RP
En trminos generales, pueden considerarse de forma aproximada
51,8
20
= 160 220
13;
long previousMillis = 0;
// ltimo conteo.
void setup() {
pinMode(ledPin, OUTPUT);
}
2011 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
previousMillis = currentMillis;
if (ledState == LOW)
else
ledState = LOW;
digitalWrite(ledPin, ledState);
}
2011 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
ledState = HIGH;
// Diferencia de 1000