Segmentador con potenciómetro
Continuando con los ejemplos de Arduino, ahora usamos un potenciómetro para que este controlase la cantidad de voltaje que transmitirá al visualizador de segmentos y este mostrara un numero según la cantidad que este reciba, como se ve en la siguiente imagen:
El
código que se uso para este ejemplo es el siguiente:
int a=1;
int b=2;
int c=3;
int d=4;
int e=5;
int f=6;
int g=7;
int variable;
void setup() {
// put your setup code here, to run once:
pinMode(a,OUTPUT);
pinMode(b,OUTPUT);
pinMode(c,OUTPUT);
pinMode(d,OUTPUT);
pinMode(e,OUTPUT);
pinMode(f,OUTPUT);
pinMode(g,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
variable=analogRead(A5);
//Desde 0v hasta 0.9v #0
if(variable>0 && variable<203 ){
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
}
// desde 1v hasta 1.9v #1
else if(variable>203 && variable<408){
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
// desde 2v hasta 2.9v #2
else if(variable>408 && variable<612){
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
}
//desde 3v hasta 3.9v #3
else if(variable>612 && variable<817){
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
}
//desde 4v hasta 5v #4
else if(variable>817 && variable<1023){
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}
}
int b=2;
int c=3;
int d=4;
int e=5;
int f=6;
int g=7;
int variable;
void setup() {
// put your setup code here, to run once:
pinMode(a,OUTPUT);
pinMode(b,OUTPUT);
pinMode(c,OUTPUT);
pinMode(d,OUTPUT);
pinMode(e,OUTPUT);
pinMode(f,OUTPUT);
pinMode(g,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
variable=analogRead(A5);
//Desde 0v hasta 0.9v #0
if(variable>0 && variable<203 ){
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
}
// desde 1v hasta 1.9v #1
else if(variable>203 && variable<408){
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
// desde 2v hasta 2.9v #2
else if(variable>408 && variable<612){
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
}
//desde 3v hasta 3.9v #3
else if(variable>612 && variable<817){
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
}
//desde 4v hasta 5v #4
else if(variable>817 && variable<1023){
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}
}
Como ya lo he mencionado antes, mis ejemplos funcionan de forma inversa a los de mis compañeros aun siendo la misma forma de conectar los componentes en el circuito.
Comentarios
Publicar un comentario