Étape 4: Arduino Uno avec Code
L’Arduino Uno ou le microcontrolleur Arduino Mega est utilisé dans cette instructable. L’Arduino Uno est un microcontrôleur basé sur l’ATmega328. Il a 14 broches d’entrées/sorties numériques (dont 6 peuvent être utilisés comme sorties PWM), 6 entrées analogiques, un résonateur céramique 16 MHz, une connexion USB, une prise d’alimentation, un en-tête de l’ICSP et un bouton reset. Il contient tout le nécessaire pour soutenir le microcontrôleur ; Il suffit de connecter à un ordinateur avec un câble USB ou alimenter avec une batterie ou adaptateur AC DC pour commencer.
Une bibliothèque de servo est utilisée pour programmer l’ESC avec un peu de commandes que vous pouvez trouver dans votre bibliothèque d’Arduino lorsque vous téléchargez le logiciel. Broche 9 est utilisé pour envoyer la commande à partir du code sur le régulateur de vitesse pour contrôler la vitesse des hélices.
Cet exemple utilise la bibliothèque de servo Arduino incluse avec la version 0012
attention, ce code balaie le moteur à vitesse maximale ! Assurez-vous que le moteur est monté sécurisé avant la course.
#include
Servo myservo ;
void arm() {/ / armer le régulateur de vitesse, modifier si nécessaire pour votre setSpeed(0) ESC; delay(1000) ; //delay 1 seconde, peu contrôleurs peuvent plus besoin de vitesse}
setSpeed Sub (int vitesse) {/ / Vitesse s’étend de 0 à 100, où 0 est éteint et 100 est la vitesse maximale
ce qui suit mappe les valeurs de vitesse de 0-100 à angles de 0 à 180, / / des régulateurs de vitesse peuvent besoin des valeurs différentes, voir ces instructions int angle = carte (vitesse, 0, 100, 0, 180) ; myservo.Write(angle) ; }
void setup() {myservo.attach(9) ; arm();}
void loop() {int Vitesse ;
balayer de 0 à vitesse maximale en 20 secondes (vitesse = 0; Vitesse < = 100 ; Vitesse += 5) {setSpeed(speed) ; delay(1000);} / / balayage vers le bas à la vitesse 0. pour (vitesse = 95 ; vitesse > 0; Vitesse = 5) {setSpeed(speed) ; delay(1000);} setSpeed(0) ; Delay(5000) ; arrêter le moteur pendant 5 secondes}