Table des matières:

Ajouter un tachymètre optique basé sur Arduino à un routeur CNC : 34 étapes (avec photos)
Ajouter un tachymètre optique basé sur Arduino à un routeur CNC : 34 étapes (avec photos)

Vidéo: Ajouter un tachymètre optique basé sur Arduino à un routeur CNC : 34 étapes (avec photos)

Vidéo: Ajouter un tachymètre optique basé sur Arduino à un routeur CNC : 34 étapes (avec photos)
Vidéo: Amélioration ultime de ma graveuse laser et fraiseuse!!! 2024, Juillet
Anonim
Image
Image
Ajouter un tachymètre optique basé sur Arduino à un routeur CNC
Ajouter un tachymètre optique basé sur Arduino à un routeur CNC

Construisez un indicateur RPM optique pour votre routeur CNC avec un Arduino Nano, un capteur photodiode IR LED/IR et un écran OLED pour moins de 30 $. J'ai été inspiré par Measure RPM - Optical Tachometer Instructable d'eletro18 et je voulais ajouter un tachymètre à mon routeur CNC. J'ai simplifié le circuit du capteur, conçu un support personnalisé imprimé en 3D pour mon routeur CNC Sienci. Ensuite, j'ai écrit un croquis Arduino pour afficher à la fois un cadran numérique et analogique sur un écran OLED

Quelques pièces simples et quelques heures de votre temps, et vous pouvez ajouter un affichage RPM numérique et analogique à votre routeur CNC.

Voici la liste des pièces disponibles pour une expédition sous 2 jours. Vous pouvez probablement vous procurer les pièces à moindre coût si vous êtes prêt à attendre plus longtemps.

Liste des pièces

$6.99 Arduino Nano

5,99 $ Photodiode IR LED/IR (5 paires)

$7.99 Écran OLED 0.96 jaune/bleu I2C

$4.99 Fils de cavalier

1,00 $ Fil toronné à 3 conducteurs de 30 pouces (75 cm). Peut être acheté dans votre magasin local de fournitures pour la maison (Home Depot, Lowes) dans la section d'achat au pied

0,05 $ Résistance 220 ohms (6,99 $ si vous voulez 750 résistances assorties)

0,50 $ Gaine thermorétractable (5,99 $ si vous voulez un assortiment complet)

Supports imprimés en 3D

IDE Arduino (gratuit)

Remarque: j'ai initialement ajouté un condensateur de 0,01 μF après avoir sécurisé tous les fils et remarqué des valeurs de régime erratiques lorsque la CNC se déplaçait. Le condensateur a bien fonctionné pour les RPM inférieurs < 20K, mais il a trop lissé le signal pour tout ce qui est plus élevé. J'ai suivi le bruit jusqu'à l'alimentation du Nano et l'affichage directement à partir du bouclier CNC. Une alimentation séparée fonctionne pour tous les RPM. J'ai laissé les étapes pour l'instant, mais vous devez utiliser une source d'alimentation USB séparée.

Étape 1: Imprimez le support 3D

Imprimer le support 3D
Imprimer le support 3D

Imprimez le support 3D pour tenir la LED IR et les photodiodes IR. Les fichiers 3D sont ici et sur Thingiverse.

www.thingverse.com/thing:2765271

Pour le moulin Sienci, le support d'angle est utilisé pour monter le capteur sur les barres d'angle en aluminium, mais le support plat peut être mieux pour votre projet.

Étape 2: Impression en 3D du support d'écran OLED et du boîtier électronique

En option, imprimez en 3D le support d'écran OLED et le boîtier électronique
En option, imprimez en 3D le support d'écran OLED et le boîtier électronique

J'ai choisi de fixer l'OLED à un support d'écran incliné que j'ai vissé sur le dessus d'un boîtier électronique Sienci.

Voici les liens vers les pièces imprimées en 3D que j'ai utilisées.

Pièce 3D du boîtier électronique Sienci

Support de montage d'écran OLED de 0,96"

Le boîtier était un endroit agréable pour monter le support d'écran OLED et il tient bien l'Arduino Nano, en plus il s'adapte à l'arrière du moulin Sienci. J'ai percé quelques trous sur le dessus du boîtier pour fixer le support OLED.

J'ai également percé quelques trous dans le bas pour faire passer une petite attache zippée pour attacher fermement le faisceau de câbles

Étape 3: Construisez l'assemblage du fil du capteur IR

Construire l'assemblage du fil du capteur IR
Construire l'assemblage du fil du capteur IR

Le fil à 3 conducteurs sera utilisé pour câbler le capteur. Un fil sera une masse commune pour la LED IR et la photodiode IR, chacun des deux autres allant à leur composant respectif.

Étape 4: Ajoutez une résistance de limitation de courant pour la LED IR

Ajouter une résistance de limitation de courant pour la LED IR
Ajouter une résistance de limitation de courant pour la LED IR

La LED IR nécessite une résistance de limitation de courant. Le moyen le plus simple consiste à incorporer la résistance dans l'assemblage de fils.

Pliez les extrémités de chacun en forme de U et emboîtez-les. Sertissez avec une paire de pinces puis soudez-les ensemble.

Étape 5: Épisser les fils de raccordement

Fils de cavalier d'épissure
Fils de cavalier d'épissure
Fils de cavalier d'épissure
Fils de cavalier d'épissure

Vous pouvez épisser des fils de raccordement pour les connecter sur les broches d'en-tête Arduino.

Coupez un morceau de tube thermorétractable et faites-le glisser sur le fil avant de les connecter.

Faites glisser le tube thermorétractable sur la connexion (ou la résistance entière) et rétractez le tube en utilisant un pistolet thermique ou en faisant passer une flamme rapidement sur le tube jusqu'à ce qu'il rétrécisse. Si vous utilisez une flamme, maintenez-la en mouvement rapidement ou elle peut commencer à fondre.

Étape 6: Déterminez la LED IR et les fils de la photodiode

Déterminer la LED IR et les fils de photodiode
Déterminer la LED IR et les fils de photodiode

La LED IR et la photodiode IR se ressemblent, chacune ayant un fil long (anode ou positif) et un fil court (cathode ou négatif).

Étape 7: Insérez les diodes dans le support

Insérez les diodes dans le support
Insérez les diodes dans le support

Prenez la LED IR (diode transparente) et insérez-la dans l'un des trous du support de LED. Tournez la LED de sorte que le fil long soit à l'extérieur. Sur la photo, vous pouvez voir la LED transparente dans le trou du haut avec son long fil tout en haut.

Prenez la photodiode IR (diode noire) et insérez-la dans l'autre trou. Tournez la photodiode de sorte que son long fil soit au centre.

Comme le montre la photo, le fil court de la LED et le fil long de la photodiode seront tous deux au centre. Ces deux fils seront épissés à un fil commun vers l'arduino. (Voir les notes techniques à la fin si vous voulez plus de détails)

Prenez un petit morceau de filament de 1,75 et insérez-le derrière les diodes. Cela bloquera les diodes en place et les empêchera de tourner ou de sortir.

Je suis passé par plusieurs itérations de conceptions avant de m'installer sur celle-ci. Le fait que les diodes dépassent un peu a considérablement amélioré la tolérance lors de l'alignement avec l'écrou de serrage.

Étape 8: Fusionnez le filament de verrouillage sur le support

Fusionner le filament de verrouillage au support
Fusionner le filament de verrouillage au support

Vous voudrez couper le morceau de filament de verrouillage à un peu plus long que la largeur du support.

Chauffez un clou quelques secondes dans un étau ou en le tenant avec une pince.

Étape 9: Appuyez les extrémités du filament contre la tête de clou chauffée

Appuyez les extrémités du filament contre la tête de clou chauffée
Appuyez les extrémités du filament contre la tête de clou chauffée

Gardez votre doigt sur l'extrémité opposée du filament et appuyez pour faire fondre et fusionner la goupille de verrouillage dans le support.

Étape 10: Support de diode fini

Support de diode fini
Support de diode fini

Flush et soigné

Étape 11: Fixez le faisceau de câbles aux diodes

Attachez le faisceau de câbles aux diodes
Attachez le faisceau de câbles aux diodes
Attachez le faisceau de câbles aux diodes
Attachez le faisceau de câbles aux diodes

Coupez le fil à la longueur pour votre application. Pour le moulin Sienci, vous aurez besoin d'environ 30 pouces (~75 cm) au total (fil + cavaliers) et disposerez de mou pour que le routeur se déplace.

Pliez les pointes de fil et de plomb en forme de U pour les emboîter et faciliter la soudure.

Prenez un tube thermorétractable mince et coupez deux morceaux courts et deux morceaux légèrement plus longs. Glissez les morceaux les plus courts sur les fils de la diode extérieure. Glissez les morceaux les plus longs sur les deux fils centraux.

Le fait d'avoir deux longueurs différentes décale les joints d'épissure et décale les joints plus épais les uns des autres de sorte que le diamètre du câblage est réduit. Il empêche également tout court-circuit entre les différentes épissures de fil

Coupez trois morceaux de gaine thermorétractable de diamètre légèrement plus grand et placez-les sur chacun des trois fils du faisceau de câbles.

Il est important de s'assurer qu'il y a un petit espace entre les extrémités de la gaine thermorétractable sur les fils et le point d'épissure. Les fils deviendront chauds et si la gaine thermorétractable est trop proche, ils commenceront à rétrécir à la fin, les rendant potentiellement trop petits pour glisser sur le joint.

Étape 12: Assurez-vous que le fil avec la résistance est attaché au fil long de la LED IR

La résistance de limitation de courant (220 ohms) intégrée au faisceau de câbles doit être connectée au long fil (anode) de la LED IR transparente. Le fil reliant les deux fils communs sera connecté à la terre, vous pouvez donc utiliser un fil noir ou nu pour cette connexion.

Soudez les connexions pour les rendre permanentes.

Étape 13: Rétrécissez le tube thermorétractable

Rétrécissez le tube thermorétractable
Rétrécissez le tube thermorétractable

Une fois les joints soudés, utilisez d'abord une allumette ou un briquet pour rétrécir le tube sur les fils de la diode. Éloignez d'abord la gaine thermorétractable des fils aussi loin que possible de la chaleur.

Gardez la flamme en mouvement rapidement car elle rétrécit et tourne pour obtenir tous les côtés de manière égale. Ne vous attardez pas ou le tube fondra au lieu de rétrécir.

Une fois que les fils de la diode ont été rétrécis, faites glisser le tube thermorétractable légèrement plus grand des fils, sur les joints et répétez le rétrécissement.

Étape 14: préparer le bloc de montage

Préparer le bloc de montage
Préparer le bloc de montage

En fonction de votre application, choisissez le bloc de montage qui convient à votre application. Pour le moulin depuis, sélectionnez le bloc de montage d'angle.

Prenez un écrou M2 et une vis M2. Vissez l'écrou à peine sur l'extrémité de la vis.

Retournez le bloc de montage et testez l'ajustement de l'écrou M2 dans le trou.

Retirez et chauffez légèrement l'écrou avec une allumette ou une flamme, puis insérez-le rapidement à l'arrière du bloc de montage.

Dévissez la vis en laissant l'écrou enfoncé dans le bloc de montage en plastique. Pour plus de solidité, appliquez une goutte de super colle sur le bord de l'écrou pour fixer solidement l'écrou au bloc.

Étape 15: Assurez-vous que la vis M2 est de la bonne longueur

Assurez-vous que la vis M2 est de la bonne longueur
Assurez-vous que la vis M2 est de la bonne longueur

