Étape 4: Mon code
Veillez à enregistrer et télécharger code vous permet tout d’abord de l’arduino.
Dans le cas où mon fichier de code en bas ne fonctionne pas ici, c’est :
[code]
/ * HC-SR04 capteur (ultrasons)
https://www.DealExtreme.com/p/hc-sr04-Ultrasonic-...
Cette esquisse lit un télémètre à ultrasons HC-SR04 et renvoie la distance à l’objet le plus proche dans la gamme. Pour ce faire, il envoie une impulsion à la sonde d’entamer la lecture, puis écoute une impulsion revenir. La longueur de l’impulsion de retour est proportionnelle à la distance de l’objet de la sonde.
Le circuit :
* Connexion VCC du capteur fixé à + 5V
* Connexion GND du capteur attaché à la terre
* TRIG raccordement de la sonde fixée à la broche numérique 2
* ECHO connexion du capteur fixé à la borne numérique 4
Code original pour Ping))) exemple a été créé par David A. Mellis adapté pour HC-SR04 par Tautvidas Sipavicius cet exemple de code fait partie du domaine public. */
const int trigPin = 2 ;
const int echoPin = 4 ;
LEDs #include « FastLED.h »
Combien de leds dans votre bande ?
#define NUM_LEDS 60
Pour les puces led comme Neopixels, qui ont une ligne de données, la masse et la puissance, vous avez juste / / besoin de définir DATA_PIN. Pour chipsets led qui sont à base de SPI (quatre fils - données, horloge, / / masse et puissance), comme le LPD8806 définir des DATA_PIN et des CLOCK_PIN
#define DATA_PIN 3
#define CLOCK_PIN 13
Définir le tableau des voyants CRGB del [NUM_LEDS] ;
void setup() {}
FastLED.addLeds (LED, NUM_LEDS) ;
capteur à ultrasons
initialiser la communication série :
Serial.Begin(9600) ; }
void loop() {}
capteur à ultrasons
créer des variables pour la durée du ping,
et le résultat de la distance en pouces et en centimètres : longue durée, pouces, cm ;
Le capteur est déclenché par une impulsion forte de 10 microsecondes.
Donner une brève impulsion faible au préalable pour s’assurer une impulsion propre élevée :
pinMode (trigPin, sortie) ;
digitalWrite (trigPin, basse) ;
delayMicroseconds(2) ;
digitalWrite (trigPin, HIGH) ;
delayMicroseconds(10) ;
digitalWrite (trigPin, basse) ;
Lire le signal de la sonde : un maximum d’impulsion dont
la durée est la durée (en microsecondes) de l’envoi
du ping à la réception de son écho hors d’un objet.
pinMode (echoPin, entrée) ;
durée = pulseIn (echoPin, HIGH) ;
convertir l’heure dans un lointain
po = microsecondsToInches(duration) ;
cm = microsecondsToCentimeters(duration) ;
Serial.Print(inches) ;
Serial.Print ("in") ;
Serial.Print(cm) ;
Serial.Print("cm") ;
Serial.println() ;
Delay(100) ;
LEDs
La LED s’allume, puis s’arrêtera
Si (cm < = 60) {}
pour (int i = 0; i < 60; i ++) {}
les voyants [i] = CRGB::Red ;
FastLED.show() ;
Delay(50) ;
Maintenant éteindre la LED, puis faire une pause
les voyants [i] = CRGB::Black ;
FastLED.show() ; Delay(50) ;
} }
ElseIf (cm > 60 & & cm < = 200) {}
La LED s’allume, puis s’arrêtera
pour (int i = 0; i < 60; i ++) {}
les voyants [i] = CRGB::Red ;
FastLED.show() ;
Delay(100) ;
} }
else {}
pour (int i = 0; i < 60; i ++) {}
Maintenant éteindre la LED, puis faire une pause
les voyants [i] = CRGB::Black ;
FastLED.show() ;
Delay(100) ;
} }
}
{microsecondsToInches(long microseconds) long
Selon fiche technique de parallaxe pour le PING))), il y a
73,746 microsecondes par pouce (c'est-à-dire son voyage à 1130 pieds /
en second lieu). Cela donne la distance parcourue par le ping, sortant
et revenez, pour nous diviser par 2 pour obtenir la distance de l’obstacle.
Voir : http://www.parallax.com/dl/docs/prod/acc/28015-PI...
retourner les microsecondes / 74 / 2 ; }
{microsecondsToCentimeters(long microseconds) long
La vitesse du son est de 340 m/s ou 29 microsecondes par centimètre.
Le ping déplace dehors et en arrière, afin de trouver la distance de la
objet, que nous prenons la moitié de la distance parcourue.
retourner les microsecondes / 29 / 2 ; }
[/ code]