Arduino | Compteur analogique

Aperçu

Les compteurs analogiques sont tout autour de nous !. Ils sont utilisés pour représenter visuellement les mesures et les données. L'un des compteurs analogiques les plus courants est l'aiguille de carburant dans une voiture. Cela convertit une lecture du niveau de carburant dans le réservoir en une lecture vide à pleine sur le compteur.

Dans cette version, nous utiliserons un servo pour construire un compteur à commande électronique. Nous utiliserons d'abord simplement le bouton sur le tableau de commande pour déplacer l'aiguille en convertissant la position du bouton en mouvement de l'aiguille. Ensuite, un capteur sonore sera connecté pour convertir le niveau sonore (c'est-à-dire la musique) en une lecture de compteur. Cela en fera ce qu'on appelle communément un "VU-mètre"

Compétences + Objectifs

Charpenterie

Utilisation des outils et du matériel de base

Construction

Suivre les instructions de montage visuelles

Code

Comprendre les mathématiques/le code derrière la conversion des lectures d'entrée en lectures de sortie (compteur)

Âge 10+

Temps 60 minutes

Matériaux

  • UN 1 x Tournevis avec embouts S1 et P0
  • B 1 x chaussette servo
  • C 4 vis à bois #6 x 1/2"
  • D 2 x pinces à reliure
  • E 1 x carte de compteur
  • F 1 x aiguille de mètre
  • g 1 x entretoise
  • H 1 panneau arrière de compteur.

Créer une vidéo

Étapes de construction

Étape 1

Commencez par la plaque de base, les trous pour le montage de la chaussette servo doivent être en bas

Étape 2

Alignez le disque de la chaussette servo [A] avec le trou de la plaque arrière et utilisez 2 vis [B] pour monter la chaussette servo

Remarque - Il peut être plus facile d'aligner et de maintenir en place si vous "pilotez" d'abord les vis dans la plaque arrière afin qu'elles traversent légèrement le bois.

Étape 3

Rassemblez l'aiguille, les entretoises en bois et 2 vis.

Étape 4

Utilisez le tournevis et 2 vis [C] pour fixer l'aiguille [B] et l'entretoise [A] au disque Servo Sock.

Étape 5

À l'aide des 2 clips de reliure [A], fixez la carte de compteur [B] à la plaque arrière.

Remarque - la carte du compteur peut être dessinée pour représenter les informations minimales et maximales que vous souhaitez lire. Par exemple 0-100, calme-fort, froid-chaud, etc.

Étape 6

Connectez le connecteur du servo à la première connexion (étiquetée D8) [A] sur la carte de commande.

Ensuite, connectez la connexion d'alimentation USB à votre batterie USB ou à une alimentation USB (c'est-à-dire un chargeur de téléphone).

Remarque - Il n'est pas recommandé d'alimenter le contrôleur via un port USB sur un appareil électronique tel qu'un ordinateur ou un téléviseur. Ces ports sont destinés au transfert de données et ne fournissent pas d'alimentation.

Étape 7

Allumez la carte à l'aide de l'interrupteur d'alimentation dans le coin inférieur gauche de la carte. Le premier bouton (étiqueté A0) [B] contrôlera le compteur.

Pour enregistrer le mouvement, cliquez sur le bouton gauche (rouge) [C] et cliquez à nouveau une fois terminé. Le bouton droit (noir) [D] bouclera l'animation que vous avez stockée sur le tableau.

Étape 8

Maintenant que vous savez que cela fonctionne, vous pouvez ajuster le branchement pour inclure le capteur sonore [C] afin que le compteur réagisse au son. Vous devrez d'abord déplacer le connecteur du servo de D8 à D10 [A].

Ensuite, connectez le fil du capteur à la connexion A5 directement sous la connexion servo [B] (les couleurs doivent être alignées).

Raccordez le capteur à l'autre extrémité du câble en vous assurant que la broche " s " est connectée au fil orange/signal et le fil marron au fil " G "."

*Remarque : Si le capteur n’est pas suffisamment sensible, vous pouvez ajuster la sensibilité sonore à l’aide d’un embout Philips #0.

Le code

L'exemple ci-dessous illustre comment le code peut récupérer une valeur de capteur et la convertir en mouvement de compteur (position servo)

int sensor_value = analogRead(5);

int servo_value = map(sensor_value, 0, 1023, 0, 180);

my_servo.write(servo_value);

Répartition des codes

  • Ligne 1 - Nous devons d'abord récupérer la valeur du capteur du capteur de son connecté à la broche 5 de l'Arduino et la stocker dans une variable "sensor_value"
  • Ligne 3 - Ensuite, nous utilisons une fonction map() qui permet de convertir/mettre à l'échelle une valeur dans une plage en une autre valeur dans une plage. Dans ce cas, le capteur fournit une valeur dans la plage de 0 à 1023, mais nous avons besoin que celle-ci soit représentée par une valeur dans la plage de 0 à 180 pour notre servomoteur.  
  • Ligne 5 - Enfin, nous envoyons la variable «servo_value» convertie au servo à l'aide de la fonction write ().

Des questions

Q | Où d'autre les compteurs analogiques sont-ils utilisés ?
Un | Compteur de vitesse de voiture
Un | Jauge de pression des pneus
Un | Compteur hydro (anciens)
Q | Si vous avez une plage de 0 à 100 et une valeur de 20, quelle sera la valeur si elle est mappée sur une plage de 0 à 10 ?
Un | 2
Q | Lorsque vous utilisez des vis avec du bois pour fixer des objets, pourquoi est-il utile de "piloter" une vis
Un | Cela aide à aligner les pièces et rend le vissage beaucoup plus facile étant déjà dans la pièce

Évaluation

  • Le projet a-t-il été assemblé avec succès
  • Le concept de conversion des valeurs d'entrée en valeurs de sortie a-t-il été compris ?