Taller de Introducción a laRobótica
Docentes:Airaldi, Guillermo - De Los Campos, Pablo
Taller 2
Colegio Santa MaríaHermanos Maristas
20 de Agosto de 2014
(TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 1 / 10
Esquema de la presentación
1 Pines de entrada analógicos
2 Salidas PWM del Arduino
3 Ejemplo
4 Ejercicio
(TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 2 / 10
Esquema de la presentación
1 Pines de entrada analógicos
2 Salidas PWM del Arduino
3 Ejemplo
4 Ejercicio
(TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 3 / 10
Manejo de pines de entrada analógicos
Los pines analógicos (A0 a A5) sólo sirven para leer señales. No sirven paraescribir.Posee un convertidor Analógico/Digital (A/D), que retorna valores de 0 a1023. (10 bits �> 210 �> 1024 valores)Se usa función analogRead(int pinAna) para leer este tipo de pines.
int valor; //variable que almacena que lo que se lee en un pin
setup() {//no se inicializa nada
}
loop() {valor = analogRead(A1); //en valor se almacena algun valor entre 0 y
1023}
(TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 4 / 10
Esquema de la presentación
1 Pines de entrada analógicos
2 Salidas PWM del Arduino
3 Ejemplo
4 Ejercicio
(TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 5 / 10
Manejo de pines digitales con PWM
Las salidas PWM (∼) pueden sacar 0V y 5V por formar parte de los pinesdigitales, pero también permiten entregar 256 valores entre 0V y 5V .
Se usa función analogWrite(int pinPWM, int valor) para escribir eneste tipo de pines. Donde pinPWM es el numero del pin con PWMutilizado y valor es un número entre 0 y 255.
Si el valor es 0, sacará 0V , si es 255 sacará 5V y en otro caso, los valoresintermedios correspondientes.
(TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 6 / 10
Esquema de la presentación
1 Pines de entrada analógicos
2 Salidas PWM del Arduino
3 Ejemplo
4 Ejercicio
(TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 7 / 10
Código de ejemplo
int pwmPin = 9; //pin de salida digital que soporta PWMint analogPin = A0; //pin de entrada analógicoint valorAux = 0; //variable auxiliar usada para almacenar lo que se lee ylo que se escribeint volt = 0; //variable para almacenar voltaje leido
void setup() {pinMode(pwmPin, OUTPUT); //con�gura pin 9 como salida
}void loop() {
valorAux = analogRead(analogPin); //se lee entrada analógicavolt = (5.0 * valorAux) /1023; //se calcula el voltaje leidovalorAux = (255 * volt) / 5); //se calcula el valor a sacar que se
corresponde con el voltaje leidoanalogWrite(pwmPin, valorAux); //escribe el valor correspondiente
}
(TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 8 / 10
Esquema de la presentación
1 Pines de entrada analógicos
2 Salidas PWM del Arduino
3 Ejemplo
4 Ejercicio
(TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 9 / 10
Ejercicio 1
Nuevamente se trabajará con un led y resistencias. Se usaran pinesanalógicos para la entrada y pines con PWM para la salida.El objetivo es poder controlar el brillo de un led.Nota 1: Antes de comenzar se verá el conexionado a realizar. Para logrardicho conexionado se debe tener presente el concepto de divisor de voltaje(y su implementación con resistencias) y entender que es y como trabajaun potenciometro.Nota 2: Para la programación del código, se tomará como base el ejemploanterior.
(TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 10 / 10