Taller de Introducción a la 
Robótica 
Docentes: 
Airaldi, Guillermo - De Los Campos, Pablo 
Taller 2 
Colegio Santa María 
Hermanos 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 para 
escribir. 
Posee un convertidor Analógico/Digital (A/D), que retorna valores de 0 a 
1023. (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 pines 
digitales, pero también permiten entregar 256 valores entre 0V y 5V. 
Se usa función analogWrite(int pinPWM, int valor) para escribir en 
este tipo de pines. Donde pinPWM es el numero del pin con PWM 
utilizado 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 valores 
intermedios 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 PWM 
int analogPin = A0; //pin de entrada analógico 
int valorAux = 0; //variable auxiliar usada para almacenar lo que se lee y 
lo que se escribe 
int volt = 0; //variable para almacenar voltaje leido 
void setup() { 
pinMode(pwmPin, OUTPUT); //congura pin 9 como salida 
} 
void loop() { 
valorAux = analogRead(analogPin); //se lee entrada analógica 
volt = (5.0 * valorAux) /1023; //se calcula el voltaje leido 
valorAux = (255 * volt) / 5); //se calcula el valor a sacar que se 
corresponde con el voltaje leido 
analogWrite(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 pines 
analó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 lograr 
dicho conexionado se debe tener presente el concepto de divisor de voltaje 
(y su implementación con resistencias) y entender que es y como trabaja 
un potenciometro. 
Nota 2: Para la programación del código, se tomará como base el ejemplo 
anterior. 
(TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 10 / 10

Clase 2 - Taller de Intrucción a la robótica con Arduino

  • 1.
    Taller de Introduccióna la Robótica Docentes: Airaldi, Guillermo - De Los Campos, Pablo Taller 2 Colegio Santa María Hermanos Maristas 20 de Agosto de 2014 (TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 1 / 10
  • 2.
    Esquema de lapresentació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
  • 3.
    Esquema de lapresentació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
  • 4.
    Manejo de pinesde entrada analógicos Los pines analógicos (A0 a A5) sólo sirven para leer señales. No sirven para escribir. Posee un convertidor Analógico/Digital (A/D), que retorna valores de 0 a 1023. (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
  • 5.
    Esquema de lapresentació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
  • 6.
    Manejo de pinesdigitales con PWM Las salidas PWM () pueden sacar 0V y 5V por formar parte de los pines digitales, pero también permiten entregar 256 valores entre 0V y 5V. Se usa función analogWrite(int pinPWM, int valor) para escribir en este tipo de pines. Donde pinPWM es el numero del pin con PWM utilizado 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 valores intermedios correspondientes. (TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 6 / 10
  • 7.
    Esquema de lapresentació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
  • 8.
    Código de ejemplo int pwmPin = 9; //pin de salida digital que soporta PWM int analogPin = A0; //pin de entrada analógico int valorAux = 0; //variable auxiliar usada para almacenar lo que se lee y lo que se escribe int volt = 0; //variable para almacenar voltaje leido void setup() { pinMode(pwmPin, OUTPUT); //congura pin 9 como salida } void loop() { valorAux = analogRead(analogPin); //se lee entrada analógica volt = (5.0 * valorAux) /1023; //se calcula el voltaje leido valorAux = (255 * volt) / 5); //se calcula el valor a sacar que se corresponde con el voltaje leido analogWrite(pwmPin, valorAux); //escribe el valor correspondiente } (TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 8 / 10
  • 9.
    Esquema de lapresentació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
  • 10.
    Ejercicio 1 Nuevamentese trabajará con un led y resistencias. Se usaran pines analó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 lograr dicho conexionado se debe tener presente el concepto de divisor de voltaje (y su implementación con resistencias) y entender que es y como trabaja un potenciometro. Nota 2: Para la programación del código, se tomará como base el ejemplo anterior. (TIR-CSM-HHMM) Taller de Introducción a la Robótica 20 de Agosto de 2014 10 / 10