Orodha ya maudhui:

TOYL Task Tracker: 3 Hatua (na Picha)
TOYL Task Tracker: 3 Hatua (na Picha)

Video: TOYL Task Tracker: 3 Hatua (na Picha)

Video: TOYL Task Tracker: 3 Hatua (na Picha)
Video: VIDEO;MREMBO AKIFANYA NA CHUPA YA FANTA 2024, Novemba
Anonim
Image
Image
TOYL Kazi ya Kufuatilia
TOYL Kazi ya Kufuatilia
TOYL Kazi ya Kufuatilia
TOYL Kazi ya Kufuatilia

Usichukie tu wakati unapanga kufanya kazi au mbaya zaidi, uko katikati ya kikao cha kazi na arifu inakuja kwenye simu yako - "kuangalia haraka" inakuwa masaa baadaye. Pia, je! Unajua ni muda gani unafanya kazi kwa majukumu fulani kulingana na wakati uliyotenga kwa kazi kwa wiki?

Ingiza TOYL Task Tracker. Inakuwezesha kuzima simu yako na uzingatie kazi, wakati huo huo kukuwezesha kuweka kiwango cha muda ambao ungependa kufanya kazi kwa wiki-sema masaa 60-na majukumu ambayo ungependa kufanywa. Unapoketi kwa kikao, unapata wazo la muda gani umesalia kwa kazi yako ya jumla. Tracker ina njia mbili: Timer, ambapo umepanga muda gani ungependa kutumia kwa kila kazi kwa wiki, na Stopwatch, ambapo unaweza kuanza-kusimamisha kipima muda baada ya kuchagua kazi.

Vifaa

Mzunguko

  • Manyoya ya Adafruit Huzzah
  • Manyoya ya AdafruitMabawa
  • Pini za kichwa cha kiume
  • Pini za kichwa cha kike
  • Betri ya 500mAh
  • Vipinzani vya 100K ohm x2
  • Tape ya kuhami
  • Waya iliyokwama
  • Vipande vya waya
  • Shabiki wa Solder

Kesi

  • Karatasi ya akriliki ya opaque 24 "x18"
  • Mkanda wa pande mbili
  • Upataji wa mkataji wa laser
  • Programu ya Vector

Hatua ya 1: Solder Circuit Yako

Solder Mzunguko wako
Solder Mzunguko wako
Solder Mzunguko wako
Solder Mzunguko wako
Solder Mzunguko wako
Solder Mzunguko wako

Solder pini za kichwa cha kike kwa Manyoya Huzzah. Mafunzo haya ni muhimu kwa usanidi wa vifaa vya Feather Huzzah. Halafu, suuza pini za kichwa cha kiume kwa Manyoya ya Manyoya. Kuziunganisha kwa njia hii hukuruhusu kujiunga na kutenganisha Mrengo wa Manyoya kutoka kwa Manyoya Huzzah inapohitajika. Hii ni rahisi sana wakati unahitaji kuongeza vipinga kwenye Manyoya yako, ambayo ni hatua inayofuata. Unganisha vipinga vya ohm 100K kutoka kila pini 0 na 2, iliyounganishwa na 3V.

Sanidi vifaa vyako vya Manyoya Huzzah

Sanidi vifaa vyako vya mabawa ya Manyoya

Hatua ya 2: Ongeza Nambari yako

Ongeza Msimbo Wako
Ongeza Msimbo Wako
Ongeza Msimbo Wako
Ongeza Msimbo Wako

Nambari hii ni marekebisho ya Somo la 5 la Nambari ya Vitu, Wakati unaruhusiwa, ningependa kuchukua nafasi ya huduma ya Preceptitaton na ile inayofuata kazi ambazo zinaongezwa kupitia applet ya ToDosit IFTTT. Kwa sasa itabidi uingize kwa mikono seti ya majukumu na utumie Kitufe A kuzunguka kwa njia yao. Kwa kuongezea, ningependa ningeweka kificho cha saa ili kuhesabu kwa dakika na kuacha wakati wa kubadili kazi inayofuata. Asante kubwa kwa Becky Stern kwa kuunda nambari ya msingi ya kipima muda na baiskeli kupitia kazi. Ikiwa una nia ya kuunganisha mradi kwenye wavuti, ningependekeza sana kupitia safu hii ya madarasa.

