Мазмұны:

TOYL тапсырмаларын қадағалаушы: 3 қадам (суреттермен)
TOYL тапсырмаларын қадағалаушы: 3 қадам (суреттермен)

Бейне: TOYL тапсырмаларын қадағалаушы: 3 қадам (суреттермен)

Бейне: TOYL тапсырмаларын қадағалаушы: 3 қадам (суреттермен)
Бейне: Мыналар не істеп тұр?😱😱😱 #qoslike #калаулым #бірболайық #кослайк 2024, Қараша
Anonim
Image
Image
TOYL тапсырмаларын бақылау құралы
TOYL тапсырмаларын бақылау құралы
TOYL тапсырмаларын бақылау құралы
TOYL тапсырмаларын бақылау құралы

Сіз жұмысты жоспарлаған кезде немесе одан да жаман болғанды жек көрмейсіз бе, жұмыс сеансының ортасында тұрсыз және телефоныңызға хабарлама келеді-бірнеше сағаттан кейін «жылдам тексеру» болады. Сонымен қатар, сіз аптасына жұмысқа бөлінген уақытқа қатысты белгілі бір тапсырмалармен қанша жұмыс жасайтыныңызды білесіз бе?

TOYL тапсырмаларын бақылау құралын енгізіңіз. Бұл сізге телефонды сөндіруге және жұмысқа назар аударуға мүмкіндік береді, сонымен қатар сізге аптасына 60 сағат жұмыс жасағыңыз келетін уақытты және орындағыңыз келетін тапсырмаларды орнатуға мүмкіндік береді. Сіз сессияға отырғанда, сіз жалпы жұмысыңызға қанша уақыт қалғанын түсінесіз. Бақылаушының екі режимі бар: таймер, онда сіз бір тапсырмаға аптасына қанша уақыт жұмсағыңыз келетінін алдын ала орнатасыз және секундомер, онда сіз тапсырманы таңдағаннан кейін таймерді жай ғана бастай аласыз.

Жабдықтар

Схема

  • Адафрут қауырсыны Хузза
  • Adafruit FeatherWing
  • Еркек тақырыптық түйреуіштер
  • Әйел басына арналған түйреуіштер
  • 500 мАч батарея
  • 100K Ом резисторлары x2
  • Оқшаулағыш таспа
  • Бұралған сым
  • Сымды тазартқыштар
  • Дәнекерлеуші желдеткіш

Қаптама

  • Мөлдір акрил парағы 24 «x18»
  • Екі жақты таспа
  • Лазерлік кескішке қол жеткізу
  • Векторлық бағдарламалық қамтамасыз ету

1 -қадам: тізбекті дәнекерлеңіз

Сіздің тізбекті дәнекерлеңіз
Сіздің тізбекті дәнекерлеңіз
Сіздің тізбекті дәнекерлеңіз
Сіздің тізбекті дәнекерлеңіз
Сіздің тізбекті дәнекерлеңіз
Сіздің тізбекті дәнекерлеңіз

Әйел тақырыбының түйінін Қауырсын Хузаға бекітіңіз. Бұл оқулық Feather Huzzah аппараттық құралдарын орнату үшін пайдалы. Содан кейін, ерлер тақырыбын FeatherWing -ге бекітіңіз. Оларды осылайша дәнекерлеу қажет болған жағдайда Қауырсын қанатын Қауырсын Хуззадан қосуға және ажыратуға мүмкіндік береді. Бұл әсіресе FeatherWing -ге резисторларды қосу қажет болған кезде ыңғайлы, бұл келесі қадам. 3В қосылған 0 және 2 түйреуіштерінен 100К Ом резисторларын қосыңыз.

Feather Huzzah аппараттық құралын орнатыңыз

Feather Wing аппараттық құралын орнатыңыз

2 -қадам: кодты қосыңыз

Кодыңызды қосыңыз
Кодыңызды қосыңыз
Кодты қосыңыз
Кодты қосыңыз

Бұл код 5 -сабақ Интернет заттарының бейімделуі, уақыт рұқсат етілгендіктен, мен Preceptitaton қызметін ToDosit IFTTT апплеті арқылы қосылған тапсырмаларды бақылайтын қызметке ауыстырғым келеді. Қазіргі уақытта сізге тапсырмалар жиынтығын қолмен енгізу және оларды айналдыру үшін А түймесін пайдалану қажет болады. Бұған қоса, мен таймерді бірнеше минут ішінде санауға және келесі тапсырмаға ауысқанда тоқтауға кодтауды ұнататын едім. Бекки Стернге таймердің негізгі кодын құрғаны үшін және тапсырмалар бойынша велосипедпен жүгіргені үшін үлкен рахмет. Егер сіз жобаны интернетке қосқыңыз келсе, мен сізге осы сабақтар жиынтығынан өтуді ұсынамын.

// Нұсқауға болатын заттардың интернет -сыныбының үлгі коды // Интернеттегі мәліметтерді көрсететін схема // Ауа райы туралы мәліметтер фидте жиналады // Бірнеше NeoPixels ауа райының жағдайын бейнелейді // // Becky Stern 2017 түрлендірген // Adafruit IO жазылым үлгісі негізінде