Assurez-vous que la vis n'est pas trop longue ou le capteur ne serrera pas contre le bloc de montage. Pour le bloc de montage d'angle, assurez-vous que la vis M2 est de 9 mm ou un peu plus courte.

Étape 16: Fixez le bloc de montage au routeur CNC

Fixez le bloc de montage au routeur CNC
Fixez le bloc de montage au routeur CNC

Pour le moulin Sienci, fixez le bloc de montage d'angle au bas de l'intérieur du rail Z avec quelques gouttes de super colle.

Étape 17: Fixez le capteur au bloc de montage

Fixez le capteur au bloc de montage
Fixez le capteur au bloc de montage

Placez le bras réglable dans le bloc de montage

Insérez la vis M2 avec une rondelle dans la fente du bras de montage réglable et vissez-la dans l'écrou.

Faites glisser le bras réglable jusqu'à ce que la LED et les photodiodes soient au même niveau que l'écrou de serrage du routeur

Serrer la vis

Étape 18: ajoutez du ruban réfléchissant sur un côté de l'écrou de serrage

Ajouter du ruban réfléchissant sur un côté de l'écrou de serrage
Ajouter du ruban réfléchissant sur un côté de l'écrou de serrage

Utilisez une petite bande de ruban d'aluminium (utilisé pour les conduits de four) et attachez-la à une facette de l'écrou de serrage. Cette bande réfléchissante permettra au capteur optique IR de capter une seule révolution de la broche.

Étape 19: assurez-vous que le ruban réfléchissant ne dépasse pas le bord des facettes adjacentes

Assurez-vous que le ruban réfléchissant ne dépasse pas le bord des facettes adjacentes
Assurez-vous que le ruban réfléchissant ne dépasse pas le bord des facettes adjacentes

Le ruban doit être placé sur un seul côté de l'écrou de serrage. Le ruban est suffisamment fin et léger pour ne pas interférer avec la clé pour changer les fraises en bout ou affecter l'équilibre de la broche.

Étape 20: faites passer le fil du capteur le long de l'intérieur du rail en Z

Faites passer le fil du capteur le long de l'intérieur du rail en Z
Faites passer le fil du capteur le long de l'intérieur du rail en Z

À l'aide de bandes de ruban adhésif en aluminium, fixez le fil à l'intérieur du rail en Z. Il est préférable de faire passer le ruban près du bord du rail d'angle pour dégager l'assemblage de l'écrou de la vis mère.

Étape 21: Fixez le capteur à l'Arduino Nano

Fixez le capteur à l'Arduino Nano
Fixez le capteur à l'Arduino Nano

Connectez les fils à l'Arduino comme suit:

  • LED IR (avec résistance intégrée) -> Pin D3
  • Photodiode IR -> Broche D2
  • Fil commun -> Pin GND

Étape 22: connectez les câbles de connexion à l'écran OLED

Attachez les fils de cavalier à l'écran OLED
Attachez les fils de cavalier à l'écran OLED

Retirez un ensemble de câbles de démarrage à 4 fils

Branchez les fils dans les 4 broches de l'interface I2C:

  • VCC
  • GND
  • SCL
  • ADD

Étape 23: connectez l'écran OLED à l'Arduino

Fixez l'écran OLED à l'Arduino
Fixez l'écran OLED à l'Arduino
Fixez l'écran OLED à l'Arduino
Fixez l'écran OLED à l'Arduino

Attachez les fils de liaison aux broches suivantes. Remarque: ces fils ne se fixent pas tous aux broches adjacentes, ni dans le même ordre.

  • VCC -> Broche 5V
  • GND -> Broche GND
  • SCL -> Broche A5
  • SDA -> Broche A4

Étape 24: Fixez l'écran OLED à son support

Fixez l'écran OLED à son support
Fixez l'écran OLED à son support

À l'aide des supports que vous avez imprimés précédemment, fixez l'écran OLED à son support

