Documente Academic
Documente Profesional
Documente Cultură
Recordemos un poco.
A pedido del pblico haremos un refresh de todo lo que hemos visto de Arduino
hasta ahora y agregaremos cdigo nuevo, esquemticos nuevos, entre otros.
COMENCEMOS!
void loop() {
/* Y aqu colocamos la parte funcional del cdigo.
Secuencias, activacin o desactivacin de pines, envio y
recepcin de datos, etc */
}
Variables:
void setup() {
...
}
void loop () {
...
}
/* Declarando caracteres:
Usualmente usado para almacenar
estados */
char estado = a;
void setup() {
...
}
void loop () {
...
}
/* Declarando booleanos
void setup() {
...
}
void loop () {
...
}
Estructuras de Control:
Esto usaremos para hacer condiciones en nuestra programacin o tambien para
hacer nuestros sensuales bucles.Entre los ms usados tenemos:
if
Switch/case
For
While
TeoraProgramacin en Arduino.
Condicionales
/* Usando el if/else
void setup() {
...
}
void loop() {
if (valor_entrada < 100) {
// Accin 1
} else if{
// Accin 2
} else {
// Accin 3
}
}
// Usando el Switch/case
void setup() {
...
}
void loop() {
switch(var){
case 1:
// Accin 1
break;
case 2:
// Accin 2
break;
case 3:
// Accin 3
break;
}
Bucles
// Usando el For
void setup() {
...
}
void loop() {
for (int a=0; a < 10; a++){
/* Accin a repetir mientras
que a < 10 (tambien se puede
interpretar como un desde...
hasta ...)*/
}
}
// Usando el while
void setup() {
...
}
void loop() {
while (var < 50){
/* Accin a repetir mientras que var < 10
(tambien se puede interpretar como un
mientras que...)*/
var++;
}
}
Funciones
Son aquellas lneas de cdigo que me haran una tarea en especfica, a su vez
son capaces de retornar valores. Para finalizar la teora veremos dos tipos de
funciones: Funciones analgicas y Funciones digitales.
Funciones Digitales
/* Funcin pinMode: Configura el modo
del Pin como entrada o salida
(Input o Output) */
void setup {
pinMode(led,OUTPUT);
// El pin 13 configurado como
salida
}
void loop {
...
}
/* Funcin digitalRead: Nos permite
la lectura digital de un pin
(lee un '0' o un '1') */
int val_entrada;
void setup {
...
void loop {
val_entrada = digitalRead (13);
// Leera el estado digital ingresante
en el pin 13
}
/* Funcin digitalWrite: Le otorga un
estado de '0' y '1' al pin asignado
(Encendido o Apagado, HIGH o LOW) */
void setup {
...
}
void loop {
digitalWrite(led,HIGH);
// Emite un pulso ALTO al pin 13
// HIGH: Encendido, LOW: Apagado
}
Funciones Analgicas
/* Funcin analogRead: Lee un valor entre 0
a 1023 en uno de los pines analgicos */
int a;
void setup() {
...
}
void loop() {
int a = analogRead(A0);
}
/* Funcin analogWrite: Escribe un valor de 0
a 255 en uno de los pines analgicos.
Usado usualmente para control de motores */
void setup() {
...
}
void loop() {
analogWrite(9,134);
//9 es el Pin, 134 es el valor Analogo escrito
}
Te hemos brindado varias estructuras de cdigo para que se nos haga ms facil
entender cdigos ms grandes, librerias, aportes de otras personas, etc. Para la
parte practica empezaremos a revisar cdigos que nos ayudara en el
funcionamiento de diversas cosas electrnicas. Puedes dare click en el botn de
abajo para pasar a la parte practica del curso.
Rpta: Para esto nos apoyaremos de la ayuda de los ultrasonidos. Este emite un
pulso ultrasonico (LOL) imperceptible por el odo humano, y lo recepciona. En
base a frmulas podemos calcular que distancia a recorrido.
Hay dos formas de usar los ultrasonidos, la primera por cdigo desarrollado por
nosotros mismos y la segunda es usando libreras.
a. Ultrasonido a lo rstico: Para poder usar este cdigo clickea AQU.
(http://elcajondeardu.blogspot.pe/2014/03/tutorial-sensor-ultrasonidos-hcsr04.html) La ventaja de usar este cdigo es que es facilmente entendible.
b. Ultrasonido por Librera: Y para esta forma de usar el ultrasonido
clickeen Aqu.( http://www.geekfactory.mx/tutoriales/tutoriales-arduino/sensorultrasonico-hc-sr04-y-arduino/) Requiere instalar la librera NewPing. La ventaja
de usar esta forma es que nos permite el multitareas, en otras palabras
podemos ir trabajando cdigo en simultneo sin interrupciones.
Ejemplo:
char dato;
dato = Serial.read();
El reto de esta semana es: Usando un RGB, variar el color usando
solo UN potencimetro.
2.
Cuando envas una letra 'r' por el monitor serial, almacena ese valor, y lo
escribe (analogWrite())en un pin que maneja el color rojo en el led RGB.
3.
Si escribo la letra 'g' lo imprime en el 2do pin que maneja el color verde.
4.
Si escribo la letra 'b' lo imprime en el 3er pin que maneja el color azul.
Recuerda poner una resistencia por cada pin del led, y que un RGB funciona
como 3 leds en uno. Al variar la intensidad en cada uno, se pueden obtener
combinaciones de colores. Este ejercicio no es particularmente complicado,
pero es un reto que les ensear a trabajar con el puerto serial.
Puedes entregar el reto tomandole fotos a tu proyecto hecho y adems a tu
cdigo utilizado.