Étape 5: ARDUINO CODE
Il n’est pas vraiment sensé de mettre mon code, car vous pouvez utiliser différentes broches et un matériel différent, en tout cas, heres donc une procédure pas à pas ce qu’il faut faire :
Tout d’abord, téléchargez et installez la bibliothèque servo.h .
Dans le script, n’oubliez pas d’inclure la bibliothèque en appelant #include au début de votre script.
Faire un curseur timelapse vous pouvez par exemple utiliser analogRead() pour lire un pot reliés à une broche analogique.
L’INs analogiques utilisent 10 bits A/D conversion, 1024 pas.
Les servos lecture 0-180 degrés.
L’intervall utilise les millisecondes vs 1024 étapes des pots.
Vous qui convertir en appelant la fonction "carte".
Supposons qu'il s’agit de la variable « temps », donc le code ressemblerait à :
temps = carte(temps, 0, 1023, 1000, 10000) ; / / donc n’importe quelle valeur entre 0-1023 « time » est saisie, elle est convertie en une valeur où 0 représente 1 secondes et 180 représentent 10 secondes
Donc, nous commençons avec :
Zaxis servo ; / / qui définit la variable « zaxis » comme un Servo à l’aide de la bibliothèque
int pos = 90 ; / / définit la variable « pos », rend un nombre entier, ce qui ne signifie aucuns nombres décimaux,
/ / Cette variable dira le servo sa position par défaut au démarrage, peut être un nombre compris entre 0-180
un timelapse avec un retard de 5 secondes pour 180 degrés ressemblerait à :
pour (pos = 0; pos < = 180; pos += 1) / / incrémente les variables pos jusqu'à ce qu’il atteigne 180
{
Zaxis. écrire (pos) ;
delay (temps) ; / / c’est notre variable delay aka pot
}
Facile que ça.
Ce serait une ESC, tout t’as à faire est, gardez à l’esprit que les degrés signifient avant vitesse vitesse/en arrière dans ce cas.
Supposons que l’objet de servo moteur est appelé « motorspeed », puis le script ressemblerait
{
Motorspeed.Write(70) ; //m70 de 90 degrés disponibles en vitesse d’avancement, 70/90 * 100 = 77,8 pour cent puissance.
Delay(200) ; / / combien de temps le moteur maintient la vitesse ci-dessus, en millisecondes
Motorspeed.Write(0) ; / / arrêter le moteur.
Delay(Time) ; / / attendre pour le reste du temps
}
Bien sûr vous avez besoin d’une touche de fin pour faire cesser:)
Je n’ai jamais cela et son également non implémenté dans mon code. Timelapse prend si longtemps et est donc prévisible que j’ai jamais ressenti le besoin pour cela.
En revanche, si vous voulez qu’il soit sur les sites distants ou prévu par un autre appareil, pour commencer à quatre heures du matin, vous voulez un moyen pour l’arrêter une fois, il atteint la fin de la piste.