// Adafruit осы бастапқы кодты қамтамасыз ететін уақыт пен ресурстарды инвестициялайды.

// Adafruit өнімдерін сатып алу арқылы Adafruit және ашық бастапқы жабдықты қолдауды сұраймыз! // // Adafruit Industries үшін Todd Treece жазған // Авторлық құқық (c) 2016 Adafruit Industries // MIT лицензиясы бойынша лицензияланған. // // Жоғарыдағы барлық мәтін кез келген қайта бөлуге қосылуы керек.

/************************ Adafruit IO конфигурациясы ********************** *********

/ егер тіркелгі жасау қажет болса, io.adafruit.com сайтына кіріңіз, // немесе сізге Adafruit IO кілті қажет болса. #IO_USERNAME «Сіздің логиніңіз мұнда» анықтаңыз

/******************************* WIFI конфигурациясы **************** **********************/

#WIFI_SSID «WifiName» анықтаңыз

#WIFI_PASS «WifiPassword» анықтаңыз

#«AdafruitIO_WiFi.h» қосыңыз

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

/************************ Негізгі бағдарлама осы жерден басталады ********************* **********/

#қосу #қосу #қосу #қосу

#қосу

#қосу #қосу #қосу

#OLED_RESET анықтаңыз

Adafruit_SSD1306 дисплейі (128, 32, & Wire, OLED_RESET);

// бұл тұрақты өзгермейді:

const int buttonPinA = 0; // түймелер const int түймесіне бекітілген түйреуіштерPinB = 16; // бұл бұрыннан тартылатын резисторға ие, қалған екеуіне бір const int buttonPinC = 2 қажет;

// Айнымалылар өзгереді:

int buttonAPushCounter = 0; // түймені басу саны үшін есептегіш int buttonAState = 0; // түйменің ағымдағы күйі int lastButtonAState = 0; // түйменің алдыңғы күйі

// Айнымалылар өзгереді:

int buttonBPushCounter = 0; // түймені басу саны үшін есептегіш int buttonBState = 0; // түйменің ағымдағы күйі int lastButtonBState = 0; // түйменің алдыңғы күйі

// Айнымалылар өзгереді:

int buttonCPushCounter = 0; // түймені басу саны үшін есептегіш int buttonCState = 0; // түйменің ағымдағы күйі int lastButtonCState = 0; // түйменің алдыңғы күйі

String displayForecast = «белгісіз»;

int timerVal = 0;

белгісіз ұзақ lastStartTime = 0; bool timerEnabled = 0;

AdafruitIO_Feed *жауын -шашын = io.feed («жауын -шашын»); // «жауын -шашын» арнасын орнатыңыз

// AdafruitIO_Feed *taskmanager = io.feed («taskmanager»); // 'taskmanager' арнасын орнатыңыз

жарамсыз орнату () {

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

// SSD1306_SWITCHCAPVCC = дисплей кернеуін ішкі 3,3В -тан генерациялайды

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // 0x3C мекенжайы 128x32 үшін

// Экранда дисплей буферінің бастапқы мазмұнын көрсету -

// кітапхана мұны Adafruit экранымен инициализациялайды. display.display (); кешіктіру (2000); // 2 секундқа кідірту

// Буферді тазалаңыз.

display.clearDisplay ();

// сериялық қосылымды бастаңыз

Serial.begin (115200);

// io.adafruit.com сайтына қосылыңыз

Serial.print («Adafruit IO -ға қосылу»); io.connect (); // «жауын -шашын» арнасы үшін хабар өңдегішті орнатыңыз. // handleMessage функциясы (төменде анықталған) // хабарлама // adafruit io -дан алынған сайын шақырылады. жауын-шашын-> onMessage (handleMessage);

// қосылуды күтіңіз

while (io.status () <AIO_CONNECTED) {Serial.print («.»); кешіктіру (500); }

// біз байланыстамыз

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

}

void loop () {

// io.run (); барлық эскиздер үшін қажет.

// ол әрқашан цикл // функциясының жоғарғы жағында болуы керек. ол клиентті // io.adafruit.com сайтына қосады және кез келген кіріс деректерді өңдейді. io.run ();

// батырманың кіріс түйреуішін оқыңыз:

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

//State батырмасын оның алдыңғы күйімен салыстырыңыз

if (buttonAState! = lastButtonAState || buttonBState! = lastButtonBState || buttonCState! = lastButtonCState) {// егер күй өзгерсе, есептегішті көбейтіңіз, егер (buttonAState == LOW) {// егер ағымдағы күй LOW болса, онда түйме APushCounter ++ батырмасы басылды; Serial.print («А түймесінің саны басылады:»); Serial.println (buttonAPushCounter); } if (buttonBState == LOW) {// егер ағымдағы күй LOW болса, онда батырманы басылды buttonBPushCounter ++; Serial.print («B түймесінің саны басылады:»); Serial.println (buttonBPushCounter); Serial.println («Бастау таймері»); timerEnabled = 1; lastStartTime = millis (); } if (buttonCState == LOW) {// егер ағымдағы күй LOW болса, онда түйме басылды buttonCPushCounter ++; Serial.print («C батырмасының саны:»); Serial.println (buttonCPushCounter); Serial.println («Таймерді тоқтату»); timerEnabled = 0; }} if (timerEnabled == 1) {// таймерді тек іске қосылғанда ғана арттырады timerVal = (millis () - lastStartTime)/1000; }

// дисплей позициясы 1 - болжам

// if (buttonAPushCounter % 3 == 0) {// display.clearDisplay (); // display.setTextSize (1); // display.setTextColor (ақ); // display.setCursor (0, 0); // display.print («Болжам:»); // display.println (displayForecast); // display.setCursor (0, 16); // display.println («екінші жол»); // display.println («мысал мазмұны»); // display.display (); // // кешігу (2000); //}

// 1 -позицияны көрсету - 1 -тапсырма

if (buttonAPushCounter % 3 == 0) {display.setTextSize (1); display.setTextColor (АҚ); display.clearDisplay (); display.setCursor (0, 0); display.println («Зерттеу - сұхбат»); display.println (); display.print («Таймер:»); display.println (timerVal); display.display (); }

// 2 -позицияны көрсету - 2 -тапсырма

if (buttonAPushCounter % 3 == 1) {display.clearDisplay (); display.setCursor (0, 0); display.println («Making Studio - Code»); display.println (); display.print («Таймер:»); display.println (timerVal); display.display (); }

// 3 -позицияны көрсету - 3 -тапсырма

if (buttonAPushCounter % 3 == 2) {display.clearDisplay (); display.setCursor (0, 0); display.println («DSV - Эскиз»); display.println (); display.print («Таймер:»); display.println (timerVal); display.display (); }

// ағымдағы күйді соңғы күй ретінде сақтаңыз, // келесі жолы цикл арқылы lastButtonAState = buttonAState; lastButtonBState = buttonBState; lastButtonCState = buttonCState;

}

// бұл функция хабар келген сайын шақырылады

// Adafruit IO -дан алынған. ол // жоғарыдағы setup () функциясындағы арнаға қосылды. void handleMessage (AdafruitIO_Data *деректері) {

Жолдың болжамы = data-> toString (); // кіретін ауа райы деректерін жолда сақтаңыз

Serial.print («алынды <-»); Serial.println (болжам); displayForecast = болжам; // келесі жолдар осы уақытқа дейін тапқан IFTTT ауа райы туралы есептердің әр түрлі сөздерін сақтайды String task1 = String («Тапсырма 1»); Қатты жаңбыр = Стринг («Жаңбыр»); String lightrain = String («Жеңіл жаңбыр»); String rainshower = String («Жаңбырлы душ»); String AMshowers = Жол («AM душтары»); String rainandsnow = Жол («Жаңбыр мен қар»); Қарлы жол = Жол («Қар»); String snowshower = String («Қарлы душ»); Жол бұлтты = Жол («Бұлтты»); Жол көбінесеcloudy = Жол («Көбінесе бұлтты»); Жол жартылай бұлтты = Жол («Жартылай бұлтты»); Жолды тазарту = Жол («Таза»); String fair = Жол («Fair»); String sunny = Жол («Шуақты»);

// Егер бұл мәлімдемелер ауа райы айнымалы мәнін сақталған жағдаймен салыстырады және тиісінше NeoPixels -ті басқарады.

// егер болжамда жаңбыр бар болса, егер (болжам.экеулерІстемеу (жаңбыр) || болжам бүгінгі болжам »);

}

// егер болжамда қар болса if (болжам.экеулерІске қоспау (қар) || болжам.

}

// егер болжауда күн болса if (болжам.экеулерІсіне алмау)

}

// егер болжамда бұлттар болса if (болжам.экеулерIgnoreCase (бұлтты) || болжам.

}

}

3 -қадам: Контейнер / қабық жасаңыз

Контейнер / қабық жасаңыз
Контейнер / қабық жасаңыз
Контейнер / қабық жасаңыз
Контейнер / қабық жасаңыз
Контейнер / қабық жасаңыз
Контейнер / қабық жасаңыз
Контейнер / қабық жасаңыз
Контейнер / қабық жасаңыз

Қабық үшін кадрдың өлшемі қандай болатынын анықтаудан бастаңыз, әйтпесе сіз менің файлымды жүктей аласыз. Өлшемді анықтағаннан кейін сіз MakerCase көмегімен векторлық файлдың орналасуын жасай аласыз.

Файлды лазерлік кескіш арқылы іске қосыңыз - шамамен 5 минут қажет. Содан кейін қабықты біріктіріңіз.

Мен материалдың енін есепке алмадым, бұл менің түймелерге жетуді қиындатады. Мен оларды әлі де бекітудің жолын іздеуім керек. Олар өте кішкентай, олармен жұмыс істеу қиынға соғады.

Ұсынылған: