Turinys:
- Prekės
- 1 žingsnis: prijunkite plokštę ir akselerometrą
- 2 veiksmas: „Flash“programa „Arduino Nano“
- 3 veiksmas: įdiekite „Java Runtime Environment“, kad paleistumėte kliento programą kompiuteryje
- 4 veiksmas: įdiekite kliento programą, kad galėtumėte skaityti „Arduino“koordinates ir sekti statistiką
- 5 žingsnis: akselerometro kalibravimas
- 6 žingsnis: papildoma analizė
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Norėčiau pasiūlyti jums paprastą, bet tikrai naudingą „arduino“projektą, skirtą sekti laiko įvykius apverčiant išmanųjį kubo įtaisą. Apverskite jį į „Darbas“> „Mokykitės“> „Darbai“> „Poilsis“, ir bus skaičiuojamas laikas, kurį praleidžiate šiai veiklai. Laiko kubas sukurtas remiantis „Arduino Nano“ir ADXL345 akselerometru, padėtu į tinkamo dydžio dėžutę, ant kurios galite piešti veiklos simbolius ar pavadinimus. Dienos pabaigoje galite patikrinti statistiką. Tikiuosi, kad tai mane paskatins „išmokti“daugiau.
Rinkoje yra daug panašių produktų, tokių kaip TimeFlip.io, Timeular.com, ZEI. Taip pat galite išbandyti gražų „pasidaryk pats“projektą iš „Adafruit“https://learn.adafruit.com/time-tracking-cube. Tačiau siūlau jums tai padaryti daug paprasčiau. Norėdami stebėti laiko duomenis, jums nereikia jokio „Wi -Fi“ar „Bluetooth“interneto ryšio su debesies paslaugomis. „Time Cube“yra maitinamas ir prijungtas prie kompiuterio USB kabeliu. Kompiuteryje turite paleisti mano „Java“programą, kuri klausosi serijinių pranešimų iš „arduino“ir rodo visą praleistą laiką.
Visus reikalingus programos šaltinius ir kai kurias ne itin išsamias instrukcijas rasite mano „GitHub“projekte:
Prekės
1. „Arduino Micro“arba „Nano“:
2. ADXL345 akselerometras:
3. Kartoninė / plastikinė kubo dėžutė
4. USB kabelis
1 žingsnis: prijunkite plokštę ir akselerometrą
ADXL345 jutiklis yra 3 ašių akselerometras, galintis išmatuoti pagreičio jėgas, o kai jis yra statinis, taip pat galite perskaityti jo orientaciją. Turite prijungti „Arduino Nano“arba „Micro“plokštę ir ADXL345 akselerometrą, kaip parodyta paveikslėlyje.
Aš išsamiai nepaaiškinsiu, kaip veikia ADXL345 akselerometras. Visą reikalingą informaciją radau labai gražiame straipsnyje apie akselerometrų prijungimą prie arduino ir programavimą:
2 veiksmas: „Flash“programa „Arduino Nano“
Šiame žingsnyje turime įkelti programą iš „Arduino“studijos į arduino lentą. „Arduino nano“galės nuskaityti XYZ koordinates iš pagreičio matuoklio ir siųsti jas į nuoseklųjį prievadą tam tikrais duomenų paketais, pvz.
Visus reikalingus šaltinius galite atsisiųsti iš mano „GitHub“projekto puslapio (kaip vieno archyvo failo):
1. Išpakuokite atsisiųstą zip archyvą į kokį nors aplanką, pvz., C: / program / tcube, ir atidarykite failą tcube / arduino / tcub / tcub.ino Arduino studijoje.
2. USB kabeliu prijunkite arduino plokštę prie kompiuterio.
3. Iš Tools-> Board: pasirinkite „Arduino Nano“(arba kitą lentą, kurią planuojate naudoti).
4. Jei naudojate kai kuriuos kiniškus arduino klonus, tuomet turėtumėte pasirinkti iš Įrankiai-> Procesorius-> ATmega328P (senas įkroviklis)
5. Pasirinkite prijungtą prievadą iš Tools-> Port -> COM3 (mano atveju)
6. Įkelti programą į arduino
7. Nuo to momento jis nedelsdamas išsiųs duomenų paketus į USB nuoseklųjį prievadą.
8. Norėdami patikrinti, ar viskas gerai, galite atidaryti „Serial Monitor“„Arduino Studio“. Turėtumėte matyti paketus, kurie generuoja kiekvieną sekundę, pavyzdžiui, …… (tai reiškia faktines akselerometro koordinates).
3 veiksmas: įdiekite „Java Runtime Environment“, kad paleistumėte kliento programą kompiuteryje
Prieš tęsdami turite įsitikinti, kad jūsų kompiuteryje įdiegta „Java Runtime Environment“(JRE).
Kliento programa, kurią sukūriau norėdamas gauti pranešimus iš „Arduino“ir suvestinės statistikos, parašyta „Java“programavimo kalba. Ir JRE reikalingas Java programoms paleisti. Turėtumėte įdiegti bent JRE8. Siūlau atsisiųsti x64 versiją, skirtą „Windows“. Atsisiųskite jį iš „Oracle“svetainės
4 veiksmas: įdiekite kliento programą, kad galėtumėte skaityti „Arduino“koordinates ir sekti statistiką
Dabar atėjo laikas paruošti ir paleisti savo kompiuteryje kliento programą, kuri prisijungs prie USB prievado, kad galėtų klausytis ir sekti laiko statistiką.
Jei esate susipažinęs su „Java“, galite atsisiųsti ir surinkti „Time Cube java“programos šaltinius iš mano „GitHub“projekto. Tačiau jau atsiųstame viso projekto archyve jau yra sukompiliuotas ir paruoštas naudoti programų archyvas tcube.zip, kurį turite išpakuoti į kurį nors aplanką (tai gali būti c: / programs / tcube)
Jei paleisite failą run.bat, jis turėtų paleisti programą, kuri iš karto bandys užmegzti ryšį su tam tikru aktyviu COM prievadu, naudojamu „Arduino“plokštėje („Arduino“, prijungtą prie USB, „Windows“automatiškai atpažįsta kaip virtualų COM prievadą).
Jei viskas sukonfigūruota teisingai, turėtumėte nedelsdami pamatyti laiko skaitiklius, veikiančius pagal tam tikrą veiklą. Ir vartydami kubą turėtumėte sugebėti sekti įvairią veiklą. Programos lange rodomas įvykių žurnalas ir galite pamatyti visas galimas ryšio klaidas.
5 žingsnis: akselerometro kalibravimas
Gali atsitikti taip, kad turėtumėte kalibruoti „Time Cube“, nes jūsų akselerometras nėra nukreiptas tiksliai taip, kaip mano. Tiesiog atidarykite failą app.properties ir redaguokite kiekvienos kubo pusės koordinačių diapazonus pagal faktines koordinates, kurias matysite kiekvienos kubo pusės programų žurnalo lange.
Arba galite eksperimentuoti su orientacija ir nustatyti, kad akselerometro padėtis būtų tokia pati kaip mano.
6 žingsnis: papildoma analizė
Mano „Java“programa yra gana paprasta ir tik rodo laiką, praleistą kiekvienai veiklai dienos metu. Jei norite daugiau analizės, papildomai analizei galite naudoti „Microsoft Excel“.
Programa CSV formatu sukuria failą time-log.csv, kuriame yra visi įvykiai, siunčiami iš arduino. Kadangi įvykiai generuojami kiekvieną sekundę, galite atlikti išsamią dienos analizę „MS Excel“, kad sukurtumėte gražias diagramas, grafikus ir papildomą analizę.
Aplanke, kurį atsisiuntėte iš mano „GitHub“projekto, galite rasti „log_analytics.xlsx“„Excel“failą, kuriame kuriama skritulinė diagrama naudojant duomenis iš laiko-log.csv failo. Turite atnaujinti diagramą rankiniu būdu, paspausdami mygtuką „Atnaujinti viską“„Excel“.
Rekomenduojamas:
„Koronaviruso„ Covid-19 “1 metro apsaugos nuo signalizacijos programėlė: 7 žingsniai
„Koronaviruso„ Covid-19 “1 skaitiklio apsaugos nuo atakos įtaisas: Atnaujinta الله الرحمن الرحيم Šis straipsnis yra ultragarsinio atstumo jutiklio HC-SR04 naudojimo demonstravimas. Jutiklis bus naudojamas kaip matavimo prietaisas„ 1 metrui “sukurti „Signal Keep away“programėlė " atsiribojimo tikslais. Liemenėlė
Nuostabi mokyklos šnipinėjimo programėlė! Nematomo rašalo rašiklio nulaužimas: 6 žingsniai
Nuostabi mokyklos šnipinėjimo programėlė! „Invisible Ink Pen Hack“: naudodami šį nuostabų įsilaužimą galite kam nors nusiųsti slaptus pranešimus ar net apgauti
Kaip apsaugoti telefoną ir programėlę: 4 žingsniai
Kaip apsaugoti savo telefoną ir programėlę: nuo žmogaus, kuris prarado beveik viską (žinoma, perdėtas). Taigi, išpažinties laikas, kaip sakiau ankstesniame sakinyje, esu labai LABAI nerangus. Jei kažkas prie manęs neprisiriša, yra labai didelė tikimybė, kad tai padarysiu neteisingai, pamiršiu, kad kažkur
Stalo programėlė su 8x8 LED RGB matrica ir „Arduino Uno“: 6 žingsniai
Stalo programėlė su 8x8 LED RGB matrica ir „Arduino Uno“: Sveiki, brangioji! Šioje pamokoje mes padarysime „pasidaryk pats“RGB LED įtaisą, kuris galėtų būti naudojamas kaip stalo įtaisas arba apšvietimas. Tačiau pirmiausia prisijunkite prie mano telegramos kanalo, kad pamatytumėte daugiau nuostabių projektų. Be to, tai yra mano motyvacija
Bendrą plastikinę programėlę paverskite kažkuo gražesniu: 14 žingsnių (su nuotraukomis)
Bendrą plastikinę programėlę paverskite kažkuo gražesniu: Motyvacija: Vasarą aš naršau arba dirbu ties projektais aplink mūsų nedidelį sodą/ūkį. Žiema atėjo čia, Bostone, ir aš esu pasirengęs pradėti pulti ilgą sąrašą projektų, kuriuos atidėjau „patalpų mėnesiams“. Tačiau aš turiu