ዝርዝር ሁኔታ:
ቪዲዮ: የ TOYL ተግባር መከታተያ -3 ደረጃዎች (ከስዕሎች ጋር)
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
ለመሥራት ወይም ለማሰናከል ሲያስቡ ብቻ አይጠሉት ፣ በስራ ክፍለ ጊዜ መካከል ሲሆኑ እና በስልክዎ ላይ ማሳወቂያ ይመጣል-“ፈጣን ቼክ” ከሰዓታት በኋላ ይሆናል። እንዲሁም ፣ በሳምንት ለሥራ ከመደበው ጊዜ ጋር በተወሰኑ ሥራዎች ላይ ምን ያህል ጊዜ እንደሚሠሩ ያውቃሉ?
የ TOYL ተግባር መከታተያ ያስገቡ። እሱ በሳምንት ውስጥ መሥራት የሚፈልጉትን የጊዜ መጠን እንዲያዘጋጁ እና በአንድ ጊዜ 60 ሰዓታት እንዲናገሩ እና ሊከናወኑዋቸው የሚፈልጓቸውን ተግባራት እንዲያቀናብሩ እርስዎን በተመሳሳይ ጊዜ ስልክዎን እንዲያጠፉ እና በሥራ ላይ እንዲያተኩሩ ያስችልዎታል። ለአንድ ክፍለ ጊዜ ሲቀመጡ ፣ ለአጠቃላይ ሥራዎ ምን ያህል ጊዜ እንደቀሩ ሀሳብ ያገኛሉ። መከታተያው ሁለት ሁነታዎች አሉት-ሰዓት ቆጣሪ ፣ በሳምንት ለአንድ ተግባር ምን ያህል ጊዜ ማሳለፍ እንደሚፈልጉ አስቀድመው ያዘጋጁበት እና አንድ ተግባር ከመረጡ በኋላ ሰዓት ቆጣሪውን በቀላሉ ማስቆም የሚችሉበት የሩጫ ሰዓት።
አቅርቦቶች
ወረዳ
- አዳፍ ፍሬ ላባ ሁዛ
- Adafruit FeatherWing
- ወንድ ራስጌ ካስማዎች
- የሴት ራስጌ ፒኖች
- 500 ሚአሰ ባትሪ
- 100K ohm resistors x2
- የኢንሱሌሽን ቴፕ
- የተዘበራረቀ ሽቦ
- የሽቦ ቆራጮች
- የመሸጫ ደጋፊ
መያዣ
- ግልጽ ያልሆነ አክሬሊክስ ሉህ 24”x18”
- ባለ ሁለት ጎን ቴፕ
- የሌዘር መቁረጫ መዳረሻ
- የቬክተር ሶፍትዌር
ደረጃ 1: ወረዳዎን ያሽጡ
ላባ ሁዛ የተባለችውን የሴት ራስጌ ፒን ያሽጡ። ይህ መማሪያ ለላባ ሁዛ ሃርድዌር ማዋቀር ጠቃሚ ነው። ከዚያ የወንድ ራስጌውን ፒኖች ወደ ላባ ክንፍ ይሸጡ። በዚህ መንገድ እነሱን መሸጥ አስፈላጊ በሚሆንበት ጊዜ የላባ ክንፉን ከላባ ሁዛ እንዲቀላቀሉ እና እንዲለዩ ያስችልዎታል። ቀጣዩ ደረጃ በሆነው በ FeatherWingዎ ላይ ተቃዋሚዎችን ማከል ሲፈልጉ ይህ በተለይ ምቹ ነው። ከእያንዳንዱ ፒን 0 እና 2 100K ohm resistors ን ያገናኙ ፣ ከ 3 ቪ ጋር ተገናኝተዋል።
ላባ ሁዛ ሃርድዌርዎን ያዋቅሩ
ላባ ክንፍ ሃርድዌርዎን ያዋቅሩ
ደረጃ 2 ኮድዎን ያክሉ
ይህ ኮድ የ 5 ትምህርት በይነመረብ የነገሮችን ኮድ ማመቻቸት ፣ ጊዜን የሚፈቅድ ፣ የ “Preceptitaton” አገልግሎትን በ “ቶዶሲት IFTTT” አፕሌት በኩል የተጨመሩትን ተግባራት በሚከታተልበት መተካት እፈልጋለሁ። በአሁኑ ጊዜ የተግባሮችን ስብስብ እራስዎ ማስገባት እና በእነሱ ውስጥ ለማለፍ አዝራር ሀን መጠቀም አለብዎት። በተጨማሪም ፣ ወደ ቀጣዩ ተግባር በሚቀይሩበት ጊዜ ቆጣሪውን በደቂቃዎች ውስጥ ለመቁጠር እና ለማቆም ቢያስደስተኝ ደስ ይለኛል። ለጊዜ ቆጣሪው መሰረታዊ ኮድ በመፍጠር እና በተግባሮች በኩል ብስክሌት መንዳት ለቤኪ ስተርን በጣም አመሰግናለሁ። ፕሮጀክቱን ከበይነመረቡ ጋር ለማገናኘት ፍላጎት ካለዎት በዚህ የክፍሎች ስብስብ ውስጥ እንዲያልፉ እመክራለሁ።
// የመማሪያ በይነመረብ የነገሮች ክፍል ናሙና ኮድ // ወረዳው የበይነመረብ መረጃን ያሳያል // የአየር ሁኔታ መረጃ በምግብ ውስጥ ተሰብስቧል // ብዙ ኒኦፒክስሎች የአየር ሁኔታን ሁኔታ በዓይነ ሕሊናዎ ይመለከታሉ // // በአድፍ ፍሬዝ IO የደንበኝነት ምዝገባ ምሳሌ ላይ በመመስረት በቤኪ ስተርን 2017 // ተስተካክሏል።
// አዳፍሩት ይህንን ክፍት ምንጭ ኮድ በማቅረብ ጊዜን እና ሀብቶችን ያጠፋል።
// እባክዎ ምርቶችን ከአዳፍ ፍሬ በመግዛት እባክዎን አዳፍ ፍሬምን እና ክፍት ምንጭ ሃርድዌርን ይደግፉ! // // በቶድ ዛፍ የተፃፈው ለአዳፍሬስትሪ ኢንዱስትሪዎች // የቅጂ መብት (ሐ) 2016 አዳፍሬስት ኢንዱስትሪዎች // በ MIT ፈቃድ ስር ፈቃድ ተሰጥቶታል። // // ከላይ ያለው ጽሑፍ ሁሉ በማንኛውም መልሶ ማከፋፈል ውስጥ መካተት አለበት።
/************************ የአዳፍሮት አይኦ ውቅር ********************* *********
/ መለያ መፍጠር ከፈለጉ io.adafruit.com ን ይጎብኙ ፣
// ወይም የእርስዎን የአዳፍሮት አይኦ ቁልፍ ከፈለጉ። #IO_USERNAME “የእርስዎ የተጠቃሚ ስም እዚህ” #IO_KEY “YourIOKeyHere” ን ይግለጹ
/******************************* የ WIFI ውቅር **************** **********************/
#WIFI_SSID “WifiName” ን ይግለጹ
#WIFI_PASS “WifiPassword” ን ይግለጹ
#"AdafruitIO_WiFi.h" ን ያካትቱ
AdafruitIO_WiFi io (IO_USERNAME ፣ IO_KEY ፣ WIFI_SSID ፣ WIFI_PASS) ፤
/************************ ዋናው ፕሮግራም እዚህ ይጀምራል ********************* **********/
#አካት #አካትት #አካትት #አካት
#ያካትቱ
#አካትት #አካትት #አካት
#OLED_RESET ን ይግለጹ 3
Adafruit_SSD1306 ማሳያ (128 ፣ 32 ፣ እና ሽቦ ፣ OLED_RESET);
// ይህ ቋሚ አይለወጥም
const int buttonPinA = 0; // የግፊት ቁልፎች ከ const int buttonPinB = 16 ጋር የተጣበቁባቸው ፒኖች // ይህ ቀድሞውኑ የ pullup resistor አለው ፣ ሌሎቹ ሁለቱ አንድ const int buttonPinC = 2 ያስፈልጋቸዋል።
// ተለዋዋጮች ይለወጣሉ
int buttonAPushCounter = 0; // ቆጣሪ ለ አዝራሮች ብዛት int አዝራር አስታቴ = 0; // የአሁኑ አዝራር ሁኔታ int lastButtonAState = 0; // የአዝራሩ ቀዳሚ ሁኔታ
// ተለዋዋጮች ይለወጣሉ
int buttonBPushCounter = 0; // ቆጣሪ ለ አዝራሮች ብዛት int buttonBState = 0; // የአሁኑ የአዝራር ሁኔታ int lastButtonBState = 0; // የአዝራሩ ቀዳሚ ሁኔታ
// ተለዋዋጮች ይለወጣሉ
int buttonCPushCounter = 0; // ቆጣሪ ለ አዝራሮች ብዛት int buttonCState = 0; // የአሁኑ አዝራር ሁኔታ int lastButtonCState = 0; // የአዝራሩ ቀዳሚ ሁኔታ
ሕብረቁምፊ ማሳያ ፎረስት = "ያልታወቀ";
int timerVal = 0;
ያልተፈረመ ረጅም lastStartTime = 0; bool timerEnabled = 0;
AdafruitIO_Feed *ዝናብ = io.feed ("ዝናብ"); // ‹የዝናብ› ምግብን ያዋቅሩ
// AdafruitIO_Feed *taskmanager = io.feed ("ተግባር አስኪያጅ"); // ‹የተግባር አስተዳዳሪ› ምግብን ያዋቅሩ
ባዶነት ማዋቀር () {
pinMode (buttonPinA ፣ ማስገቢያ); pinMode (አዝራር ፒን ፣ INPUT_PULLUP); pinMode (buttonPinC ፣ ማስገቢያ);
// SSD1306_SWITCHCAPVCC = ከ 3.3V ከውስጥ የማሳያ ቮልቴጅ ያመነጫል
display.begin (SSD1306_SWITCHCAPVCC ፣ 0x3C); // አድራሻ 0x3C ለ 128x32
// በማያ ገጹ ላይ የመጀመሪያ ማሳያ ቋት ይዘቶችን ያሳዩ -
// ቤተ -መጽሐፍት ይህንን በአዳፍ ፍሬፕስ ስክሪን ያስጀምረዋል። display.display (); መዘግየት (2000); // ለ 2 ሰከንዶች ያቁሙ
// ቋቱን ያፅዱ።
display.clearDisplay ();
// ተከታታይ ግንኙነቱን ይጀምሩ
Serial.begin (115200);
// ከ io.adafruit.com ጋር ይገናኙ
Serial.print ("ከአዳፍ ፍሬ አይኦ ጋር መገናኘት"); io.connect (); // ለ ‹ዝናብ› ምግብ የመልእክት ተቆጣጣሪ ያዘጋጁ። // የ handleMessage ተግባር (ከዚህ በታች የተገለጸው) // አንድ መልዕክት // ከአድፍ ፍሬ io በተቀበለ ቁጥር ይጠራል። ዝናብ-> onMessage (handleMessage);
// ግንኙነትን ይጠብቁ
ሳለ (io.status () <AIO_CONNECTED) {Serial.print (".")); መዘግየት (500); }
// እኛ ተገናኝተናል
Serial.println (); Serial.println (io.statusText ());
}
ባዶነት loop () {
// io.run (); ለሁሉም ንድፎች ያስፈልጋል።
// ሁል ጊዜ በ loop // ተግባርዎ አናት ላይ መሆን አለበት። ደንበኛው ከ // io.adafruit.com ጋር እንዲገናኝ ያደርገዋል ፣ እና ማንኛውንም ገቢ ውሂብ ያስኬዳል። io.run ();
// የግፋ አዝራሩን የግቤት ፒን ያንብቡ -
buttonAState = digitalRead (buttonPinA); buttonBState = digitalRead (buttonPinB); buttonCState = digitalRead (buttonPinC);
// ግዛቱን ከቀዳሚው ሁኔታ ጋር ያወዳድሩ
ከሆነ (አዝራር አስተጋባ! ተጭኗል buttonAPushCounter ++; Serial.print ("የ A አዝራር ቁጥር የሚገፋ ቁጥር"); Serial.println (buttonAPushCounter); } ከሆነ (buttonBState == LOW) {// የአሁኑ ሁኔታ LOW ከሆነ አዝራሩ ተጭኖ ነበርBPushCounter ++; Serial.print ("B አዝራር የሚገፋ ቁጥር"); Serial.println (buttonBPushCounter); Serial.println (“ሰዓት ቆጣሪ”); ሰዓት ቆጣሪ = 1; lastStartTime = millis (); } ከሆነ (buttonCState == LOW) {// የአሁኑ ሁኔታ LOW ከሆነ አዝራሩ ተጭኖ ነበር አዝራር <CushCounter ++; Serial.print ("የ C አዝራር የሚገፋ ቁጥር"); Serial.println (buttonCPushCounter); Serial.println ("ሰዓት ቆጣሪ"); ሰዓት ቆጣሪ = 0; }} ከሆነ (timerEnabled == 1) {// ሰዓት ቆጣሪውን ጨምር timerVal = (millis () - lastStartTime)/1000; }
// የማሳያ አቀማመጥ 1 - ትንበያ
// ከሆነ (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
ከሆነ (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
ከሆነ (buttonAPushCounter % 3 == 1) {display.clearDisplay (); display.setCursor (0, 0); display.println ("ስቱዲዮ መስራት - ኮድ"); display.println (); display.print ("ሰዓት ቆጣሪ"); display.println (timerVal); display.display (); }
// የማሳያ አቀማመጥ 3 - ተግባር 3
ከሆነ (buttonAPushCounter % 3 == 2) {display.clearDisplay (); display.setCursor (0, 0); display.println ("DSV - Sketching"); display.println (); display.print ("ሰዓት ቆጣሪ"); display.println (timerVal); display.display (); }
// የአሁኑን ሁኔታ እንደ የመጨረሻ ሁኔታ ያስቀምጡ ፣ // በሚቀጥለው ጊዜ በ loop lastButtonAState = buttonAState በኩል; lastButtonBState = buttonBState; lastButtonCState = buttonCState;
}
// ይህ ተግባር መልእክት በሚላክበት ጊዜ ሁሉ ይባላል
// ከአዳፍሩት አይኦ ደርሷል። ከላይ ባለው የማዋቀር () ተግባር ውስጥ ካለው / ከምግቡ ጋር ተያይ wasል። ባዶ እጀታ መልዕክት (AdafruitIO_Data *ውሂብ) {
ሕብረቁምፊ ትንበያ = ውሂብ-> toString (); // መጪውን የአየር ሁኔታ ውሂብ በአንድ ሕብረቁምፊ ውስጥ ያከማቹ
Serial.print ("የተቀበለው <-"); Serial.println (ትንበያ); displayForecast = ትንበያ; // የሚከተሉት ሕብረቁምፊዎች እስካሁን ድረስ ያገኘሁትን የ IFTTT የአየር ሁኔታ ሪፖርት ቃላትን ያከማቻል ሕብረቁምፊ ተግባር 1 = ሕብረቁምፊ ("ተግባር 1"); ሕብረቁምፊ ዝናብ = ሕብረቁምፊ (“ዝናብ”); ሕብረቁምፊ lightrain = ሕብረቁምፊ (“ቀላል ዝናብ”); ሕብረቁምፊ የዝናብ ውሃ = ሕብረቁምፊ ("ዝናብ ሻወር"); ሕብረቁምፊ AMshowers = ሕብረቁምፊ ("AM Showers"); ሕብረቁምፊ rainandsnow = ሕብረቁምፊ ("ዝናብ እና በረዶ"); ሕብረቁምፊ በረዶ = ሕብረቁምፊ (“በረዶ”); ሕብረቁምፊ የበረዶ ተንሸራታች = ሕብረቁምፊ (“የበረዶ ሻወር”); ሕብረቁምፊ ደመናማ = ሕብረቁምፊ (“ደመናማ”); ሕብረቁምፊ አብዛኛው ደመና = ሕብረቁምፊ (“በጣም ደመናማ”); ሕብረቁምፊ partlycloudy = ሕብረቁምፊ ("በከፊል ደመናማ"); ሕብረቁምፊ clearsky = ሕብረቁምፊ ("አጽዳ"); ሕብረቁምፊ ፍትሃዊ = ሕብረቁምፊ ("ፍትሃዊ"); ሕብረቁምፊ ፀሐያማ = ሕብረቁምፊ (“ፀሐያማ”);
// እነዚህ መግለጫዎች መጪውን የአየር ሁኔታ ተለዋዋጭ ከተከማቹ ሁኔታዎች ጋር ካነፃፀሩ እና በዚህ መሠረት NeoPixels ን ይቆጣጠሩ።
// ትንበያው ውስጥ ዝናብ ካለ (ትንበያ ።. ትንበያ ዛሬ”);
}
// ትንበያው ውስጥ በረዶ ካለ (ትንበያ ።.
}
// ትንበያው ውስጥ ፀሐይ ካለ (ትንበያ ።.
}
// ትንበያው ውስጥ ደመናዎች ካሉ (ትንበያ ።.
}
}
ደረጃ 3 - መያዣ / llል ይፍጠሩ
ለቅርፊቱ ፣ ክፈፍዎ ምን ያህል እንዲሆን እንደሚፈልጉ በመወሰን ይጀምሩ ፣ ወይም የእኔን ፋይል ማውረድ ይችላሉ። መጠኑን አንዴ ከወሰኑ ለቬክተር ፋይል አቀማመጥን ለመፍጠር MakerCase ን መጠቀም ይችላሉ።
ፋይሉን በሌዘር መቁረጫ በኩል ያሂዱ - 5 ደቂቃ ያህል ሊወስድ ይገባል። ከዚያ በኋላ መከለያውን አንድ ላይ ያድርጉት።
የእኔን አዝራሮች ለመድረስ አስቸጋሪ የሚያደርገውን የቁስ ስፋት አልቆጠርም። አሁንም እነሱን ለማያያዝ መንገድ መፈለግ አለብኝ። እነሱም በጣም ትንሽ ናቸው ይህም ከእነሱ ጋር ለመስራት አስቸጋሪ ያደርጋቸዋል።
የሚመከር:
በአቀማመጥ ላይ የተመሠረተ ባለብዙ ተግባር ኩብ ሰዓት 5 ደረጃዎች (ከስዕሎች ጋር)
በአቀማመጥ ላይ የተመሠረተ ባለብዙ ተግባር ኪዩብ ሰዓት - ይህ ከቀን ጋር እንደ ሰዓት ፣ እንደ እንቅልፍ ሰዓት ቆጣሪ እና እንደ የሌሊት ብርሃን ሆኖ የሚያገለግል የ OLED ማሳያ የያዘ አርዱinoኖ ላይ የተመሠረተ ሰዓት ነው። የተለያዩ " ተግባራት " በአክስሌሮሜትር የሚቆጣጠሩ እና የኩቤ ሰዓቱን በማሽከርከር የተመረጡ ናቸው
ከ STC MCU ጋር DIY ተግባር ጀነሬተር በቀላሉ 7 ደረጃዎች (ከስዕሎች ጋር)
ከ STC MCU ጋር በቀላሉ የእራስዎ ተግባር ጄኔሬተር - ይህ በ STC MCU የተሰራ የጄኔሬተር ጀነሬተር ነው። ብዙ ክፍሎች ብቻ ያስፈልጉ እና ወረዳው ቀላል ነው። ዝርዝር መግለጫ ውጤት - ነጠላ ሰርጥ ካሬ ሞገድ ቅርፅ ድግግሞሽ 1Hz ~ 2 ሜኸ ሳይን ሞገድ ቅርፅ ድግግሞሽ 1Hz ~ 10kHz ስፋት - ቪሲሲ ፣ ስለ 5 ቪ ጭነት አቢሊ
DIY ስማርት ሮቦት መከታተያ የመኪና ኪትስ መከታተያ የመኪና ፎቶን የሚስብ 7 ደረጃዎች
DIY Smart Robot Tracking Car Kits Tracking Car Kits Tracking መኪና ፎቶሲንሴቲቭ - በ RINBOT ንድፍ የሮቦት መኪናን ከመከታተል መግዛት ይችላሉ TheoryLM393 ቺፕ ሁለቱን የፎቶግራፍ ተቆጣጣሪ ያወዳድሩ ፣ በሞተር በኩል አንድ ጎን የፎቶግራፍ ተቆጣጣሪ LED ሲኖር የሞተሩ ጎን ወዲያውኑ ይቆማል ፣ የሞተሩ ሌላኛው ወገን ፈተለ ፣ ስለዚህ
DIY ተግባር/Waveform Generator 6 ደረጃዎች (ከስዕሎች ጋር)
DIY ተግባር/ሞገድ ፎርሜተር ጀነሬተር - በዚህ ፕሮጀክት ውስጥ ለ DIY ስሪት ምን ባህሪዎች አስፈላጊ እንደሆኑ ለመወሰን የንግድ ሥራ/ሞገድ ሞገድ ማመንጫዎችን በአጭሩ እንመለከታለን። ከዚያ በኋላ ቀለል ያለ የተግባር ጀነሬተር ፣ አናሎግ እና አሃዝ እንዴት እንደሚፈጥሩ አሳያችኋለሁ
የፊልም መከታተያ - Raspberry Pi የተጎላበተ የቲያትር መለቀቅ መከታተያ 15 ደረጃዎች (ከስዕሎች ጋር)
የፊልም መከታተያ - Raspberry Pi የተጎላበተ የቲያትር መለቀቅ መከታተያ -የፊልም መከታተያ የቁልፍ ሰሌዳ ቅርፅ ያለው ፣ Raspberry Pi -powered Release Tracker ነው። በክልልዎ ውስጥ የሚለጠፉትን ፖስተር ፣ ርዕስ ፣ የተለቀቀበትን ቀን እና አጠቃላይ ዕይታ ፣ በተወሰነ የጊዜ ክፍተት (ለምሳሌ በዚህ ሳምንት የፊልም ልቀቶች) ለማተም የ TMDb ኤፒአዩን ይጠቀማል