Turinys:

„Time Cube“- „Arduino“laiko stebėjimo programėlė: 6 žingsniai
„Time Cube“- „Arduino“laiko stebėjimo programėlė: 6 žingsniai
Anonim
„Time Cube“- „Arduino“laiko stebėjimo programėlė
„Time Cube“- „Arduino“laiko stebėjimo programėlė
„Time Cube“- „Arduino“laiko stebėjimo programėlė
„Time Cube“- „Arduino“laiko stebėjimo programėlė

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ą

Prijunkite plokštę ir akselerometrą
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“

„Flash“programa „Arduino Nano“
„Flash“programa „Arduino Nano“
„Flash“programa „Arduino Nano“
„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

Įdiekite „Java Runtime Environment“, kad paleistumėte kliento programą kompiuteryje
Į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ą

Įdiekite kliento programą, kad perskaitytumėte „Arduino“koordinates ir stebėtumėte statistiką
Įdiekite kliento programą, kad perskaitytumėte „Arduino“koordinates ir stebėtumėte statistiką
Įdiekite kliento programą, kad perskaitytumėte „Arduino“koordinates ir stebėtumėte statistiką
Įdiekite kliento programą, kad perskaitytumėte „Arduino“koordinates ir stebėtumėte 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

Akselerometro kalibravimas
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ė

Papildoma analizė
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: