Arduino Nano et Visuino: Enregistrer la valeur de l'encodeur rotatif dans une EEPROM: 11 étapes (avec des images)

Arduino Nano et Visuino: Enregistrer la valeur de l'encodeur rotatif dans une EEPROM: 11 étapes (avec des images)

Table des matières:

Anonim

Visuino a inclus EEPROM support depuis un certain temps, mais je n’ai jamais eu la chance d’écrire un tutoriel dessus. Récemment cependant, peu de personnes ont demandé de l’aide pour utiliser le logiciel. EEPROM, alors j'ai décidé d'en faire un.

Dans ce tutoriel, je vais vous montrer à quel point il est facile d’utiliser l’Arduino. EEPROM pour sauvegarder les valeurs afin qu’elles puissent être utilisées lors de la prochaine mise sous tension de l’Arduino après sa mise hors tension.

Provisions:

Étape 1: Composants

  1. Un Arduino carte compatible (j'utilise Arduino Nano, car j'en ai une, mais toutes les autres vont bien)
  2. Un Codeur rotatif module que j’ai reçu de cet ensemble de 37 capteurs bon marché.
  3. 5 Femme-femme fils de connexion

Étape 2: Connectez le codeur rotatif à Arduino

  1. Relier Sol(Fil noir), Puissance(Cable rouge), Direction(Fil vert), L'horloge(Fil jaune) et Commutateur (Fil blanc) au Codeur rotatif Module (Image 1)
  2. Connectez l’autre extrémité du Fil de terre(Fil noir) à Sol broche de la Arduino planche (Photo 2)
  3. Connectez l’autre extrémité du Fil d'alimentation(Cable rouge) au 5V broche d'alimentation de la Arduino planche (Photo 2)
  4. Connectez le Fil d'horloge(Fil jaune) à Broche numérique 2 du Arduino planche (Photo 3)
  5. Connectez le Fil de direction(Fil vert) à Broche numérique 3 du Arduino planche (Photo 3)
  6. Connectez le Fil de commutation(Fil blanc) à Broche numérique 4 du Arduino planche (Photo 3)
  7. Photo 4 montre où sont les Sol, 5V Puissance, Numérique 2, numérique 3 et Numérique 4 épingles de la Arduino Nano.

Étape 3: démarrez Visuino et sélectionnez le type de carte Arduino

Pour commencer à programmer l’Arduino, vous devez disposer du Arduino IDE installé à partir d'ici:

Assurez-vous d’installer la version 1.6.7 ou supérieure, sinon cet Instructable ne fonctionnera pas!

le Visuino: http://www.visuino.com doit également être installé.

  1. Début Visuino comme indiqué dans le première image
  2. Clique sur le "Outils"bouton du composant Arduino (Image 1) dans Visuino
  3. Lorsque la boîte de dialogue apparaît, sélectionnez Arduino Nano comme représenté sur la Photo 2

Étape 4: Dans Visuino: ajoutez un élément EEPROM entier, puis définissez la broche numérique 4 comme extensible.

Pour utiliser le EEPROM Module du composant Arduino, nous devons lui ajouter un élément où nous allons stocker la valeur. Nous pouvons ajouter plusieurs éléments de types différents. Dans notre cas puisque nous allons stocker les données Integer, nous allons ajouter Élément entier. De plus, le bouton (interrupteur) du codeur rotatif que j’ai utilisé n’a pas de résistance de rappel intégrée, nous allons donc activer la résistance de rappel Arduino pour Broche numérique 4 où le bouton est connecté:

  1. Dans l'inspecteur d'objets, développez le "Modules"propriété, puis développez le"EEPROM"sous-propriété, et cliquez sur le"bouton "à côté de la valeur du"Éléments" propriété (Image 1)
  2. Dans le "Éléments"éditeur sélectionnez"Entier", Puis cliquez sur le"+"bouton pour ajouter un élément entier (Photo 2)
  3. Fermer la "Éléments"dialogue
  4. Dans l'inspecteur d'objets, développez le "Numérique"propriété, puis développez le"Numérique 4", puis définissez la valeur de"Est Pull Up"propriété à"Vrai' (Photo 3)

Étape 5: Dans Visuino: Ajouter, configurer et connecter un composant du codeur rotatif

Pour lire les données du Rotary Encoder, nous allons ajouter et connecter un Visuino composant:

  1. Type "rotatif"dans la boîte de dialogue Filtre de la boîte à outils des composants, sélectionnez ensuite"Capteur codeur rotatif"composant (Image 1) et déposez-le dans la zone de conception
  2. Facultativement, dans l'inspecteur d'objets, définissez la valeur du "Intervalle de rebond"propriété à"5' (Photo 2) Ceci supprimera le bruit de rebond sur certains encodeurs rotatifs. Si votre encodeur n'est pas bruyant, vous pouvez laisser la valeur de cette propriété comme "0'.
  3. Connectez le "En dehors"broche de la Numérique 2 canal de la Arduino composant à la "Horloge (a)"broche de la RotaryEncoderSensor1 (Photo 3)
  4. Connectez le "En dehors"broche de la Numérique 3 canal de la Arduino composant à la "Direction (B)"broche de la RotaryEncoderSensor1 (Photo 4)

Étape 6: Dans Visuino: Ajouter un composant de compteur / décompteur et définir un élément de valeur dans celui-ci

Nous allons ajouter un compteur pour compter les impulsions du codeur rotatif. Nous devons également définir une valeur de la EEPROM dans le comptoir lorsque l’appareil est sous tension. Pour cela, nous devrons ajouter "Définir la valeur"élément du compteur, et ajoutez un pin à sa propriété Value:

  1. Type "compter"dans la boîte de dialogue Filtre de la boîte à outils des composants, sélectionnez ensuite"Compteur / décompteur"composant (Image 1) et déposez-le dans la zone de conception
  2. Clique sur le "Outils"bouton de la UpDownCounter1 composant (Photo 2)
  3. Dans le "Éléments"éditeur sélectionnez le"Définir la valeur”Élément, puis cliquez sur le"+"bouton à gauche pour ajouter un"Définir la valeur"Element (Photo 3)
  4. Dans l'inspecteur d'objets, cliquez sur le bouton Épingle bouton devant le "Valeur" propriété (Photo 4) et sélectionnez "SinkPin Integer' (Photo 5)
  5. Fermer la "Éléments"dialogue.

Étape 7: Dans Visuino: connectez le composant compteur / décompteur

  1. Connectez le "Up"broche de la RotaryEncoderSensor1 composant à la "Up"broche de la UpDownCounter1 composant (Image 1)
  2. Connectez le "Vers le bas"broche de la RotaryEncoderSensor1 composant à la "Vers le bas"broche de la UpDownCounter1 composant (Photo 2)
  3. Connectez le "En dehors"broche de la"Modules.EEPROM.Elements.Integer1"élément du Arduino composant à la "Valeur"broche d'entrée du"Elements.Set Value1"élément du UpDownCounter1 composant (Photo 3)
  4. Connectez le "En dehors"broche de la UpDownCounter1 composant à la "Dans"broche d'entrée du"Modules.EEPROM.Elements.Integer1"élément du Arduino composant (Photo 4)
  5. Connectez le "En dehors"broche de la UpDownCounter1 composant à la "Dans"broche d'entrée du"Série 0"canal de la Arduino composant (Photo 5)

Étape 8: Dans Visuino: Ajouter et connecter un bouton anti-rebond et des composants d'inverseur

Nous allons utiliser le bouton (Switch) du Codeur rotatif (en appuyant sur l'essieu) pour enregistrer la valeur actuelle du compteur dans le EEPROM. Comme le bouton a la valeur par défaut True et la valeur False lorsque vous appuyez dessus, nous l'inversons. Les boutons ont généralement un bruit qui rebondit lorsqu'ils sont pressés ou relâchés. J'ai déjà fait un tutoriel sur la façon de supprimer le bruit, et ici nous allons utiliser le même composant Debounce Button pour supprimer le bruit:

  1. Type "bouton"dans la boîte de dialogue Filtre de la boîte à outils des composants, sélectionnez ensuite"Bouton anti-rebond"composant (Image 1) et déposez-le dans la zone de conception
  2. Type "inverser"dans la boîte de dialogue Filtre de la boîte à outils des composants, sélectionnez ensuite"Onduleur booléen (pas)"composant (Photo 2) et déposez-le dans la zone de conception

  3. Connectez le "En dehors"broche de la Numérique 4 canal de la Arduino composant à la "Dans"broche de la Button1 composant (Photo 3)
  4. Connectez le "En dehors"broche de la Button1 composant à la "Dans"broche de la Onduleur1 composant (Photo 4)
  5. Connectez le "En dehors"broche de la Onduleur1 composant à la "Rappelles toi"broche d'entrée du"Modules.EEPROM.Elements.Integer1"élément du Arduino composant (Photo 5)

Étape 9: Dans Visuino: Ajout et connexion, démarrage et horloge, composants multi-sources

Nous voulons charger la valeur stockée dans le EEPROM dans le compteur dès que le code Arduino commence à s'exécuter. Pour cela, nous pouvons utiliser le "Début"composant. Il génère un événement d'horloge lorsque le code Arduino commence à s'exécuter. Nous voulons également charger en premier l'élément Value de Set Value, puis définir cette valeur sur le compteur. Nous pouvons utiliser le "Horloge Multi Source"pour générer plusieurs événements dans l’ordre spécifié:

  1. Type "début"dans la boîte de dialogue Filtre de la boîte à outils des composants, sélectionnez ensuite"Début"composant (Image 1) et déposez-le dans la zone de conception
  2. Type "l'horloge"dans la boîte de dialogue Filtre de la boîte à outils des composants, sélectionnez ensuite"Horloge Multi Source"composant (Photo 2) et déposez-le dans la zone de conception

  3. Connectez le "En dehors"broche de la Start1 composant à la "Dans"broche d’entrée du ClockMultiSource1 composant (Photo 3)
  4. Connectez le "Pin 0"broche de sortie du ClockMultiSource1 composant, au "Rappel"broche d'entrée du"Modules.EEPROM.Elements.Integer1"élément du Arduino composant (Photo 4)
  5. Connectez le "Pin 1"broche de sortie du ClockMultiSource1 composant, au "dans"broche d'entrée du"Elements.Set Value1"élément du UpDownCounter1 composant (Photo 5)

Étape 10: générer, compiler et télécharger le code Arduino

  1. Dans Visuino, Presse F9 ou cliquez sur le bouton affiché sur Image 1 pour générer le code Arduino et ouvrir l'IDE Arduino
  2. dans le Arduino IDE, clique sur le Télécharger bouton, pour compiler et télécharger le code (Photo 2)

Étape 11: Et jouez …

Vous pouvez voir le projet connecté et en cours sur Image 1.

Sur Photo 2 vous pouvez voir la complète Visuino diagramme.

  1. Si vous ouvrez Terminal série dans le Arduino IDE ou Visuino, vous verrez la valeur initiale du compteur remise à zéro (ou tout ce qui a été stocké dans le EEPROM avant) (Photo 3)
  2. Si vous faites pivoter le Codeur rotatif, vous verrez la valeur du compteur changer (Photo 4)
  3. Si vous appuyez sur l'essieu du Codeur rotatif bas, la valeur actuelle du compteur sera sauvegardée dans le EEPROM
  4. Si vous éteignez l’Arduino, puis le rallumez et connectez le avec Terminal série, vous verrez que le compteur sera initialisé avec la valeur enregistrée dans le EEPROM (Photo 5) et dans mon cas changera immédiatement de 0 à 23 (La valeur que j'ai sauvegardée dans le EEPROM)
  5. Vous pouvez continuer à changer le compteur en tournant le Codeur rotatif (Photo 6)

Toutes nos félicitations! Vous avez appris à lire et à écrire des valeurs dans l'Arduino EEPROM avec Visuino.

Aussi attaché est le Visuino projet, que j'ai créé pour cet Instructable. Vous pouvez le télécharger et l'ouvrir dans Visuino: