Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Man patinka vaikščioti ir bėgti rajone, kuriame gyvenu. Man patinka laikas būti vienam, nes šiuo metu man visada kyla nuostabių idėjų. Neseniai iš „DFRobot“nusipirkau 6 ašių inercinį judesio jutiklį. Taigi man atrodo, kad kodėl gi nepasigaminus riešinės žingsniamatio, kad būtų galima apskaičiuoti mano fizinę jėgą. Visada negaliu atsispirti, kai ateina įkvėpimas.
Gerai, leiskite man atsistoti tiesiai ir pradėti.
1 žingsnis: medžiaga, kurios jums gali prireikti:
Gravitacija: I2C BMI160 6 ašių inercinis judesio jutiklis × 1
Vabalas - mažiausias Arduino × 1
„Gravity I2C OLED-2864“ekranas × 1
3,7 V mini ličio baterija × 1
Mygtukas × 2
Perjungimo jungiklis × 1
Laikrodžio juosta × 1
6 ašių inercinis judesio jutiklis BMI160 integruoja 16 bitų ir 3 ašių akselerometrą su itin mažos galios 3 ašių giroskopu. Kai akselerometras ir giroskopas veikia visu režimu, energijos suvartojimas paprastai yra apie 900 uA.
2 žingsnis: išspausdinkite apvalkalą
Dizaino įkvėpimo šaltinis - mano mėgstamiausias laikrodis. Jo ekranas yra paprastas ir elegantiškas. Antroji, minutinė ir valandinė rodyklės užima didžiąją ekrano dalį, todėl mums patogu atpažinti laiką. Jis sveria 40 g ir kainuoja 15 USD.
(Atspausdinę apvalkalą, ant juodų dalių galite purkšti juodus dažus, kad spalva būtų vienodai suderinta.)
Dažnai renku abrazyvinę medžiagą. Tai savotiškas mano hobis. Pasikrapštęs po skrynes ir spinteles, pagaliau radau „Yakeli“, kurio spalva labai panaši į OLED. Taigi aš nusprendžiau jį supjaustyti ir naudoti kaip skydą.
3 žingsnis: prijunkite grandinę
Tiek OLED, tiek BMI160 turi I2C sąsają, todėl jums tereikia jas lituoti atitinkamoje „Beetle“I2C sąsajoje.
4 žingsnis: programos įrašymas
Aš tiesiogiai peržiūrėjau žingsniamatio programą BMI160 bibliotekoje. Pridėkite funkciją millis (), kad sistemos veikimo laikas taptų chronometru. Pridedu u8g simbolių bibliotekos rodymo kodą. Po vieną išbandęs šriftą u8g.h galvos faile, radau, kad šriftas freedoomr man puikiai tinka.
Žemiau pateiktas sistemos veikimo laiko konvertavimo į chronometrą kodas:
nepasirašytas int ss = 1000; nepasirašytas int mi = ss*60; ilga minutė = t0/mi; ilga sekundė = (t0 minučių*mi)/s; ilgas milliSecond = sysTime-minute*mi-second*ss; strTime [0] = (minutė%60)/10+'0'; strTime [1] = minutė%60%10+'0'; strTime [3] = (antras%60)/10+'0'; strTime [4] = antras%60%10+'0'; strTime [6] = milisekundė/100+'0'; strTime [7] = (milisekundė%100)/10+'0';
5 žingsnis: lituokite ir įdiekite
Manau, kad šis žingsnis yra pats sunkiausias, nes suprojektavęs erdvės paskirstymą ir kruopščiai sumontavęs dalis, įjungiu jungiklį ir tiesiog radau, kad dalykas neveikia. Dar kartą, vieną ar du laidus aš atsitiktinai nutraukiau diegimo metu. Bet aš tikiu „kur yra kantrybė, yra kelias“. Po daugybės nesėkmių man pagaliau ateina sėkmė.
Naudokite elektrinį šlifuoklį, kad išgręžtumėte 1 mm skylę abiejuose korpuso galuose, sumontuokite visas dalis kartu ir tada visas projektas bus baigtas.
Galite pastebėti, kad kairėje pusėje yra du mygtukai, apatinis yra skirtas chronometrui, taigi ką apie viršutinį?
Bėgimui naktį! Viršutinis mygtukas naudojamas keturiems 5 mm šviesos diodams valdyti (įtrūkimą tarp skylės ir jungiklio užpildžiau atitinkamos spalvos UV klijais, kad apyrankė taptų išskirtinė.)
Keturių šviesos diodų padėtis atitinka banguojantį rankų kampą žmonių bėgimo metu. Žemė visada bus apšviesta, kad ir kaip judėtų ranka.
Šis riešo žingsniamatis ne tik padeda man apskaičiuoti savo fizinę jėgą, bet ir leidžia saugiau bėgti naktį. Tokie geri dalykai, verta juos turėti.