Satura rādītājs:
- Piegādes
- 1. solis: pielodējiet ķēdi
- 2. darbība: pievienojiet savu kodu
- 3. darbība: izveidojiet konteineru / čaulu
Video: TOYL uzdevumu izsekotājs: 3 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
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 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
Š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
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:
Izvietojiet savu pirmo uzdevumu saraksta lietojumprogrammu: 8 soļi
Izvietojiet savu pirmo uzdevumu saraksta lietojumprogrammu: ja jūs esat pilnīgi jauns kodētājs vai jums ir kāda fona kodēšana, jums varētu rasties jautājums, kur sākt mācīties. Jums jāiemācās, kā, ko, kur kodēt un pēc tam, kad kods ir gatavs, kā to izvietot, lai visi to redzētu. Nu, labās ziņas es
Rakstīšanas uzdevumu strukturēšana, izmantojot Google veidlapas + AutoCrat: 12 soļi
Rakstīšanas uzdevumu strukturēšana, izmantojot Google veidlapas + AutoCrat: Vai jūsu studentiem ir grūtības strukturēt disertācijas paziņojumus, ievadus, kopsavilkumus vai veselus rakstīšanas uzdevumus? Vai jūs saņemat esejas, kurām nav noteikts formāts? Ja tā, izmantojiet Google veidlapas un Chrome paplašinājumu autoCrat, lai saglabātu
Arduino uzdevumu saraksts: 5 soļi
Arduino uzdevumu saraksts: Šis ir Arduino uzdevumu saraksts. Tas ir parasts uzdevumu saraksts, bet savienots ar Arduino. Kad esat pabeidzis kādu uzdevumu, jūs iegūsit punktus, kurus varēsit izlemt, ko darīt. Kā tas darbojas: uzrakstiet uz papīra lapas uzdevumus, kas jums jāveic. Pēc tam ievietojiet
Uzdevumu pārvaldnieks - mājsaimniecības darbu vadības sistēma: 5 soļi (ar attēliem)
Uzdevumu pārvaldnieks - mājsaimniecības darbu pārvaldības sistēma: Es gribēju mēģināt risināt reālu problēmu, ar kuru saskaramies mūsu (un, manuprāt, daudzu citu lasītāju) mājsaimniecībā, proti, kā sadalīt, motivēt un apbalvot savus bērnus par palīdzību ar mājsaimniecības darbiem. Līdz šim mēs esam saglabājuši laminētu loksni
Viedais LED ar mezglu Mcu un uzdevumu izpildītāju: 9 soļi (ar attēliem)
Viedais LED ar mezglu Mcu un Tasker: lejupielādējiet uzdevumu meklētāju