Étape 6: Construire le composant cible 4
***********************************************
Mise à jour. J’ajoute une explication de ce qui se passe à chaque étape. Dans cette étape, nous commençons avec le capteur infrarouge. Le capteur permet à 5v à passer par envoi d’un signal élevé au circuit 555 minuterie. Lorsque le capteur IR reçoit une entrée IR il commute, envoyant le signal à la minuterie 555 faible. C’est où les capteurs IR emploi se termine.
La minuterie 555 reprend ici. Le circuit 555 minuterie met un signal faible à travers la broche de sortie jusqu'à ce qu’il reçoive un signal faible à travers la broche d’entrée du capteur IR. Un peu sur les déclencheurs de la broche d’entrée le circuit d’envoyer que la broche de sortie élevée pendant un laps de temps déterminé par la valeur de la résistance et le condensateur, période après laquelle le signal sur la broche de sortie est pris faible encore.
C’est là qu’intervient la Ardiuno. Le but principal de l’Arduino est de fournir un signal pwm pour piloter le servo. L’Arduino envoie un signal indiquant le servo pour passer à zéro et reprend la boucle dans cet état jusqu'à ce qu’il reçoive un signal élevé de la minuterie 555 sur la broche d’entrée désignée (A0 dans ce cas). Lorsque A0 reçoit un signal élevé l’Arduino génère un signal pwm en disant le servo pour passer à 90 degrés puis les boucles esquisse vers le début et continue à répéter la boucle dans l’état de 90 degrés jusqu'à A0 reçoit de nouveau un peu de la minuterie 555 et revient à zéro. N’oubliez pas que le circuit 555 reste élevé pendant un certain temps nous permettant de maintenir le signal haut et le servo à 90 degrés pendant quelques secondes sans mettre un retard dans l’esquisse.
Il peut y avoir un moyen d’éliminer la minuterie 555 en adaptant quelque chose comme un clin sans esquisse de retard pour tenir le servo à 90 degrés pendant quelques secondes. J’ai essayé sur mon propre d’adapter un clin sans code retard toutefois probablement dû à mon manque de compréhension, que je n’ai pas réussi à lui. Donc pour l’instant je m’en tiendrai ma solution matérielle.
Il y a un avantage à l’utilisation du circuit 555 minuterie. La sortie du circuit 555 peut être utilisé pour des tâches moins complexes par exemple, déclencher un relais, s’allument quelques LEDs, tout ce qui peut être fait avec simple haute et basse des signaux peuvent être commandés par la minuterie. Cela laisse l’Arduino libre de faire des tâches plus complexes. Il lui donne également le nombre de cibles possibles. Un Arduino Nano possède 8 broches analogiques. En raison de mes connaissances limitées des émissions qui ne me donne que 8 entrées pour cibles, qui à son tour je n’utilise que 8 broches numériques à la sortie de cibles. Alors mon Arduino est limitée à 8 cibles. Si je devais utiliser un timer 555 pour contrôler les relais, lampes, etc., le nombre de cibles possibles est illimité.
Il s’agit d’une petite esquisse pour commander un servo sur l’utilisation de la broche numérique 6 entrée sur broche analogique A0
#include < Servo.h >
int sensorpin0 = A0 ; broche analogique utilisé pour connecter le capteur sharp
val0 int = 0 ; variable pour stocker les valeurs du capteur (initialement zéro)
Servo myservo0 ; Créez l’objet servo pour contrôler un servo
int pos = 0 ;
void setup()
{
Serial.Begin(9600) ; commence la série monitor
myservo0.Attach(6) ; s’adapte sur le servo sur la broche 7 l’objet servo
}
void loop()
{
val0 = analogRead(sensorpin0) ; lit la valeur du capteur sharp
Si {(val0 > 10)
myservo0.Write(90) ; changer la position du servo de 90
}
else {}
myservo0.Write (0);}
}