Fixez ensuite l'écran au cadre CNC.

Étape 25: préparer l'IDE Arduino pour charger l'esquisse Arduino

Préparer l'IDE Arduino pour charger l'esquisse Arduino
Préparer l'IDE Arduino pour charger l'esquisse Arduino

Un programme pour un Arduino s'appelle un sketch. L'environnement de développement intégré (IDE) pour Arduinos est gratuit et doit être utilisé pour charger le programme pour détecter le capteur et afficher le RPM.

Si vous ne l'avez pas déjà, voici un lien pour télécharger l'IDE Arduino. Choisissez la version téléchargeable 1.8.5 ou supérieure.

Étape 26: ajouter les bibliothèques OLED requises

Ajouter les bibliothèques OLED requises
Ajouter les bibliothèques OLED requises

Pour exécuter l'écran OLED, vous aurez besoin de quelques bibliothèques supplémentaires, la bibliothèque Adafruit_SSD1306 et la bibliothèque Adafruit-GFX. Les deux bibliothèques sont gratuites et disponibles via les liens fournis. Suivez le didacticiel Adafruit pour savoir comment installer les bibliothèques pour votre ordinateur.

Une fois les bibliothèques installées, elles sont disponibles pour toutes les esquisses Arduino que vous créez.

Les bibliothèques Wire.h et Math.h sont standard et sont automatiquement incluses dans votre installation IDE.

Étape 27: connectez l'Arduino à votre ordinateur

À l'aide d'un câble USB standard, connectez l'Arduino Nano à votre ordinateur avec l'IDE Arduino.

  1. Lancer l'IDE
  2. Dans le menu Outils, sélectionnez Tableau | Arduino Nano
  3. Dans le menu Outils, sélectionnez Port |

Vous êtes maintenant prêt à charger le croquis, à le compiler et à le télécharger sur le Nano

Étape 28: Téléchargez le croquis Arduino

Le code Arduino Sketch est joint et est également disponible sur ma page GitHub où toutes les améliorations futures seront publiées.

Téléchargez le fichier OpticalTachometerOledDisplay.ino et placez-le dans un répertoire de travail du même nom (moins le.ino).

Dans l'IDE Arduino, choisissez Fichier | Ouvert…

Accédez à votre répertoire de travail

Ouvrez le fichier OpticalTachometerOledDisplay.ino.ino.

Étape 29: Compiler le croquis

Compiler le croquis
Compiler le croquis
Compiler le croquis
Compiler le croquis

Cliquez sur le bouton 'Vérifier' ou choisissez Esquisse | Vérifier/Compiler à partir du menu pour compiler le croquis.

Vous devriez voir la zone de compilation en bas, avec une barre d'état. Dans quelques secondes, le message "Compilation terminée" et des statistiques sur la quantité de mémoire occupée par le croquis seront affichés. Ne vous inquiétez pas du message "Low Memory Available", cela n'affecte rien. La majeure partie de la mémoire est utilisée par la bibliothèque GFX nécessaire pour dessiner les polices sur l'écran OLED et non par le croquis lui-même.

Si vous voyez des erreurs, elles sont probablement dues à des bibliothèques manquantes ou à des problèmes de configuration. Vérifiez que les bibliothèques ont été copiées dans le bon répertoire pour l'IDE.

Si cela ne résout pas le problème, consultez les instructions sur l'installation d'une bibliothèque et réessayez.

Étape 30: Télécharger sur le Nano

Télécharger sur le Nano
Télécharger sur le Nano

Appuyez sur le bouton 'Flèche' ou choisissez Esquisse | Téléchargez à partir du menu pour compiler et télécharger le croquis.

Vous verrez le même message "Compilation…", suivi d'un message "Téléchargement…" et enfin d'un message "Téléchargement terminé". L'Arduino commence à exécuter le programme dès que le téléchargement est terminé ou dès que l'alimentation est appliquée par la suite.

À ce stade, l'écran OLED devrait s'animer avec un affichage RPM: 0 avec le cadran à zéro.

Si vous avez remonté le routeur, vous pouvez allumer l'interrupteur et voir l'écran lire le RPM pendant que vous ajustez la vitesse.

Toutes nos félicitations!

Étape 31: utilisez une source d'alimentation dédiée

Utilisez une source d'alimentation dédiée
Utilisez une source d'alimentation dédiée
Utilisez une source d'alimentation dédiée
Utilisez une source d'alimentation dédiée

REMARQUE: C'était la source du bruit de signal qui a causé les affichages de régime erratiques. J'envisage de mettre des capuchons de filtre sur les cavaliers d'alimentation, mais pour l'instant, vous devrez l'alimenter via un câble USB séparé.

Vous pouvez faire fonctionner l'écran connecté à votre ordinateur avec le câble USB, mais vous aurez éventuellement besoin d'une source d'alimentation dédiée.

Vous avez plusieurs options, vous pouvez obtenir un chargeur mural USB standard et exécuter l'Arduino à partir de celui-ci.

Ou vous pouvez exécuter l'Arduino directement à partir de l'électronique de votre routeur CNC. L'écran Arduino/OLED ne consomme que 0,04 ampères, il ne va donc pas surcharger vos appareils électroniques existants.

Si vous avez une électronique Arduino/CNC Router Shield (comme le Sienci Mill), vous pouvez utiliser quelques broches inutilisées pour puiser dans les 5 volts nécessaires.

Sur le côté supérieur gauche du bouclier du routeur CNC, vous pouvez voir qu'il y a quelques broches inutilisées étiquetées 5V/GND. Attachez une paire de câbles de démarrage à ces deux broches.

Étape 32: connectez l'Arduino aux cavaliers d'alimentation

Connectez l'Arduino aux cavaliers d'alimentation
Connectez l'Arduino aux cavaliers d'alimentation
Connectez l'Arduino aux cavaliers d'alimentation
Connectez l'Arduino aux cavaliers d'alimentation

Celui-ci est facile, mais pas aussi bien étiqueté.

Sur l'Arduino Nano, il y a un jeu de 6 broches au bout de la carte. Ils ne sont pas étiquetés, mais j'ai inclus le schéma de brochage et vous pouvez voir que les deux broches extérieures les plus proches des voyants sont étiquetées GND et 5V sur le schéma.

Connectez le cavalier de la broche 5V sur le blindage CNC à la broche la plus proche de celle étiquetée VIN (ne le connectez pas à VIN, mais à la broche du coin intérieur du groupe 6 broches). Le VIN sert à alimenter le Nano avec une alimentation 7V-12V.

Connectez le cavalier de la broche GND sur le blindage CNC à la broche la plus proche de la broche TX1.

Désormais, lorsque vous allumez l'électronique du routeur CNC, l'affichage OLED RPM s'allume également.

Étape 33: Notes techniques sur le circuit

Notes techniques sur le circuit
Notes techniques sur le circuit

Le circuit du capteur utilise une paire de photodiodes IR/LED IR.

La LED IR fonctionne comme n'importe quelle LED ordinaire. Le fil positif (le plus long ou l'anode) est connecté à une tension positive. Sur un Arduino Nano, c'est une broche de sortie réglée sur HIGH. Le fil négatif (plus court ou cathode) est connecté à la terre pour compléter le circuit. Étant donné que les LED sont sensibles à trop de courant, une petite résistance est placée en série avec la LED pour limiter la quantité de courant. Cette résistance peut être n'importe où dans le circuit, mais il est plus logique de la placer du côté positif du circuit, car le fil négatif partage une connexion à la terre avec la photodiode.

La photodiode IR se comporte comme n'importe quelle autre diode (y compris les diodes électroluminescentes LED) en ce sens qu'elles ne conduisent l'électricité que dans une direction, bloquant l'électricité dans la direction opposée. C'est pourquoi il est important d'avoir une polarité correcte pour que les LED fonctionnent.

