Table des matières:
- Étape 1: Liste des pièces
- Étape 2: connexion de l'écran
- Étape 3: Téléchargez le croquis
- Étape 4: connexion de l'ergomètre
- Étape 5: LED d'état rapide en option
- Étape 6: Alimenter l'affichage de votre ergomètre
- Étape 7: Utilisation de l'affichage de votre ergomètre
Vidéo: Affichage d'ergomètre simple basé sur Arduino avec rétroaction différentielle : 7 étapes (avec images)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Le cardio-entraînement est ennuyeux, en particulier lorsque l'on fait de l'exercice à l'intérieur. Plusieurs projets existants tentent d'atténuer cela en faisant des trucs sympas comme coupler l'ergomètre à une console de jeu, ou même simuler une vraie balade à vélo en VR. Aussi excitants qu'ils soient, techniquement, ils n'aident pas vraiment: l'entraînement est toujours ennuyeux. Au lieu de cela, j'aimerais pouvoir simplement lire un livre ou regarder la télévision pendant l'entraînement. Mais ensuite, il est difficile de maintenir un rythme soutenu.
L'idée, ici, est de se concentrer sur ce dernier problème et de fournir une rétroaction directe, indiquant si votre niveau actuel de formation est assez bon ou si vous devriez faire plus d'efforts. Cependant, le niveau « assez bon » variera non seulement par personne, mais aussi dans le temps (à long terme, au fur et à mesure que vous vous améliorez, mais aussi au cours d'une séance d'entraînement: par exemple, il est presque impossible d'aller à toute vitesse avant d'avoir réchauffé). Par conséquent, l'idée derrière ce projet est simplement d'enregistrer a) la course précédente et b) la meilleure course (alias highscore), puis de fournir un retour direct sur la façon dont vous vous en sortez actuellement par rapport à ces courses.
Si cela semble un peu abstrait, passez à l'étape 7 pour plus de détails sur ce que l'affichage terminé affichera
Un autre objectif de ce projet est de garder les choses vraiment simples et bon marché. Selon l'endroit où vous commandez vos pièces, vous pouvez réaliser ce projet pour environ 5 $ (ou environ 30 $ lors de la commande auprès de vendeurs nationaux premium), et si vous avez déjà joué avec l'environnement Arduino, il y a de fortes chances que vous ayez déjà avoir la plupart ou toutes les pièces dont vous avez besoin.
Étape 1: Liste des pièces
Passons en revue la liste des choses dont vous avez besoin:
Un microprocesseur compatible Arduino
Pratiquement tous les Arduino vendus au cours des dernières années feront l'affaire. La variante exacte (Uno / Nano / Pro Mini, 8 ou 16 MHz, 3.3. ou 5V) n'a pas d'importance. Cependant, vous aurez besoin d'un processeur ATMEGA328 ou mieux, car nous utiliserons près de 2k de RAM et 1k d'EEPROM. Si vous connaissez les tenants et aboutissants du monde Arduino, je vous recommande d'utiliser un Pro Mini à 3,3 V, car il sera le moins cher et le plus économe en batterie. Si vous êtes (relativement) nouveau sur Arduino, je recommande un "Nano" car il offre les mêmes fonctionnalités qu'un "Uno" dans un boîtier plus petit et moins cher.
Notez que cette instructable ne vous expliquera pas les bases. Vous devez au moins avoir installé le logiciel Arduino et savoir comment connecter votre Arduino et télécharger un croquis. Si vous n'avez aucune idée de ce dont je parle, lisez d'abord ces deux didacticiels simples: Premièrement, deuxièmement.
Un écran OLED 128*64 pixels SSD1306 (variante I2C, c'est-à-dire quatre broches)
C'est l'un des écrans les moins chers et les plus faciles disponibles aujourd'hui. D'accord, c'est petit, mais assez bon. Bien sûr, si vous avez déjà un écran de résolution similaire ou supérieure, il sera possible de l'utiliser à la place, mais cette instructable est écrite pour un SSD1306.
- Une "planche à pain sans soudure" et du fil de liaison, pour construire votre prototype
- Un condensateur en céramique de 100 nF (peut être nécessaire ou non; voir l'étape 4)
- Soit des pinces crocodiles, soit un aimant, un interrupteur à lames et du câble (voir étape 4)
- Une LED rouge et une LED verte, chacune (facultatif; voir l'étape 5)
- Deux résistances de 220Ohm (si vous utilisez les LED)
- Un bouton poussoir (également en option)
- Une batterie adaptée (voir étape 6)
Étape 2: connexion de l'écran
Comme première chose, nous allons connecter l'écran à l'Arduino. Des instructions détaillées sont disponibles. Cependant, le SSD1306 est vraiment facile à brancher:
- Affichage VCC -> Arduino 3.3V ou 5V (l'un ou l'autre fera l'affaire)
- Afficher Gnd -> Arduino Gnd
- Affichage SCL -> Arduino A5
- Affichage SCA -> Arduino A4
Ensuite, dans votre environnement Arduino, accédez à Sketch-> Inclure la bibliothèque-> Gérer les bibliothèques et installez "Adafruit SSD1306". Malheureusement, vous devrez éditer la bibliothèque afin de la configurer pour la variante 128*64 pixels: localisez votre dossier "libraries" arduino et éditez "Adafruit_SSD1306/Adafruit_SSD1306.h". Recherchez "#define SSD1306_128_32", désactivez cette ligne et activez "#define SSD1306_128_64", à la place.
À ce stade, vous devez charger File->Examples->Adafruit SSD1306->ssd1306_128x64_i2c afin de tester que votre écran est correctement connecté. Notez que vous devrez peut-être ajuster l'adresse I2C. 0x3C semble être la valeur la plus courante.
En cas de problème, reportez-vous aux instructions plus détaillées.
Étape 3: Téléchargez le croquis
Si tout a fonctionné jusqu'à présent, il est maintenant temps de télécharger le croquis réel sur votre Arduino. Vous trouverez une copie du croquis ci-dessous. Pour une version potentiellement plus récente, reportez-vous à la page du projet github. (Puisqu'il s'agit d'un croquis à un seul fichier, il suffit de copier le fichier erogmetrino.ino dans votre fenêtre Arduino).
Si vous avez dû modifier l'adresse I2C à l'étape précédente, vous devrez faire le même ajustement, encore une fois, maintenant, dans la ligne commençant par "display.begin".
Après le téléchargement, vous devriez voir des zéros apparaître sur votre écran. Nous examinerons la signification des différentes sections de l'affichage, une fois que tout le reste sera connecté.
Notez qu'au tout premier démarrage, l'affichage sera plutôt lent à s'allumer (cela peut prendre jusqu'à dix secondes environ), car le croquis mettra d'abord à zéro toutes les données stockées dans l'EEPROM.
Étape 4: connexion de l'ergomètre
Cette étape ne peut pas vraiment être décrite de manière universelle, car tous les ergomètres ne sont pas identiques. Cependant, ils ne sont pas tous différents non plus. Si votre ergomètre comprend un affichage électronique de la vitesse, il doit avoir un capteur électronique pour détecter les révolutions des pédales, ou un volant (éventuellement interne), quelque part. Dans de nombreux cas, cela consistera simplement en un aimant passant à proximité d'un interrupteur à lames (voir aussi, ci-dessous). Chaque fois que l'aimant passe, l'interrupteur se ferme, signalant un tour à l'affichage de la vitesse.
La première chose que vous devez faire est d'examiner l'affichage de la vitesse sur votre ergomètre pour les câbles entrants. Si vous trouvez un câble à deux fils venant quelque part à l'intérieur de l'ergomètre, vous avez presque certainement trouvé la connexion au capteur. Et avec un peu de chance, vous pouvez simplement le débrancher et le connecter à votre Arduino avec des pinces crocodiles (je vous dirai à quelles broches vous connecter dans une minute).
Cependant, si vous ne trouvez pas un tel câble, si vous n'êtes pas sûr d'avoir trouvé le bon ou si vous ne pouvez pas le déconnecter sans endommager quoi que ce soit, vous pouvez simplement coller un petit aimant sur l'une des pédales et fixer un interrupteur à lames au cadre de votre éromètre., de sorte que l'aimant passera à côté de lui de très près. Connectez deux fils au commutateur et conduisez-les à votre Arduino.
Connectez les deux fils (que ce soit les vôtres ou ceux d'un capteur existant) iront à Arduino Gnd et à la broche Arduino D2. Si vous en avez un sous la main, connectez également le condensateur 100nF entre les broches D2 et Gnd pour un "anti-rebond". Cela peut être nécessaire ou non, mais aide à stabiliser les lectures.
Une fois terminé, il est temps de mettre votre Arduino sous tension et de monter sur le vélo pour un premier test rapide. Le nombre en haut à gauche devrait commencer à afficher une mesure de vitesse. Si cela ne fonctionne pas, vérifiez tout le câblage et assurez-vous que l'aimant est suffisamment proche du commutateur à lames. Si la mesure de la vitesse semble constamment trop élevée ou trop faible, ajustez simplement la définition "CM_PER_CLICK" près du haut de l'esquisse (remarque: l'esquisse utilise des noms métriques, mais aucune unité n'est affichée ou enregistrée, n'importe où, alors ignorez cela, et fournir 100 000e de mile par clic).
Étape 5: LED d'état rapide en option
Les LED décrites dans cette étape sont facultatives, mais intéressantes: si vous voulez vraiment lire un livre / regarder la télévision pendant l'exercice, vous ne voulez pas trop regarder l'écran. Mais deux LED de couleurs différentes seront facilement perceptibles en vision périphérique, et suffiront à vous donner une idée approximative de la façon dont vous vous débrouillez.
- Connectez la première LED (rouge) à la broche D6 (la branche la plus longue de la LED va à l'Arduino). Connectez la branche courte de la LED à Gnd via une résistance de 220 Ohms. Cette LED s'allumera lorsque vous êtes 10% ou plus en dessous de votre meilleure vitesse dans la phase actuelle de l'entraînement. Il est temps de faire un peu plus d'efforts !
- Connectez la deuxième LED (verte) à la broche D5, à nouveau avec une résistance à Gnd. Cette LED s'allumera lorsque vous serez à moins de 1% ou au-dessus de votre meilleur run. Tu t'en sors bien!
Vous voulez que les LED s'allument en fonction de votre performance par rapport à votre course précédente, ou d'une vitesse moyenne arbitraire ? Eh bien, connectez simplement un bouton-poussoir entre la broche D4 et Gnd. En utilisant ce bouton, vous pouvez basculer la référence entre "votre meilleure course", "votre course précédente" ou "votre vitesse actuelle". Une petite lettre "P" ou "C" dans le coin inférieur gauche signifiera les deux derniers modes.
Étape 6: Alimenter l'affichage de votre ergomètre
Il existe de nombreuses façons d'alimenter votre écran, mais je vais en souligner deux qui semblent plutôt plus pratiques que d'autres:
- Lorsque vous utilisez un Arduino Uno ou Nano, vous souhaiterez probablement l'alimenter à l'aide d'une banque d'alimentation USB avec indication de batterie faible intégrée.
- Lorsque vous utilisez un Arduino Pro Mini @ 3,3 V (ma recommandation pour les utilisateurs avancés), vous pouvez l'alimenter directement à partir d'une seule batterie LiPo ou de trois cellules NiMH. Comme l'ATMEGA tolère des tensions d'alimentation jusqu'à 5,5 V, vous pouvez le connecter directement à "VCC/ACC", en contournant le régulateur de tension embarqué. Dans cette configuration, il y aura également un avertissement de "batterie faible" à environ 3,4 V, sans aucun matériel supplémentaire (affiché dans le coin inférieur droit). Comme on peut s'attendre à ce que l'ATMEGA fonctionne correctement, au moins jusqu'à 3,0 V environ, cela devrait vous laisser suffisamment de temps pour terminer votre unité d'entraînement avant de la recharger.
Étape 7: Utilisation de l'affichage de votre ergomètre
Examinons de plus près les différents chiffres sur votre écran. Le plus grand nombre en haut à gauche est simplement votre vitesse actuelle, et le plus grand nombre en haut à droite est la distance totale de votre entraînement actuel.
La ligne suivante est votre vitesse moyenne depuis le début de l'entraînement (à gauche) et le temps écoulé depuis le début de l'entraînement (à droite). Notez que le chronométrage est arrêté pendant que le vélo est à l'arrêt.
Jusqu'ici banal. Les deux autres lignes sur le côté droit sont là où cela devient intéressant: elles comparent votre timing actuel à votre entraînement précédent et à votre meilleur entraînement, respectivement. C'est à dire. un "- 0:01:23" en haut de ces lignes signifiera que vous avez atteint votre distance actuelle 1 minute et 23 secondes plus tôt que lors de votre course précédente. Bon. Une ligne inférieure de "+ 0:00:12" signifie que jusqu'au point actuel, vous avez 12 secondes de retard sur votre meilleur run. (Notez que ces temps différentiels ne seront pas exacts à 100%. Les points de temps sont stockés tous les 0,5 km / miles et interpolés entre eux.) Inévitablement, bien sûr, lors de votre première course, aucune référence de temps n'a encore été enregistrée, et donc les deux lignes ci-dessus afficheront simplement "--:--:--".
Enfin, la zone inférieure gauche de l'écran contient un graphique de votre vitesse au cours de la dernière minute. Cela vous permet de voir d'un coup d'œil si vous roulez régulièrement ou si vous ralentissez. (Notez que cette ligne sera beaucoup plus fluide lors d'un entraînement réel - mais il n'est tout simplement pas facile de maintenir un rythme constant tout en essayant de prendre une photo…) Les lignes horizontales indiquent la vitesse précédente / meilleure que vous avez atteinte près du point actuel de votre précédente formations.
Les LED montées près du sommet comparent votre vitesse actuelle à votre meilleure vitesse pendant cette phase de l'entraînement. Le vert indique que vous êtes à moins de 1% de votre meilleur entraînement, le rouge indique que vous êtes plus de 10% plus lent que votre meilleur entraînement. Lorsque vous voyez le feu rouge, il est temps de redoubler d'efforts. Notez que contrairement aux temps différentiels décrits ci-dessus, ceux-ci se réfèrent uniquement à la partie actuelle de l'entraînement, c'est-à-dire qu'il est possible que vous soyez en retard en temps absolu, mais le vert indique que vous rattrapez votre retard, et vice versa.
La vitesse de référence utilisée pour les deux LED peut être modifiée à l'aide du bouton poussoir. Une pression le fera passer du meilleur à l'entraînement enregistré précédent (une petite lettre "P" apparaîtra en bas à gauche). Une autre pression et votre vitesse actuelle au moment de la pression sur le bouton deviendra la nouvelle vitesse de référence (une petite lettre "C" apparaîtra). Ce dernier est particulièrement utile lors de votre premier entraînement avec votre nouvel affichage d'ergomètre, lorsqu'aucune référence n'a encore été enregistrée.
Une fois votre entraînement terminé, débranchez simplement la batterie. Votre formation a déjà été enregistrée dans l'EEPROM interne de votre Arduino.
Comme vous pouvez le voir, j'ai fini par souder mon prototype. Signe certain que j'ai aimé le résultat, moi-même. J'espère que vous le trouverez utile aussi. Bon exercice !
Conseillé:
Convertisseur Boost basé sur Esp8266 avec une incroyable interface utilisateur Blynk avec régulateur de rétroaction : 6 étapes
Convertisseur Boost basé sur Esp8266 avec une incroyable interface utilisateur Blynk avec régulateur de rétroaction : dans ce projet, je vais vous montrer un moyen efficace et courant d'augmenter les tensions CC. Je vais vous montrer à quel point il peut être facile de construire un convertisseur boost à l'aide d'un Nodemcu. Construisons-le. Il comprend également un voltmètre à l'écran et un retour
Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): 4 étapes (avec images)
Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): Bonjour, aujourd'hui, je vais vous expliquer comment créer votre propre petit générateur de musique basé sur la météo. Il est basé sur un ESP8266, qui ressemble un peu à un Arduino, et il réagit à la température, à la pluie et l'intensité lumineuse. Ne vous attendez pas à ce qu'il fasse des chansons entières ou un programme d'accords
Faire un affichage ambiant basé sur le vent : 8 étapes (avec des images)
Faire un affichage ambiant basé sur le vent : il s'agit d'un projet de classe conçu et construit par Trinh Le et Matt Arlauckas pour HCIN 720 : Prototypage de dispositifs portables et Internet des objets au Rochester Institute of Technology. L'objectif de ce projet est de visualiser de manière abstraite la direction une
Affichage de la température sur le module d'affichage LED P10 à l'aide d'Arduino : 3 étapes (avec photos)
Affichage de la température sur le module d'affichage à LED P10 à l'aide d'Arduino: Dans le didacticiel précédent, il a été expliqué comment afficher du texte sur le module d'affichage à LED matricielle P10 à l'aide d'Arduino et du connecteur DMD, que vous pouvez vérifier ici. Dans ce didacticiel, nous allons donner un didacticiel de projet simple en utilisant le module P10 comme moyen d'affichage
Comment flasher le micrologiciel MicroPython sur un commutateur intelligent Sonoff basé sur ESP8266 : 3 étapes (avec images)
Comment flasher le micrologiciel MicroPython sur un commutateur intelligent Sonoff basé sur ESP8266: What's Sonoff? Sonoff est une gamme d'appareils pour Smart Home développée par ITEAD. L'un des appareils les plus flexibles et les moins chers de cette gamme est le Sonoff Basic et le Sonoff Dual. Ce sont des commutateurs compatibles Wi-Fi basés sur une excellente puce, ESP8266. Tandis que