Marque : on Robotics Starter Kit - compréhension au niveau du bit Math (2 / 3 étapes)

Étape 2: ReadOptical() méthode d’analyse

Comme je le disais il y a sont quelques fautes de frappe dans les commentaires du code dans linefollow.ino.Every boucle le programme appelle les function:sensor_in=line_following.read_optical() suivants ;

Les commentaires pour cette méthode read_optical() lit ce qui suit :

Retourne

0 × 000 optical1 noir

0x0FF optical1 blanc

optical1 0 x 100 blanc

0x1ff optical1 noir

0x2XX n’est pas prêt ; n’utilisez pas cette valeur

En fait, est devrait être la suivante

Retourne

0 × 000 optical1 noir

0xFF optical1 blanc

optical2 0 x 100 blanc

0x1ff optical2 noir

0x2XX n’est pas prêt ; n’utilisez pas cette valeur (soit capteur peut retourner cette valeur)

En fait, 0x0ff devrait être 0xff

Se référer à blog logiciel partie 3

Vous verrez dans les paragraphes ci-dessous l’importance de ces fautes de frappe. (a faire avec tout autre capteur de lecture) Sur la ligne qui suit le robot il sont a deux capteurs optiques, chaque fois que la fonction loop() exécute les appels de croquis linefollow.ino une méthode pour voir si un des capteurs est de voir clair ou foncé.

Sur un microcontrôleur, tels que l’Arduino, une seconde est une très longue période. La fonction loop() peut exécuter plusieurs milliers de fois par seconde. Juste combien de temps chaque boucle prend dépend des instructions de programme combien ont lieu. Quelques instructions prennent plus de temps à exécuter que d’autres instructions.

Instruction (ce que fonctions et méthodes sont constitués de) temps d’exécution est mesuré en cycles d’horloge du CPU. L’Arduino par défaut fonctionne à 16 MHz ou 16 millions horloge cycles par seconde. L’esquisse linefollow.ino effectue une logique assez simple.

Après avoir configuré certaines variables, le loop() appelle une fonction pour voir si un capteur est léger ou foncé, selon la réponse certaine logique fantaisie est exécutée pour réduire la réponse à une valeur de 0, 1, 2 ou 3. Ces valeurs sont ensuite utilisées pour raconter les moteurs pour soit aller de l’avant, vers la gauche ou la droite.

Toutes les 15 millisecondes le programme boucle est dit de passer et lire l’autre capteur. Si vous avez un programme qui effectue une boucle lire tout d’abord un capteur, convertit la réponse à 0, 1, 2 ou 3, dire les moteurs ce qu’il faut faire et puis lire l’autre capteur, convertir la réponse à 0, 1, 2 ou 3 et puis dire les moteurs quoi faire. Dans de nombreux cas, en fonction des valeurs des variables action1 et action2, les instructions pour commander les moteurs sont ignorées. Se référer à un article de blog plus tard.

Ces opérations sont font à nouveau à des milliers de fois par seconde. Le reste de ce blog et les articles plus tard vont vous apprendre ce qui se passe avec la logique de fantaisie qui lit le capteur et convertit la réponse à 0, 1, 2 ou 3. Le segment de code suivant est le code de fantaisie qui convertit les lectures du détecteur à une valeur de0, 1, 2 ou 3. Ce code implique quelques instructions de programme qui peuvent être assez déroutantes pour les programmeurs de newmicro-contrôleur.

S’il vous plaît se référer à une autre entrée de blog que j’ai écrit appelé « Tutoriel – Bit cogner et Boolean Math sans le Math » ce tutoriel va de pair avec la compréhension du segment de code suivant :

Si ((sensor_in & 0xf00) == 0)

sensorValue1 = sensor_in & 0xff ;

sinon si ((sensor_in & 0xf00) >> 8 == 1)

sensorValue2 = sensor_in & 0xff ;

Si (sensorValue1 == 0 x 00) action1 = action1 & 0xfe ;

Si (sensorValue1 == 0xFF) action1 = action1 | 0 x 01 ;

Si (sensorValue2 == 0 x 00) action1 = action1 | 0 x 02 ;

Si (sensorValue2 == 0xFF) action1 = action1 & 0xfd ;

Ce segment de code utilise trois opérateurs spéciaux (instructions qui fonctionnent sur certaines valeurs) le code utilise les opérateurs binaires suivants : & opérateur Bitwise AND, | Opérateur de bits OR operatorand la >> opérateur de décalage de la droite au niveau du bit.

(Lire le tutoriel)

http://joepitz.wordpress.com/

Articles Liés

Marque : on Robotics Starter Kit

Marque : on Robotics Starter Kit

Finement, j'ai eu du temps libre pour commencer le travail sur les systèmes C/C++ embarqué et des robots. Donc dans autour de la navigation à Radio Shack, je suis tombé sur la marque : on Robotics Starter Kit. Apparemment une collaboration entre les
Marque : on Robotics Starter Kit - analyse LineFollowing.ino partie 2

