Taula de continguts:

Pantalla Ergòmetre senzilla basada en Arduino amb retroalimentació diferencial: 7 passos (amb imatges)
Pantalla Ergòmetre senzilla basada en Arduino amb retroalimentació diferencial: 7 passos (amb imatges)

Vídeo: Pantalla Ergòmetre senzilla basada en Arduino amb retroalimentació diferencial: 7 passos (amb imatges)

Vídeo: Pantalla Ergòmetre senzilla basada en Arduino amb retroalimentació diferencial: 7 passos (amb imatges)
Vídeo: The Character Select Screens of Fighting Games 2024, Desembre
Anonim
Visualització senzilla de l'ergòmetre basada en Arduino amb comentaris diferencials
Visualització senzilla de l'ergòmetre basada en Arduino amb comentaris diferencials
Visualització senzilla de l'ergòmetre basada en Arduino amb comentaris diferencials
Visualització senzilla de l'ergòmetre basada en Arduino amb comentaris diferencials
Visualització senzilla de l'ergòmetre basada en Arduino amb comentaris diferencials
Visualització senzilla de l'ergòmetre basada en Arduino amb comentaris diferencials

L’entrenament cardiovascular és avorrit, sobretot quan es fa exercici a l’interior. Diversos projectes existents intenten pal·liar-ho fent coses interessants, com ara acoblar l'ergòmetre a una consola de jocs, o fins i tot simular un viatge en bicicleta real en realitat virtual. Per molt emocionants que siguin, tècnicament, no ajuden gaire: l'entrenament continua sent avorrit. Per tant, m’agradaria poder llegir un llibre o mirar la televisió mentre entrenava. Però llavors és difícil mantenir un ritme constant.