La différence importante avec les photodiodes est que lorsqu'elles détectent la lumière, les photodiodes permettent à l'électricité de circuler dans les deux sens. Cette propriété est utilisée pour fabriquer un détecteur de lumière (dans ce cas lumière infrarouge ou IR). La photodiode IR est connectée dans une polarité opposée (appelée polarisation inverse) avec le 5V positif sur la broche Arduino connecté au fil négatif de la photodiode et le fil positif est connecté via un fil commun avec la LED IR à la terre.

Sans lumière IR, la photodiode IR bloque l'électricité, permettant à la broche Arduino avec sa résistance de rappel interne d'être à l'état HAUT. Lorsque la photodiode IR détecte la lumière IR, elle permet à l'électricité de circuler, mettant la broche à la terre et provoquant la chute de la valeur HAUTE de la broche de la photodiode vers la terre, provoquant un front FALLING que l'Arduino peut détecter.

Ce changement d'état sur la broche Arduino est utilisé dans le croquis pour compter les révolutions.

La bande de ruban en aluminium sur l'écrou de la pince réfléchit la lumière IR de la LED IR toujours allumée vers la photodiode IR chaque fois qu'elle tourne devant le capteur.

Étape 34: Notes techniques sur l'esquisse Arduino

L'esquisse Arduino pilote l'écran OLED et réagit simultanément au capteur IR LED/IR Photodiode.

Le Sketch initialise l'affichage OLED tout au long du protocole I2C (Inter-integrated Circuit). Ce protocole permet à plusieurs écrans/capteurs de partager une connexion et peut lire ou écrire sur un appareil connecté spécifique avec un minimum de fils (4). Cette connexion réduit le nombre de connexions entre l'Arduino et l'écran OLED.

Il allume ensuite la LED IR en réglant cette broche sur HIGH fournissant les 5V nécessaires à la LED.

Il attache une fonction d'interruption à une broche qui est appelée lorsqu'il détecte un changement d'état de cette broche. Dans ce cas, la fonction incrementRevolution() est appelée chaque fois qu'un front FALLING est détecté sur la broche 2.

Une fonction d'interruption fait exactement ce qu'elle implique, elle interrompt tout ce qui est en train d'être fait, exécute la fonction puis reprend l'action exactement là où elle a été interrompue. Les fonctions d'interruption doivent être aussi courtes que possible, dans ce cas, elles n'ajoutent qu'une à une variable de compteur. Le petit Arduino Nano fonctionne à 16 MHz - 16 millions de cycles par seconde - assez rapidement pour gérer l'interruption de 30 000 tr/min, soit seulement 500 tours par seconde.

La fonction Loop () est la fonction d'action principale pour toute esquisse Arduino. Il est appelé en permanence, encore et encore tant que l'Arduino est alimenté. Il obtient l'heure actuelle, vérifie si un intervalle spécifié s'est écoulé (1/4 de seconde = 250 millisecondes). Si c'est le cas, il appelle la fonction updateDisplay() pour afficher la nouvelle valeur RPM.

La fonction de boucle assombrira également l'affichage après 1 minute et éteindra l'affichage après 2 minutes - entièrement configurable dans le code.

Les fonctions updateDisplay() appellent la fonction calculateRpm(). Cette fonction prend le nombre de tours que la fonction d'interruption a régulièrement incrémenté et calcule le RPM en déterminant le taux de tours par intervalle de temps et en l'extrapolant au nombre de tours par minute.

Il affiche la valeur numérique et utilise un trig de lycée pour dessiner un cadran analogique et le bras indicateur pour refléter les mêmes valeurs.

Les constantes en haut du croquis peuvent être modifiées si vous souhaitez un cadran RPM avec différentes valeurs majeures et mineures.

L'intervalle de mise à jour et l'intervalle moyen peuvent également être modifiés.

Conseillé: