Cov txheej txheem:

TOYL Task Tracker: 3 Kauj Ruam (nrog Duab)
TOYL Task Tracker: 3 Kauj Ruam (nrog Duab)

Video: TOYL Task Tracker: 3 Kauj Ruam (nrog Duab)

Video: TOYL Task Tracker: 3 Kauj Ruam (nrog Duab)
Video: BABY XAV NTSIB KOJ (BABY I WANNA MEET YOU) - NT ONE [OFFICIAL MUSIC VIDEO] | HMONG NEW SONG 2023 2024, Kaum ib hlis
Anonim
Image
Image
TOYL Task Tracker
TOYL Task Tracker
TOYL Task Tracker
TOYL Task Tracker

Tsis txhob koj tsuas yog ntxub nws thaum koj tab tom npaj ua haujlwm lossis tsis zoo, nyob hauv nruab nrab ntawm kev sib tham ua haujlwm thiab ceeb toom tuaj rau hauv koj lub xov tooj-"tshuaj xyuas sai" dhau los ua teev tom qab. Tsis tas li, koj puas paub ntau npaum li cas sijhawm koj ua haujlwm ntawm qee yam haujlwm cuam tshuam nrog lub sijhawm koj tau faib rau kev ua haujlwm hauv ib lub lis piam?

Nkag mus rau TOYL Task Tracker. Nws ua rau koj hloov koj lub xov tooj thiab tsom mus rau kev ua haujlwm, ib txhij ua rau koj teeb tsa lub sijhawm koj xav ua haujlwm hauv ib lub lis piam-hais 60 teev-thiab cov haujlwm uas koj xav kom ua tiav. Thaum koj zaum rau kev sib tham, koj tau txais lub tswv yim tias koj tau siv sijhawm ntau npaum li cas rau koj txoj haujlwm tag nrho. Tus Tracker muaj ob hom: Timer, qhov uas koj tau npaj ua ntej ntau npaum li cas koj xav siv sijhawm ua haujlwm ib lub lim tiam, thiab Stopwatch, qhov twg koj tuaj yeem yooj yim pib-nres lub sijhawm tom qab xaiv txoj haujlwm.

Khoom siv

Circuit Court

  • Adafruit Feather Huzzah
  • Adafruit FeatherWing
  • Txiv neej header pins
  • Poj niam header pins
  • 500mAh roj teeb
  • 100K ohm resistors x2
  • Rwb thaiv tsev kab xev
  • Txoj hlua hlau
  • Cov hlua hlau
  • Solder Ntxuam

Casing

  • Opaque acrylic ntawv 24 "x18"
  • Ob daim kab xev
  • Nkag mus rau lub tshuab txiav laser
  • Vector tsim software

Kauj Ruam 1: Rhuav Koj Lub Vev Xaib

Solder Koj Circuit
Solder Koj Circuit
Solder koj Circuit
Solder koj Circuit
Solder Koj Circuit
Solder Koj Circuit

Siv tus poj niam lub taub hau txuas rau Feather Huzzah. Cov ntawv qhia no muaj txiaj ntsig zoo rau Feather Huzzah teeb tsa kho vajtse. Tom qab ntawd, muab tus txiv neej lub taub hau txuas rau ntawm FeatherWing. Soldering lawv nyob rau hauv qhov no tso cai rau koj koom nrog thiab cais cov Tsiaj Tsiaj los ntawm Feather Huzzah thaum xav tau. Qhov no yog qhov tshwj xeeb tshaj yog thaum koj xav tau ntxiv cov tshuaj tiv thaiv rau koj FeatherWing, uas yog cov kauj ruam tom ntej. Txuas 100K ohm resistors los ntawm txhua tus pin 0 thiab 2, txuas nrog 3V.

Teeb tsa koj cov plaub hau Huzzah kho vajtse

Teeb tsa koj cov cuab yeej tis plaub hau

Kauj ruam 2: Ntxiv Koj Cov Cai

Ntxiv Koj Cov Cai
Ntxiv Koj Cov Cai
Ntxiv Koj Cov Cai
Ntxiv Koj Cov Cai

Cov cai no yog kev hloov kho ntawm Zaj Lus Qhia 5 Internet ntawm Yam Cai, Lub Sijhawm Tso Cai, Kuv xav kom hloov qhov Kev Pabcuam Preceptitaton nrog ib qho uas taug qab cov haujlwm uas tau ntxiv ntawm ToDosit IFTTT applet. Tam sim no koj yuav tsum tau nkag mus rau tus kheej cov txheej txheem ntawm kev ua haujlwm thiab siv Khawm A txhawm rau hla lawv. Ib qho ntxiv, Kuv xav tau xav kom muaj lub cim timer los suav hauv feeb thiab nres thaum hloov mus rau txoj haujlwm tom ntej. Ua tsaug ntau rau Becky Stern rau kev tsim cov cai rau lub sijhawm thiab caij tsheb kauj vab los ntawm kev ua haujlwm. Yog tias koj txaus siab los txuas txoj haujlwm rau hauv internet, Kuv xav kom pom zoo los ntawm cov chav kawm no.

// Cov Lus Qhia Hauv Is Taws Nem ntawm Yam Chav Qauv piv txwv // Circuit Qhia Cov Ntaub Ntawv Hauv Internet // Cov ntaub ntawv huab cua tau sau hauv qhov pub // Ntau NeoPixels pom qhov xwm txheej huab cua // // Hloov kho los ntawm Becky Stern 2017 // raws li Adafruit IO Kev Sau Npe Piv Txwv

// Adafruit nqis peev sijhawm thiab peev txheej muab qhov qhib qhov chaws no.

// Thov txhawb Adafruit thiab qhib qhov khoom kho vajtse los ntawm kev yuav khoom // cov khoom lag luam los ntawm Adafruit! // // Sau los ntawm Todd Treece rau Adafruit Industries // Copyright (c) 2016 Adafruit Industries // Muaj ntawv tso cai raws li MIT daim ntawv tso cai // // Txhua cov ntawv sau saum toj no yuav tsum suav nrog txhua qhov kev faib tawm.

/************************ Adafruit IO Configuration ********************** *********

/ mus ntsib io.adafruit.com yog tias koj xav tsim tus account, // lossis yog tias koj xav tau koj tus lej Adafruit IO. #define IO_USERNAME "YourUsernameHere" #define IO_KEY "YourIOKeyHere"

/******************************* WIFI Configuration **************** **********************/

#Txhais WIFI_SSID "WifiName"

#define WIFI_PASS "WifiPassword"

#suav nrog "AdafruitIO_WiFi.h"

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

/************************ Txoj haujlwm tseem ceeb pib ntawm no ********************* **********/

#include #include #include #include

#suav nrog

#include #include #include

#define OLED_RESET 3

Adafruit_SSD1306 zaub (128, 32, & Hlau, OLED_RESET);

// qhov tsis tu ncua yuav tsis hloov:

const int buttonPinA = 0; // cov pins uas lub khawm khawm tau txuas rau const int buttonPinB = 16; // qhov no twb muaj qhov rub tawm tus neeg tawm tsam, ob qho ntxiv xav tau ib qho const int buttonPinC = 2;

// Variables yuav hloov:

int khawmAPushCounter = 0; // txee rau tus naj npawb ntawm cov khawm nias int buttonAState = 0; // lub xeev tam sim no ntawm lub pob int lastButtonAState = 0; // lub xeev dhau los ntawm khawm

// Variables yuav hloov:

int khawmBPushCounter = 0; // txee rau tus naj npawb ntawm khawm nias int buttonBState = 0; // lub xeev tam sim no ntawm lub pob int lastButtonBState = 0; // lub xeev dhau los ntawm khawm

// Variables yuav hloov:

int khawmCPushCounter = 0; // txee rau tus naj npawb ntawm khawm nias int buttonCState = 0; // lub xeev tam sim no ntawm lub pob int lastButtonCState = 0; // lub xeev dhau los ntawm khawm

Txoj hlua displayForecast = "tsis paub";

int timerVal = 0;

unsigned ntev lastStartTime = 0; bool timerEnabled = 0;

AdafruitIO_Feed *nag lossis daus = io.feed ("nag lossis daus"); // teeb tsa 'nag lossis daus' pub

// AdafruitIO_Feed *taskmanager = io.feed ("taskmanager"); // teeb tsa 'taskmanager' pub

