You are on page 1of 13

int contador = 0;

void setup()

pinMode(A0, INPUT);

pinMode(13, OUTPUT); //e

pinMode(12, OUTPUT); //d

pinMode(10, OUTPUT); //c

pinMode(7, OUTPUT); //b

pinMode(5, OUTPUT); //a

pinMode(3, OUTPUT); //f

pinMode(2, OUTPUT); //g

Serial.begin(9600);

void loop(){

int sensor;

sensor = analogRead(A0);

float volta = (sensor*5.0)/1023;

int distancia;

distancia = int((volta - 0.272)/(-0.0277));

Serial.println(distancia);

if (distancia == 0){

char num0[]="distancia:";

Serial.print(num0);

Serial.println(contador);

digitalWrite(12, HIGH);

digitalWrite(5, HIGH);
digitalWrite(3, HIGH);

digitalWrite(13, HIGH);

digitalWrite(10, HIGH);

digitalWrite(7, HIGH);

digitalWrite(2, LOW);

digitalWrite(12, LOW);

digitalWrite(5, LOW);

digitalWrite(3, LOW);

digitalWrite(13, LOW);

digitalWrite(10, LOW);

digitalWrite(7, LOW);

digitalWrite(2, HIGH);

delay(1000);

if (distancia == 1){

char num1[]="distancia:";

digitalWrite(12, LOW);

digitalWrite(5, LOW);

digitalWrite(3, LOW);

digitalWrite(13, LOW);

digitalWrite(10, HIGH);

digitalWrite(7, HIGH);

digitalWrite(2, LOW);

digitalWrite(12, HIGH);

digitalWrite(5, HIGH);

digitalWrite(3, HIGH);
digitalWrite(13, HIGH);

digitalWrite(10, LOW);

digitalWrite(7, LOW);

digitalWrite(2, HIGH);

delay(1000);

if (distancia == 2){

char num2[]="distancia:";

digitalWrite(12, HIGH);

digitalWrite(5, HIGH);

digitalWrite(3, LOW);

digitalWrite(13, HIGH);

digitalWrite(10, LOW);

digitalWrite(7, HIGH);

digitalWrite(2, HIGH);

digitalWrite(12, LOW);

digitalWrite(5, LOW);

digitalWrite(3, HIGH);

digitalWrite(13, LOW);

digitalWrite(10, HIGH);

digitalWrite(7, LOW);

digitalWrite(2, LOW);

delay(1000);

if (distancia == 3){
char num3[]="distancia:";

digitalWrite(12, HIGH);

digitalWrite(5, HIGH);

digitalWrite(3, LOW);

digitalWrite(13, LOW);

digitalWrite(10, HIGH);

digitalWrite(7, HIGH);

digitalWrite(2, HIGH);

digitalWrite(12, LOW);

digitalWrite(5, LOW);

digitalWrite(3, HIGH);

digitalWrite(13, HIGH);

digitalWrite(10, LOW);

digitalWrite(7, LOW);

digitalWrite(2, LOW);

delay(1000);

if (distancia == 4){

char num4[]="distancia:";

digitalWrite(12, LOW);

digitalWrite(5, LOW);

digitalWrite(3, HIGH);

digitalWrite(13, LOW);

digitalWrite(10, HIGH);

digitalWrite(7, HIGH);

digitalWrite(2, HIGH);
digitalWrite(12, HIGH);

digitalWrite(5, HIGH);

digitalWrite(3, LOW);

digitalWrite(13, HIGH);

digitalWrite(10, LOW);

digitalWrite(7, LOW);

digitalWrite(2, LOW);

delay(1000);

if (distancia == 5){

char num5[]="distancia:";

digitalWrite(12, HIGH);

digitalWrite(5, HIGH);

digitalWrite(3, HIGH);

digitalWrite(13, LOW);

digitalWrite(10, HIGH);

digitalWrite(7, LOW);

digitalWrite(2, HIGH);

digitalWrite(12, LOW);

digitalWrite(5, LOW);

digitalWrite(3, LOW);

digitalWrite(13, HIGH);

digitalWrite(10, LOW);

digitalWrite(7, HIGH);

digitalWrite(2, LOW);

delay(1000);

}
if (distancia == 6){

char num6[]="distancia:";

digitalWrite(12, HIGH);

digitalWrite(5, HIGH);

digitalWrite(3, HIGH);

digitalWrite(13, HIGH);

digitalWrite(10, HIGH);

digitalWrite(7, LOW);

digitalWrite(2, HIGH);

digitalWrite(12, LOW);

digitalWrite(5, LOW);

digitalWrite(3, LOW);

digitalWrite(13, LOW);

digitalWrite(10, LOW);

digitalWrite(7, HIGH);

digitalWrite(2, LOW);

delay(1000);

if (distancia == 7){

char num7[]="distancia:";

digitalWrite(12, LOW);

digitalWrite(5, HIGH);

digitalWrite(3, LOW);

digitalWrite(13, LOW);

digitalWrite(10, HIGH);
digitalWrite(7, HIGH);

digitalWrite(2, HIGH);

digitalWrite(12, HIGH);

digitalWrite(5,LOW);

digitalWrite(3, HIGH);

digitalWrite(13, HIGH);

digitalWrite(10, LOW);

digitalWrite(7, LOW);

digitalWrite(2, LOW);

delay(1000);

if (distancia == 8){

char num8[]="distancia:";

digitalWrite(12, HIGH);

digitalWrite(5, HIGH);

digitalWrite(3, HIGH);

digitalWrite(13, HIGH);

digitalWrite(10, HIGH);

digitalWrite(7, HIGH);

digitalWrite(2, HIGH);

digitalWrite(12, LOW);

digitalWrite(5,LOW);

digitalWrite(3, LOW);

digitalWrite(13, LOW);

digitalWrite(10, LOW);

digitalWrite(7, LOW);
digitalWrite(2, LOW);

delay(1000);

if (distancia == 9){

char num9[]="distancia:";

digitalWrite(12, HIGH);

digitalWrite(5, HIGH);

digitalWrite(3, HIGH);

digitalWrite(13, LOW);

digitalWrite(10, HIGH);

digitalWrite(7, HIGH);

digitalWrite(2, HIGH);

digitalWrite(12, LOW);

digitalWrite(5,LOW);

digitalWrite(3, LOW);

digitalWrite(13, HIGH);

digitalWrite(10, LOW);

digitalWrite(7, LOW);

digitalWrite(2, LOW);

delay(1000);

if (distancia == 10){

char num10A[]="distancia:";

digitalWrite(12, LOW);

digitalWrite(5, HIGH);

digitalWrite(3, HIGH);
digitalWrite(13, HIGH);

digitalWrite(10, HIGH);

digitalWrite(7, HIGH);

digitalWrite(2, HIGH);

digitalWrite(12, HIGH);

digitalWrite(5,LOW);

digitalWrite(3, LOW);

digitalWrite(13, LOW);

digitalWrite(10, LOW);

digitalWrite(7, LOW);

digitalWrite(2, LOW);

delay(1000);

if (distancia == 11){

char num11B[]="distancia:";

digitalWrite(12, HIGH);

digitalWrite(5, HIGH);

digitalWrite(3, HIGH);

digitalWrite(13, HIGH);

digitalWrite(10, HIGH);

digitalWrite(7, HIGH);

digitalWrite(2, HIGH);

digitalWrite(12, LOW);

digitalWrite(5,LOW);

digitalWrite(3, LOW);

digitalWrite(13, LOW);
digitalWrite(10, LOW);

digitalWrite(7, LOW);

digitalWrite(2, LOW);

delay(1000);

if (distancia == 12){

char num12C[]="distancia:";

digitalWrite(12, HIGH);

digitalWrite(5, HIGH);

digitalWrite(3, HIGH);

digitalWrite(13, HIGH);

digitalWrite(10, LOW);

digitalWrite(7, LOW);

digitalWrite(2, LOW);

digitalWrite(12, LOW);

digitalWrite(5,LOW);

digitalWrite(3, LOW);

digitalWrite(13, LOW);

digitalWrite(10, HIGH);

digitalWrite(7, HIGH);

digitalWrite(2, HIGH);

delay(1000);

if (distancia == 13){

char num13D[]="distancia:";

digitalWrite(12, HIGH);
digitalWrite(5, HIGH);

digitalWrite(3, HIGH);

digitalWrite(13, HIGH);

digitalWrite(10, HIGH);

digitalWrite(7, HIGH);

digitalWrite(2, LOW);

digitalWrite(12, LOW);

digitalWrite(5,LOW);

digitalWrite(3, LOW);

digitalWrite(13, LOW);

digitalWrite(10, LOW);

digitalWrite(7, LOW);

digitalWrite(2, HIGH);

delay(1000);

if (distancia == 14){

char num14E[]="distancia:";

digitalWrite(12, HIGH);

digitalWrite(5, HIGH);

digitalWrite(3, HIGH);

digitalWrite(13, HIGH);

digitalWrite(10, LOW);

digitalWrite(7, LOW);

digitalWrite(2, HIGH);

digitalWrite(12, LOW);

digitalWrite(5,LOW);
digitalWrite(3, LOW);

digitalWrite(13, LOW);

digitalWrite(10, HIGH);

digitalWrite(7, HIGH);

digitalWrite(2, LOW);

delay(1000);

if (distancia == 15){

char num15F[]="distancia:";

digitalWrite(12, LOW);

digitalWrite(5, HIGH);

digitalWrite(3, HIGH);

digitalWrite(13, HIGH);

digitalWrite(10, LOW);

digitalWrite(7, LOW);

digitalWrite(2, HIGH);

digitalWrite(12, HIGH);

digitalWrite(5,LOW);

digitalWrite(3, LOW);

digitalWrite(13, LOW);

digitalWrite(10, HIGH);

digitalWrite(7, HIGH);

digitalWrite(2, LOW);

delay(1000);

}
Conclusiones

Profe, el código compila bien funciona el contador de 1 hasta 15 en


sistema hexadecimal, pero al momento de realizar las mediciones
con el sensor se puede observar que los valores mostrados no
concuerdan muy bien con la medición realizada, se logra observar
que al comparar la medición con la regla y el valor arrojado por el
Arduino hay un error de aproximadamente 1 – 1.5 cm. Considero
que esto puede ser debido al tipo de exposición de luz que tiene el
sensor por el ambiente o quizás por mala calibración y en ultima
instancia por un error en el código.

You might also like