Beruflich Dokumente
Kultur Dokumente
EN CELAYA
Ingeniería Mecatrónica
Práctica 1
“Contador binario”
Resumen – Esta práctica el pretende reforzar y ampliar los conocimientos básicos de
programación y dar una introducción al entorno de desarrollo integrado (IDE) de Arduino y
diseñar circuitos eléctricos básicos.
/**************************************
* Hernández Esqueda Miguel Alejandro *
* Ing. Mecatronica *
* Práctica 1 contador binario *
**************************************/
/*Al inicio del programa se declaran las
* variables que se requieren.
*/
int contador=0;
int led[4]={4,5,6,7};
int contador_inc=2, contador_dec=3;
void setup() {
Serial.begin(9600);
pinMode(contador_inc,INPUT);
pinMode(contador_dec,INPUT);
pinMode(led,OUTPUT);
}
/* en el void loop() es el equivalente del main en C
*con la diferencia de que es se te repite infinidad de veces
*/
void loop() {
if(digitalRead(contador_inc)==HIGH and digitalRead(contador_dec) ==
LOW) {
delay(400);
if (contador<15){
contador++;
codificador(contador);
}
}
if(digitalRead(contador_inc)==LOW and digitalRead(contador_dec)
==HIGH){
delay(400);
if (contador>0){
contador--;
codificador(contador);
}
}
}
void codificador(int ctn){
switch(ctn){
case 1: digitalWrite(led[3],HIGH);
digitalWrite(led[2],LOW);
digitalWrite(led[1],LOW);
digitalWrite(led[0],LOW);
break;
case 2: digitalWrite(led[3],LOW);
digitalWrite(led[2],HIGH);
digitalWrite(led[1],LOW);
digitalWrite(led[0],LOW);
break;
case 3: digitalWrite(led[3],HIGH);
digitalWrite(led[2],HIGH);
digitalWrite(led[1],LOW);
digitalWrite(led[0],LOW);
break;
case 4: digitalWrite(led[3],LOW);
digitalWrite(led[2],LOW);
digitalWrite(led[1],HIGH);
digitalWrite(led[0],LOW);
break;
case 5: digitalWrite(led[3],HIGH);
digitalWrite(led[2],LOW);
digitalWrite(led[1],HIGH);
digitalWrite(led[0],LOW);
break;
case 6: digitalWrite(led[3],LOW);
digitalWrite(led[2],HIGH);
digitalWrite(led[1],HIGH);
digitalWrite(led[0],LOW);
break;
case 7: digitalWrite(led[3],HIGH);
digitalWrite(led[2],HIGH);
digitalWrite(led[1],HIGH);
digitalWrite(led[0],LOW);
break;
case 8: digitalWrite(led[3],LOW);
digitalWrite(led[2],LOW);
digitalWrite(led[1],LOW);
digitalWrite(led[0],HIGH);
break;
case 9: digitalWrite(led[3],HIGH);
digitalWrite(led[2],LOW);
digitalWrite(led[1],LOW);
digitalWrite(led[0],HIGH);
break;
case 10: digitalWrite(led[3],LOW);
digitalWrite(led[2],HIGH);
digitalWrite(led[1],LOW);
digitalWrite(led[0],HIGH);
break;
case 11: digitalWrite(led[3],HIGH);
digitalWrite(led[2],HIGH);
digitalWrite(led[1],LOW);
digitalWrite(led[0],HIGH);
break;
case 12: digitalWrite(led[3],LOW);
digitalWrite(led[2],LOW);
digitalWrite(led[1],HIGH);
digitalWrite(led[0],HIGH);
break;
case 13: digitalWrite(led[3],HIGH);
digitalWrite(led[2],LOW);
digitalWrite(led[1],HIGH);
digitalWrite(led[0],HIGH);
break;
case 14: digitalWrite(led[3],LOW);
digitalWrite(led[2],HIGH);
digitalWrite(led[1],HIGH);
digitalWrite(led[0],HIGH);
break;
case 15: digitalWrite(led[3],HIGH);
digitalWrite(led[2],HIGH);
digitalWrite(led[1],HIGH);
digitalWrite(led[0],HIGH);
break;
default: digitalWrite(led[3],LOW);
digitalWrite(led[2],LOW);
digitalWrite(led[1],LOW);
digitalWrite(led[0],LOW);
break;
}
Serial.println(contador);
}