La idea, aquí, és centrar-nos en aquest darrer problema i oferir comentaris directes sobre si el vostre nivell actual de formació és prou bo o si heu d’esforçar-vos més. No obstant això, el nivell "prou bo" variarà no només per persona, sinó també amb el pas del temps (a llarg termini, a mesura que vagi millorant, però també en una sessió d'entrenament: per exemple, és gairebé impossible anar a tota velocitat abans de escalfat). Per tant, la idea darrere d’aquest projecte és simplement enregistrar a) la prova anterior ib) la millor prova (també coneguda com a puntuació més alta) i, a continuació, proporcionar informació directa sobre com us aneu actualment en comparació amb aquestes proves.

Si això sembla una mica abstracte, passeu al pas 7 per obtenir detalls sobre què mostrarà la pantalla completa

Un altre objectiu d’aquest projecte és que les coses siguin realment senzilles i econòmiques. Depenent d'on demaneu les vostres peces, podeu completar aquest projecte per uns 5 dòlars (o uns 30 dòlars en fer comandes a venedors nacionals premium) i, si heu jugat amb l'entorn Arduino, abans, hi ha força possibilitats que ja teniu la majoria o totes les parts que necessiteu.

Pas 1: llista de parts

Llista de peces
Llista de peces

Repassem la llista de coses que necessiteu:

Un microprocessador compatible amb Arduino

Farà gairebé qualsevol Arduino venut durant els darrers anys. La variant exacta (Uno / Nano / Pro Mini, 8 o 16 MHz, 3,3. O 5V) no té importància. Tot i això, necessitareu un processador ATMEGA328 o superior, ja que farem servir gairebé 2 k de RAM i 1 k de EEPROM. Si esteu familiaritzats amb els aspectes i avantatges del món Arduino, us recomano utilitzar un Pro Mini a 3,3 V, ja que serà més barat i el més eficient en bateria. Si sou (relativament) nou a Arduino, us recomano un "Nano", ja que proporciona la mateixa funcionalitat que un "Uno" en un paquet més petit i econòmic.

Tingueu en compte que aquest instructiu no us explicarà els conceptes bàsics. Com a mínim hauríeu d’instal·lar el programari Arduino i saber connectar el vostre Arduino i penjar un esbós. Si no en teniu ni idea, de què estic parlant, llegiu aquests dos senzills tutorials, primer: primer, segon.

Una pantalla OLED SSD1306 de 128 * 64 píxels (variant I2C, és a dir, quatre pins)

Aquesta és una de les pantalles més barates i senzilles disponibles avui en dia. D'acord, és petit, però prou bo. Per descomptat, si ja teniu una pantalla de resolució similar o millor, serà possible utilitzar-la, però aquesta instrucció està escrita per a un SSD1306.

  • Un "tauler de pa sense soldadura" i algun cable de pont, per construir el vostre prototip
  • Un condensador ceràmic de 100 nF (pot ser necessari o no; vegeu el pas 4)
  • Ja sigui alguns clips de cocció, o un imant, un interruptor de canya i algun cable (vegeu el pas 4)
  • Un LED vermell i un verd, cadascun (opcional; vegeu el pas 5)
  • Dos resistors de 220 Ohm (si s’utilitzen els LED)
  • Un polsador (també opcional)
  • Una bateria adequada (vegeu el pas 6)

Pas 2: connectar la pantalla

Connexió de la pantalla
Connexió de la pantalla

Com a primer, connectarem la pantalla a l’Arduino. Hi ha instruccions detallades disponibles. No obstant això, el SSD1306 és molt fàcil de connectar:

  1. Mostra VCC -> Arduino 3,3 V o 5 V (qualsevol dels dos ho farà)
  2. Mostra Gnd -> Arduino Gnd
  3. Visualitza SCL -> Arduino A5
  4. Visualitza SCA -> Arduino A4

A continuació, a l'entorn Arduino, aneu a Sketch-> Inclou biblioteca-> Gestiona les biblioteques i instal·leu "Adafruit SSD1306". Malauradament, haureu d'editar la biblioteca per configurar-la per a la variant de 128 * 64 píxels: localitzeu la carpeta "biblioteques" arduino i editeu "Adafruit_SSD1306 / Adafruit_SSD1306.h". Cerqueu "#define SSD1306_128_32", desactiveu aquesta línia i activeu "#define SSD1306_128_64".

En aquest moment, heu de carregar Fitxer-> Exemples-> Adafruit SSD1306-> ssd1306_128x64_i2c per provar que la pantalla estigui connectada correctament. Tingueu en compte que potser haureu d’ajustar l’adreça I2C. Sembla que el valor més comú és 0x3C.

En cas de problemes, consulteu les instruccions més detallades.

Pas 3: pengeu l'esbós

Si tot funcionava, fins ara, és hora de penjar l’esbós real al vostre Arduino. A continuació, trobareu una còpia de l’esbós. Per obtenir una versió potencialment més recent, consulteu la pàgina del projecte github. (Com que es tracta d'un esbós d'un fitxer únic, n'hi ha prou amb copiar el fitxer erogmetrino.ino a la finestra d'Arduino).

Si hagueu hagut de modificar l'adreça I2C al pas anterior, haureu de fer el mateix ajustament, de nou, ara, a la línia que comença per "display.begin".

Després de penjar-lo, hauríeu de veure alguns zeros a la pantalla. Veurem el significat de les diverses seccions de la pantalla, després de connectar tota la resta.

Tingueu en compte que, des del primer inici, la pantalla s’encendrà bastant lentament (pot trigar uns deu segons), ja que l’esbós posarà a zero totes les dades emmagatzemades a l’EEPROM.

Pas 4: Connexió de l'ergòmetre

Connexió de l'ergòmetre
Connexió de l'ergòmetre

Aquest pas realment no es pot descriure universalment, ja que no tots els ergòmetres són iguals. Tot i això, tampoc no són diferents. Si el vostre ergòmetre inclou una pantalla de velocitat electrònica, ha de tenir un sensor electrònic per detectar revolucions dels pedals o alguna roda volant (possiblement interna), en algun lloc. En molts casos, això consistirà simplement en un imant que passa prop d’un interruptor reed (vegeu també, més avall). Cada vegada que passa l’imant, l’interruptor es tancarà, indicant una revolució a la pantalla de velocitat.

El primer que heu de fer és examinar la visualització de la velocitat del vostre ergòmetre per trobar cables entrants. Si trobeu un cable de dos cables que prové d’alguna part de l’ergòmetre, gairebé segur que haureu trobat la connexió amb el sensor. I amb una mica de sort, simplement podeu desconnectar-lo i connectar-lo al vostre Arduino amb uns clips de cocció (us diré a quins pins connectar-vos en un minut).

Tanmateix, si no podeu trobar un cable d’aquest tipus, no esteu segur de si n’heu trobat el correcte o no el podeu desconnectar sense danyar res, simplement podeu enganxar un petit imant a un dels pedals i fixar un interruptor de canya al marc del vostre eròmetre., de manera que l'imant hi passarà molt de prop. Connecteu dos cables al commutador i conduïu-los al vostre Arduino.

Connecteu els dos cables (ja siguin vostres o d’un sensor existent) a Arduino Gnd i al pin D2 d’Arduino. Si en teniu un a mà, també connecteu el condensador 100nF entre el pin D2 i Gnd per obtenir "debouncing". Això pot ser necessari o no, però ajuda a estabilitzar les lectures.

En acabar, és hora d’engegar l’Arduino i pujar a la moto per fer una primera prova ràpida. El número superior esquerre hauria de començar a mostrar una mesura de velocitat. Si això no funciona, comproveu tots els cables i assegureu-vos que l'imant estigui prou a prop del commutador de canya. Si la mesura de la velocitat sembla massa alta o massa baixa, simplement ajusteu la definició "CM_PER_CLICK" a prop de la part superior de l'esbós (nota: l'esbós utilitza noms mètrics, però no es mostren ni desen cap unitat en cap lloc, així que només n'ignoreu i subministrament de 100.000 parts de la milla per clic).

Pas 5: LED d'estat ràpid opcionals

LED d'estat ràpid opcionals
LED d'estat ràpid opcionals

Els LED que es descriuen en aquest pas són opcionals, però ordenats: si voleu llegir un llibre / mirar la televisió mentre feu exercici, no voleu que us fixeu massa en la pantalla. Però dos LED de colors diferents es notaran fàcilment en la visió perifèrica i seran suficients per fer-vos una idea aproximada de com esteu.

  • Connecteu el primer LED (vermell) al pin D6 (la pota més llarga del LED va a l'Arduino). Connecteu la pota curta del LED a Gnd mitjançant una resistència de 220 Ohms. Aquest LED s’encendrà quan estigueu un 10% o més per sota de la vostra millor velocitat en la fase actual de l’entrenament. És hora d’esforçar-vos més!
  • Connecteu el segon LED (verd) al pin D5, de nou amb una resistència a Gnd. Aquest LED s’encendrà quan estigueu a l’1% o per sobre de la vostra millor carrera. Ho estàs fent bé!

Voleu que els LED s’encenguin en funció de la vostra tarifa en comparació amb la vostra carrera anterior o amb una velocitat mitjana arbitrària? Bé, només cal que connecteu un polsador entre el pin D4 i Gnd. Amb aquest botó podeu canviar la referència entre "la vostra millor carrera", "la vostra carrera anterior" o "la vostra velocitat actual". Una lletra petita "P" o "C" a l'extrem inferior esquerre significarà aquests dos darrers modes.

Pas 6: alimentació de la pantalla de l'ergòmetre

Alimentació de la pantalla de l'ergòmetre
Alimentació de la pantalla de l'ergòmetre

Hi ha moltes maneres d’alimentar la pantalla, però en destacaré dues que semblen bastant més pràctiques que d’altres:

  1. Quan utilitzeu un Arduino Uno o Nano, és probable que vulgueu alimentar-lo mitjançant un banc d’energia USB amb indicació de bateria baixa incorporada.
  2. Quan utilitzeu un Arduino Pro Mini @ 3.3V (la meva recomanació per a usuaris avançats), podeu alimentar-lo directament des d’una sola bateria LiPo o bé mitjançant tres cel·les NiMH. Com que l'ATMEGA tolerarà tensions de subministrament de fins a 5,5 V, podeu connectar-lo directament a "VCC / ACC", passant per alt el regulador de voltatge incorporat. En aquesta configuració, també hi haurà un avís de "bateria baixa" al voltant de 3,4 V, sense cap maquinari addicional (que es mostra a l'extrem inferior dret). Com que es pot esperar que l'ATMEGA funcioni correctament, almenys fins a 3,0 V aproximadament, això us hauria de deixar prou temps per acabar la unitat d'entrenament abans de carregar-la.

Pas 7: utilitzar la pantalla de l'ergòmetre

Ús de la pantalla de l'ergòmetre
Ús de la pantalla de l'ergòmetre
Ús de la pantalla de l'ergòmetre
Ús de la pantalla de l'ergòmetre

Vegem de prop els diversos números de la pantalla. El nombre més gran de la part superior esquerra és simplement la vostra velocitat actual i el nombre més gran de la part superior dreta és la distància total de l’entrenament actual.

La següent línia és la vostra velocitat mitjana des de l'inici de l'entrenament (esquerra) i el temps transcorregut des de l'inici de l'entrenament (dreta). Tingueu en compte que el temps s’atura mentre la moto està aturada.

Fins aquí tot trivial. Les dues línies següents a la dreta són on resulta interessant: comparen el temps actual amb el vostre entrenament anterior i el millor, respectivament. És a dir, un "- 0:01:23" a la part superior d'aquestes línies significarà que heu assolit la distància actual 1 minut i 23 segons abans que en la cursa anterior. Bé. Una línia inferior de "+ 0:00:12" significa que fins al punt actual, us quedareu 12 segons per darrere de la vostra millor carrera. (Tingueu en compte que aquests temps diferencials no seran exactes al 100%. Els punts de temps s’emmagatzemen cada 0,5 km / milles i s’interpolen entre aquests.) Evidentment, per descomptat, durant la primera tirada, encara no s’han registrat referències horàries i de manera que les dues línies anteriors només mostraran "-: -: -".

Finalment, la regió inferior esquerra de la pantalla conté un gràfic de la vostra velocitat durant l’últim minut. Això us permet veure d'un cop d'ull, si aneu de forma estable o alentiu-vos. (Tingueu en compte que aquesta línia serà molt més suau en els entrenaments reals, però simplement no és fàcil mantenir un ritme constant mentre intenteu fer una foto …) Les línies horitzontals indiquen la velocitat anterior / millor que heu aconseguit a prop del punt actual de la vostra anterior entrenaments.

Els LED muntats a la part superior comparen la vostra velocitat actual amb la millor velocitat durant aquesta fase de l’entrenament. El verd demostra que esteu a l’1% del millor, el vermell mostra que teniu més d’un 10% més lent que el vostre millor entrenament. Quan veieu la llum vermella, és hora d’esforçar-vos més. Tingueu en compte que, al contrari dels temps diferencials descrits anteriorment, només es refereixen a la part actual de l’entrenament, és a dir, és possible que us quedeu enrere en temps absolut, però el verd demostri que esteu al dia i viceversa.

La velocitat de referència utilitzada per als dos LED es pot canviar mitjançant el polsador. Una sola pulsació el canviarà del millor entrenament enregistrat anterior (apareixerà una lletra petita "P" a la part inferior esquerra). Una altra premuda i la velocitat actual en prémer el botó es convertiran en la nova velocitat de referència (apareixerà una lletra petita "C"). Aquest últim és especialment útil durant el vostre primer entrenament amb el vostre nou display ergòmetre, quan encara no s’ha registrat cap referència.

Quan hàgiu acabat l'entrenament, desconnecteu la bateria. La vostra formació ja s'ha desat a la EEPROM interna del vostre Arduino.

Com podeu veure, vaig acabar soldant el meu prototip. Senyal segur que a mi em va agradar el resultat. Espero que també us sigui útil. Feliç exercici!

Recomanat: