Aquí esta:/*
Sensor de proximidad y al ser inferior a 10cm
envia un pulso de alarma por el pin 13
HC-SR04 conexiones:
VCC al arduino 5v
GND al arduino GND
Echo al Arduino pin 6
Trig al Arduino pin 7
Descargar planos de conexiones en
http://elprofegarcia.com/
*/
#define Pecho 6
#define Ptrig 7
long duracion, distancia;
int digit1 = 11; //PWM Display pin 1
int digit2 = 10; //PWM Display pin 2
int digit3 = 9; //PWM Display pin 6
int digit4 = 8; //PWM Display pin 8
int segA = A4; //Display pin 14
int segB = 3; //Display pin 16
int segC = 4; //Display pin 13
int segD = 5; //Display pin 3
int segE = A0; //Display pin 5
int segF = A1; //Display pin 11
int segG = A5; //Display pin 15
void setup() {
pinMode(segA, OUTPUT);
pinMode(segB, OUTPUT);
pinMode(segC, OUTPUT);
pinMode(segD, OUTPUT);
pinMode(segE, OUTPUT);
pinMode(segF, OUTPUT);
pinMode(segG, OUTPUT);
pinMode(digit1, OUTPUT);
pinMode(digit2, OUTPUT);
pinMode(digit3, OUTPUT);
pinMode(digit4, OUTPUT);
pinMode(Pecho, INPUT); // define el pin 6 como entrada (echo)
pinMode(Ptrig, OUTPUT); // define el pin 7 como salida (triger)
}
void loop() {
digitalWrite(Ptrig, LOW);
delayMicroseconds(2);
digitalWrite(Ptrig, HIGH); // genera el pulso de triger por 10ms
delayMicroseconds(10);
digitalWrite(Ptrig, LOW);
duracion = pulseIn(Pecho, HIGH);
distancia = (duracion/2) / 29; // calcula la distancia en centimetros
if (distancia >= 500 || distancia <= 0){ // si la distancia es mayor a 500cm o menor a 0cm
Serial.println("---"); // no mide nada
}
if (distancia == 10){
{digitalWrite(digit1,1);
digitalWrite(digit2,0);
digitalWrite(segA,1);//manda corriente por lo que no se enciende
digitalWrite(segB,0);//no hay corriente, funcione como GND y
digitalWrite(segC,0);//los segmentos se encienden
digitalWrite(segD,1);
digitalWrite(segE,1);
digitalWrite(segF,1);
digitalWrite(segG,1);
}
delay(1);
digitalWrite(digit1,0);
digitalWrite(digit2,1);
digitalWrite(segA,0);//manda corriente por lo que no se enciende
digitalWrite(segB,0);//no hay corriente, funcione como GND y
digitalWrite(segC,0);//los segmentos se encienden
digitalWrite(segD,0);
digitalWrite(segE,0);
digitalWrite(segF,0);
digitalWrite(segG,1);
}
}
}