void teeb tsa () {

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

// SSD1306_SWITCHCAPVCC = tsim cov zaub tso tawm los ntawm 3.3V sab hauv

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // Chaw nyob 0x3C rau 128x32

// Qhia thawj zaug tso cov ntsiab lus tsis nyob ntawm qhov screen -

// lub tsev qiv ntawv pib qhov no nrog Adafruit txaws npo. display.display (); ncua (2000); // Ncua rau 2 vib nas this

// Tshem qhov tsis.

display.clearDisplay ();

// pib qhov txuas txuas

Serial.begin (115200);

// txuas rau io.adafruit.com

Serial.print ("Txuas rau Adafruit IO"); io.connect (); // teeb tsa tus tuav tes xov rau 'nag lossis daus' pub. // kev ua haujlwm handleMessage (txhais hauv qab no) // yuav raug hu thaum twg cov lus tau txais // tau txais los ntawm adafruit io. nag lossis daus-> onMessage (handleMessage);

// tos kev txuas

thaum (io.status () <AIO_CONNECTED) {Serial.print ("."); ncua (500); }

// peb txuas nrog

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

}

void voj () {

// io.run (); yuav tsum muaj rau txhua daim duab.

// nws yuav tsum ib txwm nyob rau saum koj lub voj // ua haujlwm. nws ua rau cov neeg siv txuas nrog // io.adafruit.com, thiab ua haujlwm cov ntaub ntawv nkag. io.run ();

// nyeem tus lej khawm nkag:

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

// sib piv buttonState rau nws lub xeev dhau los

yog (buttonAState! = lastButtonAState || buttonBState! = lastButtonBState || buttonCState! = lastButtonCState) {// yog tias lub xeev tau hloov pauv, nce lub txee yog (buttonAState == LOW) {// yog tias lub xeev tam sim no LOW ces khawm tau nias khawmAPushCounter ++; Serial.print ("tus lej ntawm khawm khawm:"); Serial.println (buttonAPushCounter); } yog (buttonBState == LOW) {// yog tias lub xeev tam sim no yog LOW ces lub pob tau nias khawmBPushCounter ++; Serial.print ("tus lej B khawm thawb:"); Serial.println (buttonBPushCounter); Serial.println ("Pib lub sijhawm"); timerEnabled = 1; lastStartTime = millis (); } yog (buttonCState == LOW) {// yog tias lub xeev tam sim no yog LOW ces lub pob raug nias khawmCPushCounter ++; Serial.print ("tus lej ntawm C khawm thawb:"); Serial.println (buttonCPushCounter); Serial.println ("Nres timer"); timerEnabled = 0; }} yog (timerEnabled == 1) {// nce lub sijhawm tsuas yog thaum nws tau pib timerVal = (millis () - lastStartTime)/1000; }

// tso txoj haujlwm 1 - kev kwv yees

// yog (buttonAPushCounter % 3 == 0) {// display.clearDisplay (); // display.setTextSize (1); // display.setTextColor (WHITE); // display.setCursor (0, 0); // display.print ("Kev twv ua ntej:"); // display.println (displayForecast); // display.setCursor (0, 16); // display.println ("kab thib ob"); // display.println ("piv txwv cov ntsiab lus"); // display.display (); // // ncua (2000); //}

// tso txoj haujlwm 1 - Ua Haujlwm 1

yog (buttonAPushCounter % 3 == 0) {display.setTextSize (1); display.setTextColor (WHITE); display.clearDisplay (); display.setCursor (0, 0); display.println ("Kev Tshawb Fawb - Kev Sib Tham"); display.println (); display.print ("Timer:"); display.println (timerVal); display.display (); }

// tso txoj haujlwm 2 - Task 2

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

// tso txoj haujlwm 3 - Task 3

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

// txuag lub xeev tam sim no raws li lub xeev kawg, // rau lub sijhawm tom ntej los ntawm lub voj lastButtonAState = buttonAState; lastButtonBState = buttonBState; lastButtonCState = buttonCState;

}

// txoj haujlwm no hu ua thaum twg los tau

// tau txais los ntawm Adafruit IO. nws tau txuas nrog // kev pub mis hauv teeb tsa () ua haujlwm saum toj no. tsis muaj dab tsi handleMessage (AdafruitIO_Data *cov ntaub ntawv) {

Txoj hlua kwv yees = data-> toString (); // khaws cov ntaub ntawv huab cua tuaj rau hauv ib txoj hlua

Serial.print ("tau txais <-"); Serial.println (kwv yees); displayForecast = kwv yees; // cov hlua hauv qab no khaws ntau qhov IFTTT huab cua qhia cov lus kuv tau pom txog tam sim no Txoj hlua txoj haujlwm 1 = Txoj hlua ("Ua Haujlwm 1"); Txoj hlua nag = Txoj hlua ("Los nag"); Txoj hlua lightrain = Txoj hlua ("Los nag"); Txoj hlua rainhower = Txoj hlua ("Dej Da Dej"); Txoj hlua AMshowers = Txoj hlua ("AM Showers"); Txoj hlua rainandsnow = Txoj hlua ("Los nag thiab Daus"); Txoj hlua daus = Txoj hlua ("Daus"); Txoj hlua snowshower = Txoj hlua ("Dej Daus"); String cloudy = Txoj hlua ("Huab"); Txoj hlua feem ntau yog cloudy = Txoj hlua ("Feem ntau yog huab"); String partlycloudy = Txoj hlua ("Ib nrab Huab"); Txoj hlua clearsky = Txoj hlua ("Ntshiab"); Txoj hlua ncaj ncees = Txoj hlua ("Ncaj Ncees"); Txoj hlua tshav ntuj = Txoj hlua ("Tshav ntuj");

// Cov no yog cov lus sib piv cov huab cua hloov pauv hloov pauv mus rau qhov xwm txheej khaws cia, thiab tswj NeoPixels kom haum.

// yog tias muaj nag los ntawm kev kwv yees yog (forecast.equalsIgnoreCase (nag) || forecast.equalsIgnoreCase (lightrain) || forecast.equalsIgnoreCase (rainshower) || forecast.equalsIgnoreCase (AMshowers)) {Serial.println ("nag lossis daus hauv kwv yees hnub no ");

}

