Contrôle de RC et Arduino : œuvres complètes A (6 / 10 étapes)

Étape 6: Deuxième programme : sortie Servo

j’ai soulevé l’image du site de Adafruit et ne pouvait pas dire assez de bonnes choses à leur sujet !

Le plaisir commence maintenant !  En utilisant le programme que je l’ai souligné précédemment, permet d’ajouter une sortie servo à l’aide de la bibliothèque de servo par défaut.  J’ai également décidé d’utiliser un tableau pour les données d’entrée au lieu de huit variables séparées.  Si vous avez un Uno, que je vais utiliser ce dernier, tout ce que vous avez à faire est changer les variables d’emplacement de broche.

Cela sera croquis sera lu tous les 8 canaux d’un récepteur RC et entrer les valeurs via serial monitor.
Programmé pour l’Arduino MEGA 2560

Bibliothèques incluses
#include < Servo.h >

Définir des Variables :
const int chA = 22 ;  Variables constantes relatives aux emplacements de code pin
const int chB = 27 ;
const int chC = 30 ;
const int chD = 35 ;
const int chE = 38 ;
const int chF = 43 ;
const int chG = 46 ;
const int chH = 51 ;

Limite de conditionnement de signaux
const int lo = 920 ;
const int hi = 1640 ;
const int deadlo = 1270 ;
const int deadhi = 1290 ;
const int Centre = 1280 ;

int ch [8] ;  Tableau pour stocker et afficher les valeurs de chaque canal
int ch4 ;  Variable de sortie de servo
Steer servo ;  Servo de direction

la routine d’installation s’exécute une fois que lorsque vous appuyez sur reset :
void setup()
{
initialiser une communication série 9600 bits par seconde :
Serial.Begin(9600) ;

Broches d’entrée :
pinMode(chA,INPUT) ;
pinMode(chB,INPUT) ;
pinMode(chC,INPUT) ;
pinMode(chD,INPUT) ;
pinMode(chE,INPUT) ;
pinMode(chF,INPUT) ;
pinMode(chG,INPUT) ;
pinMode(chH,INPUT) ;

Sorties de servo :
Steer.Attach(2) ;      Fixez le Servo de direction à PWM borne 2
}

Programme principal
void loop()
{
lire les canaux d’entrée
ch [0] = pulseIn (chA, HIGH) ;  Lire et stocker le canal 1
ch [1] = pulseIn (chB, HIGH) ;
ch [2] = pulseIn (chC, HIGH) ;
ch [3] = pulseIn (chD, HIGH) ;
ch [4] = pulseIn (chE, HIGH) ;
ch [5] = pulseIn (chF, HIGH) ;
ch [6] = pulseIn (chG, HIGH) ;
ch [7] = pulseIn (chH, HIGH) ;

Conditionnement de signaux d’entrée
pour (int i = 0; j’ai < = 8; i ++) boucle de climatisation //Signal
{
Si (ch [i] < = lo) //Trim bruit de l’extrémité inférieure
{
ch [i] = lo ;
}

Si (ch [i] < = deadhi & & ch [i] > = deadlo) //Create bande morte
{
ch [i] = center ;
}

Si (ch [i] > = hi) //Trim bruit de haut de gamme
{
ch [i] = Salut ;
}
}

Direction sortie de contrôle sur le canal 4
CH4 = ch [3] ;
Si (ch4 > = lo & & ch4 < = deadlo)
{
CH4 = carte (ch4, lo, deadlo, 0, 90) ;
}
ElseIf (ch4 == Centre)
{
CH4 = 90 ;
}
ElseIf (ch4 > = deadhi & & ch4 < = Salut)
{
CH4 = carte (ch4, deadhi, Salut, 90, 180) ;
}
Steer.Write(CH4) ;

Sorties de série
Serial.Print (« Ch1: ") ;  Chaîne de texte d’affichage sur Serial Monitor pour distinguer les variables
Serial.Print (ch[0]) ;     Impression de la valeur du canal 1
Serial.Print ("|") ;
Serial.Print ("Ch2:") ;
Serial.Print (ch[1]) ;
Serial.Print ("|") ;
Serial.Print (« Ch3: ") ;
Serial.Print (ch[2]) ;
Serial.Print ("|") ;
Serial.Print (« Ch4: ") ;
Serial.Print (ch[3]) ;
Serial.Print ("|") ;
Serial.Print ("Ch5:") ;
Serial.Print (ch[4]) ;
Serial.Print ("|") ;
Serial.Print ("Ch6:") ;
Serial.Print (ch[5]) ;
Serial.Print (& q uot; | ") ;
Serial.Print ("Ch7:") ;
Serial.Print (ch[6]) ;
Serial.Print ("|") ;
Serial.Print ("Ch8:") ;
Serial.println (ch[7]) ;
Serial.Print ("direction sortie:") ;
Serial.println (ch4) ;
}

Je vais supposer que le servo avait une dépression nerveuse et mis au point une graduation légère ? La fenêtre de terminal confirme que les roues tout simples tombé OFF de votre projet, maintenant ce qui ? Avant de vous engager votre servo ou Arduino à la maison de la noix, c’est quelque chose qui peut être contourné.  Le problème est comment la bibliothèque de servo Arduino génère le signal de sortie requis. Il interrompt le programme principal pour maintenir l’impulsion de 50Hz et entrera en conflit avec la fonction pulsein corrompre valuesbeing lire. Les deux servo Bibliothèque et pulsein sont interruption fondée mais que l'on nous Regardez remplaçant ? J’ai choisi d’éliminer la bibliothèque servo après beaucoup de google-fu.

Articles Liés

Contrôle par capteur sonore Arduino

Contrôle par capteur sonore Arduino

Contrôle par capteur sonore ArduinoYouTube VidéoDocuments
Contrôler un cafard avec Arduino pour moins de 30 $

Contrôler un cafard avec Arduino pour moins de 30 $

Il y a quelques années j'ai vu cafard contrôlé de la basse-cour cerveau smartphone, et il a juste soufflé mon esprit ! J'ai essayé d'obtenir ma mère de me laisser acheter, mais la mention de cafards lui convaincu du contraire. :) J'ai commencé à fair
Moteurs DC contrôle et stepper avec L298N double moteur contrôleur de Modules et Arduino

Moteurs DC contrôle et stepper avec L298N double moteur contrôleur de Modules et Arduino

Vous n'avez pas à dépenser beaucoup d'argent pour commander les moteurs avec un Arduino ou compatible. Après une chasse autour de nous trouve un module de contrôle moteur soignée basé sur l'IC H-pont L298N qui peut vous permet de contrôler la vitesse
Voiture d’occasion inclinaison contrôlée en utilisant arduino

Voiture d’occasion inclinaison contrôlée en utilisant arduino

Salut, tout le monde c'est mon premier instructables est donc un peu de compréhension. pls, postez vos suggestions pour les futurs instructables. Je suis en train de documenter chaque étape des leurs pour les débutants qui veulent s'initier à la cons
Dub Cadet: MIDI holographique & contrôleur de LED pour Arduino - partie 1

Dub Cadet: MIDI holographique & contrôleur de LED pour Arduino - partie 1

Selon moi, des instruments de musique holographiques sera monnaie courante dans l'avenir, apparaître dans le monde des écoles (pour l'éducation), à domicile (pour le fun), aux bureaux de médias (pour la créativité) et dans les studios de musique (de
Contrôleur de feux tricolores Arduino w/Remote Control

Contrôleur de feux tricolores Arduino w/Remote Control

j'ai eu un feu de circulation que j'ai remise à neuf.  La seule chose reste à faire est de construire le contrôleur pour les modèles de signal de la lumière.  Pour lui donner une touche, j'ai intégré une télécommande.  C'était aussi l'occasion rêvée
Projecteur IR contrôle à l’aide de Arduino Uno

Projecteur IR contrôle à l’aide de Arduino Uno

Durant Halloween et de Noël, j'ai du projet vidéo dans une fenêtre chez moi. Le système utilise un projecteur LED qui affiche des personnages virtuels sur une fenêtre. L'effet crée l'impression comme si les caractères sont vraiment à l'intérieur de v
Contrôler un Furby avec Arduino (ou autre microcontrôleur)

Contrôler un Furby avec Arduino (ou autre microcontrôleur)

Le Furby Million de dollars : Nous pouvons reconstruire. Nous disposons de la technologie.Suite de la précédente Instructable où nous excisés cerveau primitif de Furby, il est maintenant temps de le remplacer par quelque chose de plus.Ce Instructable
Fiable, sécurisé, contrôle à distance SMS personnalisables (Arduino/pfodApp) - aucun codage ne requis

Fiable, sécurisé, contrôle à distance SMS personnalisables (Arduino/pfodApp) - aucun codage ne requis

Mise à jour : 19 mai 2015 : utilisation du pfodParser bibliothèque Version 2.5 ou ultérieure. Il corrige un problème signalé de ne pas laisser suffisamment de temps pour le bouclier pour se connecter au réseau après avoir alimenté vers le hautIntrodu
Comment faire un Robot à 2 roues, contrôlé par IR, Compatible Arduino

Comment faire un Robot à 2 roues, contrôlé par IR, Compatible Arduino

Cette instructable est sur comment vous pouvez faire votre propre robot afin que :-Il est contrôlé par une télécommande IR-Vous êtes en mesure d'accéder et de modifier le code pour le contenu de votre coeur-Vous pouvez changer le robot anti-torsion à
Contrôler votre maison avec Arduino

Contrôler votre maison avec Arduino

Arduino est un excellent outil pour contrôler et chose du sens, c'est pourquoi la plupart des gens l'utiliser, mais il y a un gros hic. Arduino ne peut gérer que des très faibles courants. (Pas plus de 40 ma). C'est ok pour certains projets électroni
Vitesse du moteur pas à pas contrôle avec LABVIEW et ARDUINO

Vitesse du moteur pas à pas contrôle avec LABVIEW et ARDUINO

J'ai fait cela chez Proteusu commande STEPPER MOTOR vitesse avec LABVIEW et ARDUINO...!! wolaaÉtape 1: Ce tutoriel est :> À l'aide de Labview à interface Arduino au PC via le port USB.> Utilisation de Labview pour envoyer des données qui décrit la v
Contrôle moteur en utilisant Arduino

Contrôle moteur en utilisant Arduino

Commande de moteurs en utilisant Arduino peut être délicat.Tout d'abord, les moteurs exigent plus de courant que la sortie de quel Arduino peuvent fournir des épingles. Aussi moteurs peuvent générer leur propre courant à travers un processus appelé i