// Inayofundishwa Mtandao wa Vitu Hatari nambari ya sampuli // Mzunguko Unaonyesha Takwimu za Mtandao // Takwimu za hali ya hewa zinakusanywa kwenye malisho // NeoPixels nyingi zinaonyesha hali ya hali ya hewa // // Iliyobadilishwa na Becky Stern 2017 // kulingana na Mfano wa Usajili wa Adafruit IO

// Adafruit huwekeza wakati na rasilimali kutoa nambari hii ya chanzo wazi.

// Tafadhali saidia Adafruit na vifaa vya chanzo kwa kununua bidhaa za // kutoka Adafruit! // // Imeandikwa na Todd Treece kwa Viwanda vya Adafruit // Hakimiliki (c) 2016 Viwanda vya Adafruit // Leseni chini ya leseni ya MIT. // // Nakala zote hapo juu lazima zijumuishwe katika ugawaji wowote.

/ ************************ Usanidi wa Adafruit IO ********************** *********

/ tembelea io.adafruit.com ikiwa unahitaji kuunda akaunti, // au ikiwa unahitaji kitufe chako cha Adafruit IO. #fafanua IO_USERNAME "Jina Lako la Jina Hapa" #fafanua IO_KEY "YakoIOKeyHapa"

/ ******************************* Usanidi wa WIFI **************** ********************** /

#fafanua WIFI_SSID "WifiName"

#fafanua WIFI_PASS "WifiPassword"

# pamoja na "AdafruitIO_WiFi.h"

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

/ ************************ Programu Kuu Inaanzia Hapa ********************* ********** /

#jumlisha #jumlisha #jumuisha #jumuisha

# pamoja

#jumlisha #jumlisha # pamoja

#fafanua OLED_RESET 3

Maonyesho ya Adafruit_SSD1306 (128, 32, & Wire, OLED_RESET);

// hii mara kwa mara haitabadilika:

kifungo cha int intPinA = 0; // pini ambazo vifungo vya kushinikiza vimeambatanishwa na kifungo cha const intPinB = 16; // hii tayari ina kontena la pullup, zingine mbili zinahitaji kifungo kimoja cha constPinC = 2;

// Vigezo vitabadilika:

kitufe cha intAPAPCounter = 0; // counter kwa idadi ya vifungo vya kifungo int intAState = 0; // hali ya sasa ya kifungo int lastButtonAState = 0; // hali ya awali ya kifungo

// Vigezo vitabadilika:

kitufe cha intBPushCounter = 0; // counter kwa idadi ya vitufe vya kitufe intStState = 0; // hali ya sasa ya kifungo int lastButtonBState = 0; // hali ya awali ya kifungo

// Vigezo vitabadilika:

kifungo cha intCPushCounter = 0; // counter kwa idadi ya vitufe vya kitufe intStState = 0; // hali ya sasa ya kifungo int lastButtonCState = 0; // hali ya awali ya kifungo

String displayForecast = "haijulikani";

kipima mudaVal = 0;

unsigned longStartTime ndefu = 0; timer ya bool Imewezeshwa = 0;

AdafruitIO_Feed * precipitation = io.feed ("mvua"); // kuanzisha malisho ya 'mvua.'

// AdafruitIO_Feed * taskmanager = io.feed ("msimamizi wa kazi"); // kuanzisha malisho ya 'taskmanager'

usanidi batili () {

pinMode (kifungoPinA, INPUT); pinMode (kifungoPinB, INPUT_PULLUP); pinMode (kifungoPinC, INPUT);

// SSD1306_SWITCHCAPVCC = kuzalisha voltage ya kuonyesha kutoka 3.3V ndani

onyesha. kuanza (SSD1306_SWITCHCAPVCC, 0x3C); // Anwani 0x3C kwa 128x32

// Onyesha yaliyomo bafa ya kuonyesha kwenye skrini -

// maktaba inazindua hii na skrini ya Splash ya Adafruit. onyesha.display (); kuchelewa (2000); // Sitisha kwa sekunde 2

// Futa bafa.

onyesha wazi Cleplay ();

// kuanza uunganisho wa serial

Serial. Kuanza (115200);

// unganisha kwa io.adafruit.com

Serial.print ("Kuunganisha na Adafruit IO"); io.connect (); // weka kishika ujumbe kwa mpasho wa 'mvua'. // kazi ya kushughulikiaMessage (iliyoelezwa hapo chini) // itaitwa wakati wowote ujumbe unapopokelewa // kutoka kwa adafruit io. mvua -> onMessage (handleMessage);

// subiri unganisho

wakati (io.status () <AIO_CONNECTED) {Serial.print ("."); kuchelewesha (500); }

// tumeunganishwa

Serial.println (); Serial.println (io.statusText ());

}

kitanzi batili () {

// io.run (); inahitajika kwa michoro zote.

// inapaswa iwepo kila wakati juu ya kitanzi chako // kazi. humfanya mteja kushikamana na // io.adafruit.com, na kuchakata data yoyote inayoingia. kukimbia ();

// soma pini ya kuingiza kifungo cha kushinikiza:

kifungoAState = digitalRead (buttonPinA); kifungoBState = digitalRead (buttonPinB); kifungoCState = digitalRead (buttonPinC);

// kulinganisha kitufe cha Hali na hali yake ya awali

ikiwa (buttonAState! = lastButtonAState || buttonBState! = lastButtonBState || buttonCState! = lastButtonCState) {// ikiwa serikali imebadilika, ongeza kaunta ikiwa (buttonAState == LOW) {// ikiwa hali ya sasa iko chini na kitufe ilibonyeza kitufeAPushCounter ++; Serial.print ("idadi ya kitufe cha A inasukuma:"); Serial.println (kifungoAPushCounter); } ikiwa (buttonBState == LOW) {// ikiwa hali ya sasa iko chini basi kitufe kilibonyezwaBPushCounter ++; Serial.print ("idadi ya kitufe cha B inasukuma:"); Serial.println (kifungoBPushCounter); Serial.println ("Kuanzia kipima muda"); timerEnabled = 1; lastStartTime = milimita (); } ikiwa (buttonCState == LOW) {// ikiwa hali ya sasa iko chini basi kitufe kilibonyezwaCPushCounter ++; Serial.print ("idadi ya kitufe cha C inasukuma:"); Serial.println (kifungoCPushCounter); Serial.println ("Kuacha kipima muda"); timerEnabled = 0; }} ikiwa (timerEnabled == 1) {// kuongeza kipima muda tu wakati kimeanza timerVal = (millis () - lastStartTime) / 1000; }

// nafasi ya kuonyesha 1 - utabiri

// ikiwa (buttonAPushCounter% 3 == 0) {// display.clearDisplay (); // onyesho.setTextSize (1); // onyesho.setTextColor (NYEUPE); // onyesha.setCursor (0, 0); // kuonyesha.print ("Utabiri:"); // onyesho.println (onyeshaForecast); // kuonyesha.setCursor (0, 16); // kuonyesha.println ("mstari wa pili"); // display.println ("mfano wa yaliyomo"); // onyesha.display (); // // kuchelewa (2000); //}

// nafasi ya kuonyesha 1 - Task 1

ikiwa (buttonAPushCounter% 3 == 0) {display.setTextSize (1); onyesha.setTextColor (NYEUPE); onyesha wazi Cleplay (); onyesha.setCursor (0, 0); display.println ("Utafiti - Mahojiano"); onyesha.println (); onyesho.print ("Timer:"); onyesha.println (timerVal); onyesha.display (); }

// nafasi ya kuonyesha 2 - Jukumu 2

ikiwa (buttonAPushCounter% 3 == 1) {display.clearDisplay (); onyesha.setCursor (0, 0); kuonyesha.println ("Kufanya Studio - Msimbo"); onyesha.println (); onyesho.print ("Timer:"); onyesha.println (timerVal); onyesha.display (); }

// nafasi ya kuonyesha 3 - Kazi 3

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

// kuokoa hali ya sasa kama hali ya mwisho, // kwa wakati ujao kupitia kitanzi lastButtonAState = buttonAState; mwishoButtonBState = kifungoBState; lastButtonCState = kifungoCState;

}

// kazi hii inaitwa wakati wowote ujumbe

// imepokelewa kutoka kwa Adafruit IO. ilikuwa imeambatanishwa na // malisho katika kazi ya kuanzisha () hapo juu. utupu handleMessage (data ya AdafruitIO_Data *) {

Utabiri wa kamba = data-> toString (); // kuhifadhi data ya hali ya hewa inayoingia katika kamba

Serial.print ("imepokea <-"); Serial.println (utabiri); kuonyeshaForecast = utabiri; // nyuzi zifuatazo zinahifadhi maneno ya hali ya hewa ya IFTTT ya varous ambayo nimegundua hadi sasa String task1 = String ("Task 1"); Mvua ya kamba = Kamba ("Mvua"); Strain lightrain = Kamba ("Mvua nyepesi"); Mvua ya mvua ya kamba = "Kamba (" Kuoga Mvua "); Kamba AMshowers = Kamba ("AM Showers"); Upepo wa mvua ya mvua = Kamba ("Mvua na theluji"); Theluji ya kamba = Kamba ("Theluji"); Kamba ya theluji = Kamba ("Kuoga theluji"); Mawingu ya mawingu = Kamba ("Mawingu"); Kamba hasa cloudy = Kamba ("Mawingu Zaidi"); Kamba partlycloudy = Kamba ("Mawingu kidogo"); Kamba clearsky = Kamba ("Futa"); Kamba ya haki = Kamba ("Haki"); Jua la kamba = Kamba ("Jua");

// Hizi ikiwa taarifa zinalinganisha hali ya hewa inayoingia na hali zilizohifadhiwa, na dhibiti NeoPixels ipasavyo.

// ikiwa kuna mvua katika utabiri kama utabiri leo );

}

// ikiwa kuna theluji katika utabiri ikiwa (utabiri.equalsIgnoreCase (theluji) || utabiri.equalsIgnoreCase (rainandsnow) || forecast.equalsIgnoreCase (snowshower)) {Serial.println ("mvua katika utabiri leo");

}

// ikiwa kuna jua katika utabiri ikiwa (forecast.equalsIgnoreCase (clearsky) || forecast.equalsIgnoreCase (fair) || forecast.equalsIgnoreCase (sunny)) {Serial.println ("aina fulani ya jua katika utabiri leo");

}

// ikiwa kuna mawingu katika utabiri ikiwa (utabiri.equalsIgnoreCase (mawingu) || utabiri.equalsIgnoreCase (mostcloudy) || forecast.equalsIgnoreCase (partlycloudy)) {Serial.println ("angani lenye mawingu katika utabiri leo");

}

}

Hatua ya 3: Unda Kontena / Shell

Unda Chombo / Shell
Unda Chombo / Shell
Unda Chombo / Shell
Unda Chombo / Shell
Unda Chombo / Shell
Unda Chombo / Shell
Unda Chombo / Shell
Unda Chombo / Shell

Kwa ganda, anza kwa kuamua ni ukubwa gani ungependa sura yako iwe, au unaweza kupakua faili yangu. Mara tu unapoamua saizi unaweza kutumia MakerCase kuunda mpangilio wa faili ya vector.

Endesha faili kupitia mkataji wa laser - inapaswa kuchukua kama dakika 5. Baada ya hapo weka ganda pamoja.

Sikuweza kuhesabu upana wa nyenzo ambayo inafanya vifungo vyangu kuwa ngumu kufikia. Bado ninahitaji kutafuta njia ya kuziambatisha. Pia ni ndogo sana ambayo inafanya kuwa ngumu kufanya kazi nayo.

Ilipendekeza: