Étape 4: programmation
/*
* IRremote bibliothèque - Copyright 2009 Ken Shirriff
* créé par Rui Santos, http://randomnerdtutorials.wordpress.com
* Les ultrasons avec LED et Buzzer
* 2013
*/
int tonePin = 4 ; Tone - cavalier rouge
int trigPin = 9 ; Trig - pull violet
int echoPin = 10 ; Cavalier de Echo - jaune
int clockPin = 11 ; IC broche 11 - cavalier blanc
int latchPin = 12 ; IC Pin 12 - cavalier bleu
int dataPin = 13 ; IC broche 14 - cavalier vert
possible_patterns Byte [9] = {}
B00000000,
B00000001,
B00000011,
B00000111,
B00001111,
B00011111,
B00111111,
B01111111,
B11111111,
};
proximité d’int = 0 ;
durée de l’int ;
distance de l’int ;
void setup() {}
Port série
Serial.Begin (9600) ;
pinMode (trigPin, sortie) ;
pinMode (echoPin, entrée) ;
pinMode (clockPin, sortie) ;
pinMode (latchPin, sortie) ;
pinMode (dataPin, sortie) ;
pinMode (tonePin, sortie) ;
}
void loop() {}
digitalWrite (latchPin, basse) ;
digitalWrite (trigPin, HIGH) ;
delayMicroseconds(1000) ;
digitalWrite (trigPin, basse) ;
durée = pulseIn (echoPin, HIGH) ;
distance = (durée/2) / 29,1 ;
/ * Si (distance > = 45 || distance < = 0) {}
Serial.println ("out of range") ;
}
else {}
Serial.Print(distance) ;
Serial.println ("cm") ;
}*/
proximité = carte (distance, 45, 8, 0, 0) ;
Serial.println(Proximity) ;
Si (proximité < = 0) {}
proximité = 0 ;
}
ElseIf (proximité > = 3 & & proximité < = 4) {}
ton (tonePin, 200000, 200) ;
}
ElseIf (proximité > = 5 & & proximité < = 6) {}
ton (tonePin, 5000, 200) ;
}
ElseIf (proximité > = 7 & & proximité < = 8) {}
ton (tonePin, 1000, 200) ;
}
shiftOut (dataPin, clockPin, MSBFIRST, possible_patterns[proximity]) ;
digitalWrite (latchPin, HIGH) ;
Delay(600) ;
noTone(tonePin) ;
}