Marque : on Robotics Starter Kit - analyse LineFollowing.ino partie 2

Dans le dernier Instructable nous avons commencé à analyser les opérations au niveau du bit dans l'esquisse de la lineFollow.ino. Nous avons examiné comment les lectures du capteur sont interprétées pour rendre le robot à aller de l'avant.Dans ce tut
Marque : on Robotics Starter Kit – Conseil pilote familiarisation

Marque : on Robotics Starter Kit – Conseil pilote familiarisation

Dans ce blog, nous prendrons un coup d'oeil à l'Office du pilote qui est livré avec le Kit de démarrage de faire : on Robotics. Il n'y a pas de documentation qui vient avec le kit de départ concernant le jury pilote autres que le schéma.Sauf si vous
Marque : on Robotics Starter Kit - envoi de données de capteur sans fil

Marque : on Robotics Starter Kit - envoi de données de capteur sans fil

Dans ce Instructable, nous allons prendre ce que nous avons appris à « Make : on Robotics Starter Kit – Wireless Connectivity » et « Make : on Robotics Starter Kit – capture données capteur » et associer ces données pour capturer les données des capt
Marque : on Robotics Starter Kit-connectivité sans fil

Marque : on Robotics Starter Kit-connectivité sans fil

Dans ce blog post, nous allons prendre les informations que nous avons appris dans le précédent post de blog intitulé "Make : on Robotics Starter Kit – logiciel partie 2″ et capturer les données des capteurs en temps réel et envoyer ces données sans
Marque : on Robotics Starter Kit données de capteur de capture

Marque : on Robotics Starter Kit données de capteur de capture

Instructable dernier nous avons discuté un peu sur ce que fait le programme linefollow.ino. J'ai présenté un script Python qui nous permettra d'analyser le cas au niveau du bit des déclarations pour voir comment la valeur renvoyée par la méthode read
Marque : on Robotics Starter Kit - analyse LineFollowing.ino partie 1

Marque : on Robotics Starter Kit - analyse LineFollowing.ino partie 1

Dans notre dernier billet de blog, nous avons capturé quelques données de capteur des trois différentes positions que notre robot peut rencontrer lorsqu'il suit la ligne noire, (capteur noir, gauche droite/capteur capteur blanc, à droite noir à gauch
Culture hydroponique de compréhension

Culture hydroponique de compréhension

cette instructable vous expliquera la culture hydroponique domestique, avec l'intention de flore comestible de plus en plus.En d'autres termes, culture hydroponique est la science de la croissance des plantes sans sol--même si les plantes peuvent ou
Photographie en plein air : Lumière de compréhension

Photographie en plein air : Lumière de compréhension

Systèmes d'imagerie, caméras et capteurs sont devenues si banales que beaucoup les prendrait accordé sans jamais penser à comment ils fonctionnent. Le œil humain, une échographie foetale, un radio-télescope ou un microscope électronique ont non appar
Compréhension internationale différence de poids, mesures & temps + plus

Compréhension internationale différence de poids, mesures & temps + plus

st1\:*{behavior:url(#ieooui)} / * Style Definitions * / table. MsoNormalTable {mso-style-name: « Table Normal »; mso-tstyle-rowband-taille: 0; mso-tstyle-colband-taille: 0; mso-style-noshow:yes ; mso-style-parent: "";" mso-rembourrage-alt:
Chimie organique compréhension

Chimie organique compréhension

The cette instructable vise à donner un aperçu clair de chimie organique, y compris ; Formules, structure et identification à l'aide de quelqu'un qui est intéressé ou s'il prend cela sous réserve.Chimie organique est une sous-section de la chimie qui
Capteur ambiant interactive avec Intel Edison & Grove Starter Kit Plus

Capteur ambiant interactive avec Intel Edison & Grove Starter Kit Plus

Salut, j'ai vu beaucoup de Instructables ici mais je voudrais faire un projet où vous pouvez voir l'utilisation de différents capteurs, boutons, buzzers, togheter LED et lcd!!! Ce que nous allons réaliser est un capteur ambiant INTERACTIVE dans laque
Programmation python - compréhension de liste

Programmation python - compréhension de liste

# compréhension de liste# Créer une liste avec le modèle de recherchemodèle = ["a", "be", « the »]imprimer ("le modèle à mettre en correspondance est:", motif)Chaîne de #Createhameau = "être ou ne pas être, c'est la ques
Compréhension émetteurs-suiveurs : Utilisant des Transistors à réduire Sag

Compréhension émetteurs-suiveurs : Utilisant des Transistors à réduire Sag

De nombreux circuits électroniques, y compris les diviseurs de tension et de filtres, produisent des signaux qui s'affaissent quand le courant est tiré. Un émetteur-suiveur utilise un transistor pour réduire cet affaissement d'un facteur 100.Les info