Étape 3: L’Arduino
Après que tout a été 3D imprimés, nous pouvons passer aux composants qui permettent à ce bébé d’exécuter. Nous avons un microcontrôleur, qui est l’arduino uno, ainsi que notre maquette et 9v batterie.
J’ai créé une représentation schématique du comment tout devrait jeter dehors sur fritzing, alors consultez le lien suivant pour voir comment mettre ensemble. Assurez-vous que vous avez fritzing téléchargé que vous êtes en mesure d’afficher le schéma. J’ai aussi téléchargé le code arduino qui est nécessaire pour faire tout fonctionner, mais je n’aborderai plus en détail ici.
http://fritzing.org/projects/variable-Speed-Tablet...
La pile 9v aura son pouvoir être vidangée si branché sur l’arduino, alors laisser inplugged jusqu'à ce qu’il est nécessaire pour des fins de test.
Voici le code pour l’arduino avec mes commentaires expliquant qui fait de chaque partie.
CODE POUR ARDUINO :
Nous allons contrôler le moteur de broche 9. Ce doit être une des broches PWM compatible afin que nous puissions faire varier la vitesse.
Tout d’abord, mettre en place l’une des constantes.
const int motorPin = 9 ; const int motorSpeedIn = 0 ; const int ledPin = 10 ; const int ledDial = 2 ; Ce sont toutes les valeurs de l’axe, chaque nombre est associé à une fonction de code pin.
int ledBright ; motorSpeed int ; Voici quelques valeurs qui seront désignés plus tard et seulement utilisés comme espaces réservés ici.
void setup() / / mise en place du code. Cela permet à nos goupilles lire et envoyer des données, selon comment nous orienter.
{
Mettre en place l’axe moteur pour une sortie :
pinMode (motorPin, sortie) ; pinMode (ledPin, sortie) ; pinMode (ledDial, entrée) ; pinMode (motorSpeedIn, entrée) ;
Configurer le port série :
Serial.Begin(9600) ; }
void loop() / / Voici le code réel de boucle. Étant donné que les potentiomètres qui envoient des signaux numériques, il faut que convertir un nombre analog pour notre moteur et LED à lire, donc on divise ce nombre par 4. PWM peut uniquement lire 0-255
{
motorSpeed = analogRead(motorSpeedIn) ;
Serial.println(motorSpeed) ; Ce code est commenté, mais si vous avez besoin de vérifier vos valeurs en entrée, cela va afficher les numéros reçus dans le moniteur série pour vous écouter.
motorSpeed = motorSpeed/4 ;
Serial.println(motorSpeed) ;
analogWrite(motorPin,motorSpeed) ;
ledBright = analogRead(ledDial) ;
ledBright = ledBright/4 ;
analogWrite(ledPin,ledBright) ;
Delay(100) ; Délai supplémentaire de 100 ms pour ne pas avoir toute confusion arrive pour une raison quelconque avec une valeur instantanée.
}