Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Didactic Unit 2
Arduino and its possibilities
Session 2
CONTENT ACHIEVEMENT
void setup() {
Serial.begin(9600);
Serial.println("Hola mundo");
void loop() {
digitalWrite (13,LOW);
delay(1000);
}
Circuit
Pasos
1. Monte el circuito
2. escriba el código en el programa Android
3. guarde el programa con un nombre fácil de recordar.
4 compile el código
5 si hay algún error corrija
6 conecte el Android al PC
7 verifique el puerto
8 cargue el programa al ARDUINO
9 Compruebe funcionamiento
Conclusiones Experimento 1
Preguntas experimento 1
¿Para qué sirve la doble barra oblicua? ( //)
void setup() {
pinMode(rojo1,OUTPUT);
pinMode(amar1,OUTPUT);
pinMode(verde1,OUTPUT);
pinMode(rojo2,OUTPUT);
pinMode(amar2,OUTPUT);
pinMode(verde2,OUTPUT); // definimos todos los pines anteriores como salidas
void loop() {
digitalWrite(verde1, HIGH); //encendemos el verde del 1 y el rojo del 2
digitalWrite(rojo2, HIGH);
delay(2000); // asi durante 2 segundos
digitalWrite(verde1, LOW); //apagamos el verde del 1 y encendemos y apagamos el amarillo 1 5 veces (1 segundo en total)
digitalWrite(amar1, HIGH);
delay(200);
digitalWrite(amar1, LOW);
delay(200);
digitalWrite(amar1, HIGH);
delay(200);
digitalWrite(amar1, LOW);
delay(200);
digitalWrite(amar1, HIGH);
delay(200);
digitalWrite(amar1, LOW);
digitalWrite(rojo1, HIGH); // encendemos el rojo del 1 y apagamos el rojo del 2, encendemos el verde del 2 y esperamos 2 segundos
digitalWrite(rojo2, LOW);
digitalWrite(verde2, HIGH);
delay(2000);
digitalWrite(verde2, LOW);// apagamos el verde del semaforo 2 y hacemos con el amarillo lo mismo que hicimos en el semáforo 1
digitalWrite(amar2, HIGH);
delay(200);
digitalWrite(amar2, LOW);
delay(200);
digitalWrite(amar2, HIGH);
delay(200);
digitalWrite(amar2, LOW);
delay(200);
digitalWrite(amar2, HIGH);
delay(200);
digitalWrite(amar2, LOW);
Code……
digitalWrite(rojo1, LOW); // apagamos el rojo del semaforo 1, en este momento se completa la secuencia y se puede recomenzar encendiendo el
verde del 1
}
Circuit:
Conclusiones experimento 2
Pegue una imagen de los miembros del equipo trabajando
¿Considera que cuando cada miembro del equipo hace una función distinta, todos pueden
aprender?
Indique que roles están teniendo los miembros del equipo ( p.e quien lidera, quien programa,
quienes están cableando el circuito, etc)
¿En que se han basado para saber quién se encarga de estos roles?
Preguntas experimento 2
¿Porque es necesario escribir tantas veces delay?
En este experimento usaremos el estado de dos botones cuando ambos estén presionados,
el LED encenderá, de resto no lo hará, (opera el mismo principio de la compuerta AND)
Code
Circuit
Conclusiones experimento 3
Preguntas
//constantes
//variables
void setup() {
void loop(){
for(brillo =0; brillo < 256; brillo++) { //Creamos un bucle for, para que el valor i vaya aumentando progresivamente hasta llegar a 255.
//Se pone hasta 256, porque arduino solo toma una cuarta parte de 1023, que es 256.
analogWrite(led, brillo);//Decimos que es una salida analogica por lo que puede cambiar los voltajes que salen del pin entre 0(Minimo) y
255(maximo).
delay(12);//Cada ves que sube un valor de i tarda 12 milisegundos, y como tiene que hacer 256, tardara aproximadamente 3 segundos en
encenderce completamente.
for(brillo=255; brillo >= 0; brillo--){//Creamos ahora un bucle de for alcontrario que el anterior para que descienda la luz del led(la i)
progresivamente hasta apagarse.
analogWrite(led, brillo);
delay(12);
}
Circuit
Conclusión:
Servo miServo;
void setup(){
Circuito
Practica 5B control del servo con el teclado del PC
Mediante este programa aumentaremos o disminuiremos el ángulo del servomotor con las
teclas a para aumentar y z para disminuir, recordemos que el servo tiene límites entre 0 y
180 grados para operar
Debo desconectar temporalmente el servo del programa anterior para cargar un nuevo
programa de servo
Aquí debemos habilitar el monitor serial del programa (menú herramientas), monitor Serie
Una vez el programa este cargando desde esta ventana podremos dar los comandos para
aumentar o disminuir
Código
#include <Servo.h>
Servo miServo;
int angulo=90;
void setup(){
miServo.attach(9);
Serial.begin(9600);
void loop(){
comando=Serial.read();//leemos el byte
if(comando=='a')angulo+=10;//incrementamos 10
else if(comando=='z')angulo-=10;//decrementamos 10
miServo.write(angulo);
Serial.print("Angulo:");Serial.println(angulo);
delay(100);
}//End loop
¿Cuáles fueron los aprendizajes más importantes de esta sesión?
¿En su concepto que tipo de cosas se requieren para que se pueda dar un aprendizaje
colaborativo?
Como grupo deben indagar sobre un proyecto con ARDUINO distinto a los ya vistos y
elaborarlo para la próxima sesión,
Se hará este proyecto:
Semáforo con Arduino
Link: https://www.youtube.com/watch?v=ceMkvShbViw