// yog tias muaj daus hauv qhov kev kwv yees yog (forecast.equalsIgnoreCase (daus) || forecast.equalsIgnoreCase (rainandsnow) || forecast.equalsIgnoreCase (snowshower)) {Serial.println ("nag lossis daus hauv kev kwv yees hnub no");

}

// yog tias muaj hnub ci hauv qhov kev kwv yees yog (forecast.equalsIgnoreCase (clearsky) || forecast.equalsIgnoreCase (ncaj ncees) || forecast.equalsIgnoreCase (tshav ntuj)) {Serial.println ("qee yam ntawm lub hnub hauv qhov kev kwv yees hnub no");

}

// yog tias muaj huab nyob hauv qhov kev kwv yees yog (forecast.equalsIgnoreCase (pos huab) || forecast.equalsIgnoreCase (feem ntau yog huab cua) || forecast.equalsIgnoreCase (ib nrabcloudy)) {Serial.println ("ntuj pos huab hauv qhov kev kwv yees hnub no");

}

}

Kauj Ruam 3: Tsim Lub Thawv / Plhaub

Tsim lub Thawv / Plhaub
Tsim lub Thawv / Plhaub
Tsim lub Thawv / Plhaub
Tsim lub Thawv / Plhaub
Tsim lub Thawv / Plhaub
Tsim lub Thawv / Plhaub
Tsim lub Thawv / Plhaub
Tsim lub Thawv / Plhaub

Txog lub plhaub, pib los ntawm kev txiav txim siab seb koj xav kom koj lub thav duab loj li cas, lossis koj tuaj yeem rub kuv cov ntawv. Thaum koj txiav txim siab qhov loj koj tuaj yeem siv MakerCase los tsim cov txheej txheem rau cov ntaub ntawv vector.

Khiav cov ntaub ntawv los ntawm lub tshuab txiav laser - nws yuav tsum siv li 5 feeb. Tom qab ntawd muab lub plhaub ua ke.

Kuv tsis suav nrog qhov dav ntawm cov khoom uas ua rau kuv cov nyees khawm nyuaj rau mus txog. Kuv tseem yuav tsum nrhiav txoj hauv kev los txuas lawv. Lawv kuj tseem me me uas ua rau lawv nyuaj rau ua haujlwm nrog.

Pom zoo: