Pilote automatique hélice (5 / 13 étapes)

Étape 5: Une note au sujet de Spin

je sais que quand il s’agit de microcontrôleurs, la majorité de ce forum est dédiée à l’arduino. Même si l’arduino n’est pas votre microcontrôleur préférée, elle mérite toujours un clin de œil-de-la-tête pour son accessibilité et le développement de la bibliothèque complète.
Peu importe, ce projet a été développé avec la puce de l’hélice, qui est plus facilement écrit en Spin.
Il s’agit d’un bon moment de souligner la bonne volonté envers la communauté open source de parallaxe. La puce de l’hélice est maintenant complètement programmable en C/C++ grâce à la création de SImpleIDE. La majorité de ce projet a été écrit en SimpleIDE en raison de sa facilité d’installation sous Linux et pour accesiblity aux ports de communication.

https://sites.google.com/site/propellergcc/documentation/simpleide

Alors que je préférerais pour coder ce projet en C++ (pour l’utilisation de tableaux 2D et pour une courbe d’apprentissage moins profonde) tout exemple de code que j’ai écrits pour ce projet sera en vrille. Cela a été fait afin de maximiser la fonctionnalité avant l’échéance du concours.
Essorage : Passez par valeur
Passage de variables par valeur en essorage est très similaire à c ++. La seule différence majeure est que, lorsque vous déclarez une variable locale dans Spin, vous ne nommez pas un type, (c’est à dire octet, mot, long). Ils sont trompeurs car il le fait apparaître comme Spin a allocation de mémoire dynamique ; pour tous, j’ai été en mesure de dire, c’est pas le cas.

Essorage : Passer par référence
Il est relativement facile de passer des variables dans Spin. Cependant, il est différent de C++ en ce que vous ne passez pas un pointeur, vous simplement passez l’adresse de mémoire par valeur et déréférencez l’adresse au sein de la fonction. J’ai utilisé cette méthode de passage de paramètres abondamment tout en développant divers vector math fonction. Dans l’exemple suivant, nous remplissons toutes les variables dans les deux tableaux avec le numéro 1. Emplacements de mémoire sont récupérés avec le "symbole et la mémoire des endroits sont déréférencés en redéclarant le type de variable et en mettant la variable dans"[]":

Essorage : Float mathématiques
Flotteur math à Spin est une douleur géante. J’ai trouvé quatre bibliothèques différentes pour l’utilisation des mathématiques de flotteur en vrille, qu’ils utilisent des nombres différents de CMV et fonctionner à des vitesses de la différence et sont assez explicites. Une chose à noter : Si vous êtes déclarer une constante ou une variable à une valeur spécifique directement dans votre code et que vous envisagez d’utiliser des opérations en virgule flottante, vous devez veiller à ce que vous mettez une virgule à la fin de chaque numéro.

Essorage : Registres spéciaux
Il y a des registres spéciaux un peu en vrille. Je vais courir à travers quelques unes ici, mais si vous êtes vraiment sérieux au sujet de l’utilisation de la puce de l’hélice, vous devriez certainement lire les notes de publication d’application, ainsi que télécharger une copie du manuel sur votre ordinateur. La plupart de ces registres sera utilisée dans les exemples de code sur l’étape suivante.

DIRA : Ce registre détermine qui puce IOs sur l’hélice sont sorties et qui constituent des entrées. Vous pouvez écrire à ces registres en utilisant le binaire, décimal ou hexadécimal. La manière plus intuitive, cependant, est binaire. Chaque bit dans le Registre constitue l’un de l’hélice 32 IOs. Assignant un 0 ou un 1 à ce petit assignera que IO comme une entrée ou sortie.

CTRA/CTRB : Ces deux registres de définir les modes de comptage utilisées par chaque minuterie. Nous utilisons deux compteur différent selon que nous sommes mesurer une longueur d’impulsion ou une écriture.

APSS/PHSB : Ces registres sont où les valeurs accumulées générés par nos comptoirs sont en fait stockées. Sur son mode de base, le nombre de cycles d’horloge temps écoulé est stocké ici.

FRQA/FRQB : Ces registres contiennent un facteur qui fait évoluer le compteur chaque fois qu’il stocke à PHSA/B.

Si tout ce parler de minuteries et modes comptage est inconnu pour vous, vous devriez certainement lire la malgré il ne serait pas tout à fait être nécessaire, je recommande fortement en lisant tous les modes de comptage d’hélice. En utilisant le compteur correctement vous donnera un contrôle incroyable sur les fonctionnalités d’e/s bas niveau et permettra de que vous fudge votre chemin à travers presque tous les protocoles de communication numériques :
http://www.parallaxsemiconductor.com/an001

Articles Liés

Bateau pilote automatique - basée sur l’Arduino

Bateau pilote automatique - basée sur l’Arduino

Voici comment construire un pilote automatique qui peut diriger un RC bateau à waypoints ! Il est facile à construire, basé sur la populaire plate-forme Arduino et idéal pour les amateurs qui veulent certaine pratique soudure ! Avec ce pilote automat
Intro pour modéliser l’avion pilote automatique!!!

Intro pour modéliser l’avion pilote automatique!!!

Hi All!J'ai vingt ans. J'ai ramassé mon arduino pour la première fois que ce Noël et moi avons été garder occupé sur mes applications arduino afin que je peux vous apporter cette instructable. J'espère que ça aide!!!Ce projet visait à construire un t
Instructions de DJI station terrestre pour voler un octocopter sur le pilote automatique

Instructions de DJI station terrestre pour voler un octocopter sur le pilote automatique

vous pouvez utiliser le système de contrôleur de vol DJI wookong, mis à jour pour une utilisation avec les coordonnées du point de cheminement GPS, pour piloter un hélico sur le mode de pilotage automatique. C'était un peu difficile pour moi de déchi
Équilibreur de maison hélice pour avion rc

Équilibreur de maison hélice pour avion rc

Pour ceux d'entre vous qui n'aimez pas casser votre tirelire pour acheter un équilibrage de l'hélice (comme moi). C'est peut-être l'instructable pour vous. Ce dispositif de balance d'hélice est utilisé pour réduire les vibrations dangereuses sur un a
Arduino UNO un CO-pilot(Auto-pilot)

Arduino UNO un CO-pilot(Auto-pilot)

Bonjour tout le monde ici j'ai écris un système pilote automatique petit avion RC à voilure fixe (surfeur de ciel V3)puisque ciel surfeur v3 est planeur motorisé, nous pouvons utiliser ce système de pilote automatique pendant le vol à voile ou même q
BRICOLAGE FPV modulaire & Transformable, Quadcopter de course !

BRICOLAGE FPV modulaire & Transformable, Quadcopter de course !

La plupart des quadcopters, surtout FPV course quads toujours a la même apparence : ils sont X ou H en forme, avec le moteur vers le haut.J'ai voulu créer un bourdon de course FPV qui ne ressemble à tous les autres quads et qui plus est, c'est transf
Quadcopter aérosol Mod

Quadcopter aérosol Mod

Ce guide fait suite à une tentative de faire une pulvérisation peinture quadcopter pour la peinture intérieure de drone.C'est une série d'experiments and observations, pas tout à fait un tutoriel étape par étape parfaite ! = DUtilisez ce guide sur vo
Quadcopter du bricolage débutant

Quadcopter du bricolage débutant

Il a été un rêve pour moi de posséder un quadcopter depuis quelques années, néanmoins, je ne voulais pas d'un très bon marché, ce qui romprait vraiment facilement, mais en même temps je ne voulais pas acheter un vraiment cher. Dans mon école, je deva
Comment construire un Racing Quadcopter

Comment construire un Racing Quadcopter

Bonjour, aujourd'hui je vais apprendre comment construire un quadcopter de course !Ce qui est un quadcopter ?Un quadcopter est copter multi-rotor à quatre branches, chacune d'entre elles ont un moteur et une hélice à leurs extrémités. Quadcopters son
Comment faire un Quadcopter Drone et composants listent

Comment faire un Quadcopter Drone et composants listent

en ce moment, j'ai publié comment faire quadcopterEtape 1: cadre L'image est important parce que c'est où mettre les autres composants du Multicopter. Comme Mobil, le corps de la trame du Multicopter.Type de trame adapté aux besoins. Pour son propre
Micro 105 FPV Quadcopter - 3D imprimé

Micro 105 FPV Quadcopter - 3D imprimé

J'ai vole 250 tailles quadcopters FPV (vidéo de la première personne) pour plus d'un an maintenant. Pour ceux qui ne sont pas familiers avec le FPV, vous équipez d'une caméra à l'avant de votre quadcopter et transmettre la vidéo à une paire de lunett
3D imprimé 250 Racing Quadcopter

3D imprimé 250 Racing Quadcopter

Il s'agit de mon premier instructable et c'est sur la façon d'assembler l'Hovership MHQ2 3D imprimé QuadcopterAvertissement: éclate est avait une fois ce projet terminéÉtape 1 :OK, avant d'entrer dans la construction, vous allez avoir besoin de quelq
Petit et relativement bon marché FPV quadcopter

Petit et relativement bon marché FPV quadcopter

Salutjuste pour assainir l'air, c'est mon premier instructable. Soyez doux;)Pilotage quad-copters est beaucoup de plaisir et c'est une de ces choses qui sont faciles à apprendre, mais difficile à maîtriser. Il y a beaucoup d'information supplémentair
Design 101 - partie 1 CAD de bourdon

Design 101 - partie 1 CAD de bourdon

Construire ! Mouche ! S'affrontent !Ligue de Sports aériens Fondateur / Chief Designer et Autodesk Expert Elite, Eli DElia, vous guide étape par étape à travers les principes de base et les techniques de conception de coureur pour le drone vidéo Firs