Étape 14 : Code
Le code est très simple, je m’apprêtais à ajouter la détection de crête analogiques, mais j’ai vite réalisé qu’il y avait une solution plus simple.Le système est maître/esclave. L’émetteur est le maître et l’extrémité du récepteur est l’esclave.
Je dis simplement l’esclave pour déplacer le servo à une position de X. Ça y est. Tout le travail se fait par l’émetteur.
La partie la plus importante de l’émetteur est :
Préparation de l’émetteur de radio comme ceci :
Radio.remoteAddress = 1 ;
Radio.txMode(3) ;
C’est juste un exemple pour montrer comment vous pouvez transférer un tableau.
Radio.data[0] = 22 ;
Radio.Data[1] = 33 ;
Vous avez lu la broche analogique
val = analogRead(potpin) ;
Puis vous mapper pour le moteur d’asservissement.
Lorsque vous avez 1023, c’est la position max du moteur d’asservissement, 179.
val = carte (val, 0, 1023, 0, 179);
Puis, vous prenez la valeur et envoyez au récepteur.
Radio.data[2] = val ;
Radio.Write() ;
Le récepteur est également très simple
Attendez le signal
while (! Radio.available()) ;
Le lire Si (Radio.data [0] == 22 & & Radio.data[1] == 33)
Radio.read() ;
{
Obtenir la valeur de servo dans le tableau
val = Radio.data[2];
Déplacer le servo, j’ai soustrait la tension de décalage car il n’y a pas de gaz, la valeur lue est 1.3V
myservo.write(val-40) ;
Delay(15) ;
}