Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define trigger 10
- #define eCHo 11
- #define buzzer 13
- long distancia;
- int led[6] = {3, 4, 5, 6, 7, 8};
- int freq[6] = {2112, 2661, 3163, 3552, 3763, 3987}; /* essas frequencias são notas musicais específicas / these frequences are in musical notes*/
- void setup() {
- Serial.begin(9600);
- for(int i = 0; i < 6; i++){
- pinMode(led[i], OUTPUT);
- }
- pinMode(eCHo, INPUT);
- pinMode(trigger, OUTPUT);
- digitalWrite(trigger, LOW);
- digitalWrite(eCHo, LOW);
- }
- void loop() {
- Serial.println(distanciar());
- if(distanciar() > 0 && distanciar() <= 10){
- ativarLeds(6, 1);
- }
- else if(distanciar() > 10 && distanciar() <= 20){
- ativarLeds(5, 2);
- }
- else if(distanciar() > 20 && distanciar() <= 30){
- ativarLeds(4, 3);
- }
- else if(distanciar() > 30 && distanciar() <= 40){
- ativarLeds(3, 4);
- }
- else if(distanciar() > 40 && distanciar() <= 50){
- ativarLeds(2, 5);
- }
- else{
- ativarLeds(1, 6);
- }
- }
- int distanciar(){
- digitalWrite(trigger, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigger, LOW);
- distancia = pulseIn(eCHo, HIGH) * 0.0170145;
- return distancia;
- }
- void ativarLeds(int qntdLeds, int f){
- for(int i = 0; i < qntdLeds; i++){
- digitalWrite(led[i], HIGH);
- }
- for(int i = 5; i > qntdLeds - 1; i--){
- digitalWrite(led[i], LOW);
- }
- tone(buzzer, freq[f-1]);
- }
Add Comment
Please, Sign In to add comment