Satura rādītājs:

TOYL uzdevumu izsekotājs: 3 soļi (ar attēliem)
TOYL uzdevumu izsekotājs: 3 soļi (ar attēliem)

Video: TOYL uzdevumu izsekotājs: 3 soļi (ar attēliem)

Video: TOYL uzdevumu izsekotājs: 3 soļi (ar attēliem)
Video: 3 PATIESI TRAKIE BIJUŠO DRAUGU šausmu stāsti | PATIESI BAISI STĀSTI 2024, Jūlijs
Anonim
Image
Image
TOYL uzdevumu izsekotājs
TOYL uzdevumu izsekotājs
TOYL uzdevumu izsekotājs
TOYL uzdevumu izsekotājs

Vai jūs vienkārši to ienīstat, kad plānojat strādāt vai vēl ļaunāk, atrodaties darba sesijas vidū un tālrunī tiek parādīts paziņojums-“ātrā pārbaude” kļūst stundas vēlāk. Vai arī jūs zināt, cik daudz laika jūs strādājat pie noteiktiem uzdevumiem, salīdzinot ar laiku, ko esat atvēlējis darbam nedēļā?

Ievadiet TOYL uzdevumu izsekotāju. Tas ļauj izslēgt tālruni un koncentrēties uz darbu, vienlaikus ļaujot iestatīt laiku, ko vēlaties strādāt nedēļā, piemēram, 60 stundas, un uzdevumus, kurus vēlaties paveikt. Apsēžoties uz sesiju, jums rodas priekšstats par to, cik daudz laika jums ir atlicis kopējam darbam. Sekotājam ir divi režīmi: taimeris, kurā esat iepriekš iestatījis, cik laika vēlaties pavadīt vienam uzdevumam nedēļā, un hronometrs, kurā pēc uzdevuma izvēles varat vienkārši ieslēgt un apturēt taimeri.

Piegādes

Ķēde

  • Adafruit Feather Huzzah
  • Adafruit FeatherWing
  • Vīriešu galvenes tapas
  • Sieviešu galvenes tapas
  • 500mAh akumulators
  • 100K omu rezistori x2
  • Izolācijas lente
  • Vītā stieple
  • Stiepļu noņēmēji
  • Lodēšanas ventilators

Korpuss

  • Necaurspīdīga akrila loksne 24 x 18 collas
  • Divpusēja lente
  • Piekļuve lāzera griezējam
  • Vektora programmatūra

1. solis: pielodējiet ķēdi

Lodējiet savu ķēdi
Lodējiet savu ķēdi
Lodējiet savu ķēdi
Lodējiet savu ķēdi
Lodējiet savu ķēdi
Lodējiet savu ķēdi

Lodējiet sieviešu galvenes tapas pie spalvu Huzzah. Šī apmācība ir noderīga Feather Huzzah aparatūras iestatīšanai. Pēc tam lodējiet tērauda galvenes tapas pie FeatherWing. Šādā veidā to lodēšana ļauj vajadzības gadījumā pievienoties un atdalīt spalvu spārnu no spalvu Huzzah. Tas ir īpaši ērti, ja FeatherWing jāpievieno rezistori, kas ir nākamais solis. Pievienojiet 100K omu rezistorus no katras 0 un 2 tapas, savienotas ar 3V.

Iestatiet savu Feather Huzzah aparatūru

Iestatiet savu Feather Wing aparatūru

2. darbība: pievienojiet savu kodu

Pievienojiet savu kodu
Pievienojiet savu kodu
Pievienojiet savu kodu
Pievienojiet savu kodu

Šis kods ir 5. nodarbības lietu interneta koda pielāgojums, ja laiks atļauj, es vēlētos aizstāt pakalpojumu Preceptitaton ar tādu, kas izseko uzdevumus, kas tiek pievienoti, izmantojot ToDosit IFTTT sīklietotni. Pašlaik jums manuāli jāievada uzdevumu kopa un jāizmanto poga A, lai tos pārvietotos. Turklāt es labprāt būtu iekodējis taimeri, lai tas skaitītu minūtēs un apstātos, pārejot uz nākamo uzdevumu. Milzīgs paldies Bekijai Sternai par taimera bāzes koda izveidi un uzdevumu izpildi. Ja jūs interesē projekta savienošana ar internetu, es ļoti ieteiktu iziet šo nodarbību kopumu.

// Instructables Things of Internet klases parauga kods // Circuit Displays Internet Data // Laika dati tiek apkopoti plūsmā // Vairāki NeoPixels vizualizē laika apstākļus // // Modificēja Becky Stern 2017 // pamatojoties uz Adafruit IO abonēšanas piemēru

// Adafruit iegulda laiku un resursus, nodrošinot šo atvērtā pirmkoda kodu.

// Lūdzu, atbalstiet Adafruit un atvērtā pirmkoda aparatūru, iegādājoties // produktus no Adafruit! // // Autors: Tods Treece, Adafruit Industries // Autortiesības (c) 2016 Adafruit Industries // Licencēts saskaņā ar MIT licenci. // // Viss iepriekš minētais teksts ir jāiekļauj jebkurā pārdalē.

/************************ Adafruit IO konfigurācija ********************** *********

/ apmeklējiet vietni io.adafruit.com, ja jums ir jāizveido konts, // vai ja jums ir nepieciešama jūsu Adafruit IO atslēga. #define IO_USERNAME "YourUsernameHere" #define IO_KEY "YourIOKeyHere"

/******************************* WIFI konfigurācija **************** **********************/

#define WIFI_SSID "WifiName"

#define WIFI_PASS "WifiPassword"

#include "AdafruitIO_WiFi.h"

AdafruitIO_WiFi io (IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);

/************************ Šeit sākas galvenā programma ********************* **********/

#iekļaut #iekļaut #iekļaut #iekļaut

#iekļaut

#iekļaut #iekļaut #iekļaut

#define OLED_RESET 3

Adafruit_SSD1306 displejs (128, 32, & Wire, OLED_RESET);

// šī konstante nemainīsies:

const int pogaPinA = 0; // tapas, kuras spiedpogas ir pievienotas const int pogaiPinB = 16; // šim jau ir pullup rezistors, pārējiem diviem vajag vienu const int poguPinC = 2;

// Mainīgie mainīsies:

int pogaAPushCounter = 0; // skaitītājs pogu spiedienu skaitam int buttonAState = 0; // pašreizējais pogas stāvoklis int lastButtonAState = 0; // pogas iepriekšējais stāvoklis

// Mainīgie mainīsies:

int pogaBPushCounter = 0; // skaitītājs pogu spiedienu skaitam int buttonBState = 0; // pašreizējais pogas stāvoklis int lastButtonBState = 0; // pogas iepriekšējais stāvoklis

// Mainīgie mainīsies:

int pogaCPushCounter = 0; // skaitītājs pogu spiedienu skaitam int buttonCState = 0; // pašreizējais pogas stāvoklis int lastButtonCState = 0; // pogas iepriekšējais stāvoklis

String displayForecast = "nezināms";

int timerVal = 0;

neparakstīts ilgi lastStartTime = 0; bool timerEnabled = 0;

AdafruitIO_Feed *nokrišņi = io.feed ("nokrišņi"); // iestatīt 'nokrišņu' plūsmu

// AdafruitIO_Feed *uzdevumu pārvaldnieks = io.feed ("uzdevumu pārvaldnieks"); // iestatiet plūsmu 'uzdevumu pārvaldnieks'

void setup () {

pinMode (buttonPinA, INPUT); pinMode (buttonPinB, INPUT_PULLUP); pinMode (buttonPinC, INPUT);

// SSD1306_SWITCHCAPVCC = ģenerēt displeja spriegumu no 3.3V iekšēji

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // Adrese 0x3C 128x32

// Ekrānā parādīt sākotnējo displeja bufera saturu -

// bibliotēka to inicializē ar Adafruit ekrānu. display.display (); kavēšanās (2000); // Pauze uz 2 sekundēm

// Notīriet buferi.

display.clearDisplay ();

// sākt sērijas savienojumu

Serial.begin (115200);

// izveidot savienojumu ar io.adafruit.com

Serial.print ("Savienojuma izveide ar Adafruit IO"); io.connect (); // iestatīt ziņojumu apstrādātāju 'nokrišņu' plūsmai. // handleMessage funkcija (definēta zemāk) // tiks izsaukta ikreiz, kad tiek saņemts ziņojums // no adafruit io. nokrišņi-> onMessage (handleMessage);

// gaidiet savienojumu

while (io.status () <AIO_CONNECTED) {Serial.print ("."); kavēšanās (500); }

// mēs esam saistīti

Sērijas.println (); Serial.println (io.statusText ());

}

void loop () {

// io.run (); ir nepieciešams visām skicēm.

// tam vienmēr jābūt jūsu cilpas // funkcijas augšpusē. tas saglabā klientu savienojumu ar // io.adafruit.com un apstrādā visus ienākošos datus. io.run ();

// lasīt spiedpogu ievades tapu:

buttonAState = digitalRead (buttonPinA); buttonBState = digitalRead (buttonPinB); buttonCState = digitalRead (buttonPinC);

// salīdziniet buttonState ar iepriekšējo stāvokli

if (buttonAState! = lastButtonAState || buttonBState! = lastButtonBState || buttonCState! = lastButtonCState) {// ja stāvoklis ir mainījies, palieliniet skaitītāju, ja (buttonAState == LOW) {// ja pašreizējais stāvoklis ir LOW, tad poga tika nospiesta pogaAPushCounter ++; Serial.print ("A pogas nospiešanas skaits:"); Serial.println (buttonAPushCounter); } if (buttonBState == LOW) {// ja pašreizējais stāvoklis ir LOW, tad tika nospiesta poga buttonBPushCounter ++; Serial.print ("B pogas spiedienu skaits:"); Serial.println (buttonBPushCounter); Serial.println ("Sākuma taimeris"); timerEnabled = 1; lastStartTime = milis (); } if (buttonCState == LOW) {// ja pašreizējais stāvoklis ir LOW, tad tika nospiesta poga buttonCPushCounter ++; Serial.print ("C pogas spiedienu skaits:"); Serial.println (buttonCPushCounter); Serial.println ("Apturēšanas taimeris"); timerEnabled = 0; }} if (timerEnabled == 1) {// palielināt taimeri tikai tad, kad tas ir startēts timerVal = (milis () - lastStartTime)/1000; }

// parādīt 1. pozīciju - prognoze

// if (buttonAPushCounter % 3 == 0) {// display.clearDisplay (); // display.setTextSize (1); // display.setTextColor (BALTS); // display.setCursor (0, 0); // display.print ("Prognoze:"); // display.println (displayForecast); // display.setCursor (0, 16); // display.println ("otrā rinda"); // display.println ("satura piemērs"); // display.display (); // // kavēšanās (2000); //}

// parādīt 1. pozīciju - 1. uzdevums

if (buttonAPushCounter % 3 == 0) {display.setTextSize (1); display.setTextColor (BALTS); display.clearDisplay (); display.setCursor (0, 0); display.println ("Pētījumi - intervijas"); display.println (); display.print ("Taimeris:"); display.println (timerVal); display.display (); }

// parādīt 2. pozīciju - 2. uzdevums

if (buttonAPushCounter % 3 == 1) {display.clearDisplay (); display.setCursor (0, 0); display.println ("Making Studio - Code"); display.println (); display.print ("Taimeris:"); display.println (timerVal); display.display (); }

// parādīt 3. pozīciju - 3. uzdevums

if (buttonAPushCounter % 3 == 2) {display.clearDisplay (); display.setCursor (0, 0); display.println ("DSV - Sketching"); display.println (); display.print ("Taimeris:"); display.println (timerVal); display.display (); }

// saglabāt pašreizējo stāvokli kā pēdējo stāvokli, // nākamreiz caur cilpu lastButtonAState = buttonAState; lastButtonBState = buttonBState; lastButtonCState = buttonCState;

}

// šī funkcija tiek izsaukta ikreiz, kad tiek parādīts ziņojums

// tiek saņemts no Adafruit IO. tas tika pievienots // plūsmai iepriekš iestatīšanas () funkcijā. void handleMessage (AdafruitIO_Data *dati) {

Stīgu prognoze = dati-> toString (); // saglabā ienākošo laika apstākļu datus virknē

Serial.print ("saņemts <-"); Serial.println (prognoze); displayForecast = prognoze; // sekojošās virknēs tiek glabāti dažādi IFTTT laika ziņu ziņojumi, kurus līdz šim esmu atklājis. String task1 = String ("1. uzdevums"); Stīgu lietus = String ("Lietus"); String lightrain = String ("Lietus lietus"); String lietus duša = String ("Lietus duša"); Stīgu AMshowers = String ("AM Dušas"); String rainandsnow = String ("Lietus un sniegs"); Stīgu sniegs = String ("Snow"); String snowshower = String (String ("Sniega duša")); String cloudy = String ("Mākoņains"); String Mostcloudy = String ("Pārsvarā mākoņains"); String daļēji mākoņains = String ("Daļēji mākoņains"); String clearars = String ("Notīrīt"); Stīgu godīga = String ("Fair"); String saulains = String ("Sunny");

// Šie paziņojumi salīdzina ienākošo laika apstākļu mainīgo ar saglabātajiem apstākļiem un attiecīgi kontrolē NeoPikseļus.

// ja prognozē ir lietus, ja (prognoze.vienlīdzībaIgnoreCase (lietus) || prognoze.vienlīdzībaIgnorekaze (viegla) || prognoze.vienādībaIgnorecaze (lietusgāze) || prognoze.vienādībaIgnorekaze (AMshowers)) {Serial.println ("nokrišņi prognoze šodien ");

}

// ja prognozē ir sniegs if (prognoze.vienādībasIgnoreCase (sniegs) || prognoze.vienlīdzībaIgnorekaze (lietus sniegs) || prognoze.kvalitāteIgnorekaze (snowshower)) {Serial.println ("nokrišņi šodienas prognozē");

}

// ja prognozē ir saule if (prognoze.vienādībasIgnoreCase (skaidrs) || prognoze.vienlīdzībaIgnorekaze (taisnīga) || prognoze.vienādībaIgnorekaze (saulaina)) {Serial.println ("kaut kāda saule šodienas prognozē");

}

// ja prognozē ir mākoņi, ja (prognoze.vienlīdzībaIgnoreCase (mākoņains) || prognoze.vienādībaIgnorekaze (pārsvarā mākoņaina) || prognoze.kvalitāteIgnorecaurule (daļēji mākoņaina)) {Serial.println ("mākoņainas debesis šodienas prognozē");

}

}

3. darbība: izveidojiet konteineru / čaulu

Izveidojiet konteineru / čaulu
Izveidojiet konteineru / čaulu
Izveidojiet konteineru / čaulu
Izveidojiet konteineru / čaulu
Izveidojiet konteineru / čaulu
Izveidojiet konteineru / čaulu
Izveidojiet konteineru / čaulu
Izveidojiet konteineru / čaulu

Attiecībā uz apvalku, vispirms nosakiet, kāda izmēra rāmi vēlaties, vai arī varat lejupielādēt manu failu. Kad esat noteicis lielumu, varat izmantot MakerCase, lai izveidotu vektora faila izkārtojumu.

Izlaidiet failu caur lāzera griezēju - tam vajadzētu aizņemt apmēram 5 minūtes. Pēc tam salieciet apvalku kopā.

Es neņemu vērā materiāla platumu, kas padara manas pogas grūti sasniedzamas. Man vēl jāatrod veids, kā tos piestiprināt. Tie ir arī ļoti mazi, kas apgrūtina darbu.

Ieteicams: