Arduino | Analog Meter

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 Screwdriver with the S1 and P0 bits
  • B 1 x chaussette servo
  • C 4 x #6 x 1/2" Wood Screws
  • 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

Now that you know it works, you can adjust the connection to include the sound sensor [C] to make the meter move to sound. First, you will need to move the servo connection from D8 to D10 [A].

Next, hook up the sensor wire to the A5 connection directly under the servo connection [B] (the colours should line up the same)

Hook up the sensor to the other end of the cable making sure that the "s" pin in connected to the orange/signal wire and the Brown to the "G"

*Note - If the sensor is not sensitive enough you can adjust the sound sensitivity with a Philips #0 bit to

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 ?