ዝርዝር ሁኔታ:
ቪዲዮ: የእርምጃ ቆጣሪ እንዴት እንደሚደረግ? 3 ደረጃዎች (ከስዕሎች ጋር)
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:29
እኔ በብዙ ስፖርቶች ላይ ጥሩ አፈፃፀም ነበረኝ -መራመድ ፣ መሮጥ ፣ ብስክሌት መንዳት ፣ ባድሚንተን መጫወት ወዘተ።
ብዙም ሳይቆይ በዙሪያዬ ለመጓዝ ማሽከርከር እወዳለሁ። ደህና ፣ የእኔን ሆዴን ይመልከቱ ……
ደህና ፣ ለማንኛውም ፣ የአካል ብቃት እንቅስቃሴን እንደገና ለመጀመር እወስናለሁ። ምን መሣሪያ ማዘጋጀት አለብኝ? ከስፖርት ተቋማት በተጨማሪ ፣ አዎ! መሣሪያ እፈልጋለሁ! በእሱ አምናለሁ ፣ ተገቢውን የአካል ብቃት እንቅስቃሴ መጠን ማቆየት እችላለሁ። እዚህ መሣሪያው ወደ ሕልውና ይመጣል። በቪዲዮ እንጀምር ~
መሣሪያው በእውነተኛ ጊዜ (እና ካሎሪዎችን) መመዝገብ ብቻ ሳይሆን ጊዜን ማሳየት ይችላል። ልዩ የሆነው የማሳያ ቅርጸት ጠቋሚ ነው ~ በጣም አሪፍ ነው! በእውነት ፣ በእውነት ወድጄዋለሁ!
መዝገቦችዎን ወደ በይነመረብ መስቀል ይችላሉ
በአንድ ጠቅታ ብቻ። ሁሉም መዝገቦች በብሊንክ (ከዚህ በፊት ያስተዋወቀው ስማርት ስልክ ሶፍትዌር) ሊታዩ ይችላሉ። እንደ ተለባሽ ስማርት ሰዓት ተመሳሳይ ፣ መሣሪያው በመስመር ላይ ጊዜ ያገኛል (ስለዚህ ኃይልን እና ጊዜን ማዘመን መፍራት የለብዎትም)።
በሜዳ ውስጥ ሃርድዌር;
FireBeetle ቦርድ- ESP32
FireBeetle ሽፋኖች-ፕሮቶ ቦርድ
OLED12864 የማይዛባ ማያ ገጽ
የፍጥነት ሞዱል
3.7V ባትሪ (በመስመር ላይ የተገዛ ፣ መጠኑ ወደ 600 mAH ነው)
3 ጠርሙሶች (በመስመር ላይ የተገዛ)
ይህንን ፕሮጀክት በቢሊቢክ ለመገንባት በጣም ምቹ ነው።
ደረጃ 1: ብሊንክ ፕሮጀክት ይፍጠሩ
ሁለት መቆጣጠሪያዎችን ያክሉ
የእሴት ማሳያ * 1
የእውነተኛ ሰዓት ሰዓት * 1
የእሴት ማሳያ ስም በደረጃዎች ላይ መዋቀር አለበት ፣ ግን ለእውነተኛ ሰዓት ሰዓት ባህሪዎች ምንም ቅንብር የለም። ከዚህ በታች እንደሚታየው የመቆጣጠሪያዎችን አቀማመጥ ለማስተካከል V1 ን እንደ የግቤት ፒን ይምረጡ።
ደረጃ 2 ፕሮግራሞችን ወደ FireBeetle Board-ESP32 ያውርዱ
የመነሻ ኮዱን ወደ esp32 ለማውረድ እዚህ ጠቅ ያድርጉ። የምንጭው ኮድ የቤተ -መጽሐፍት ፋይሎችን እና 3 -ል ማተሚያ ፋይሎችን ያካትታል። የቤተ መፃህፍቱን ፋይል በአርዲኖ ሊብ ውስጥ ማስቀመጥ አለብዎት። እና 3 ዲ ፋይሎች ቅርፊቶችን በቀጥታ ማተም ይችላሉ።
ከዚህ በታች ዋናው ፕሮግራም ነው
#አካትት #አካታች // ለአርዲኖ 1.6.5 ብቻ ያስፈልጋል እና ቀደም ሲል #SSD1306.h "// ተለዋጭ ስም ለ" #አካትት "SSD1306Wire.h" " # #ያካትቱ" OLEDDisplayUi.h " #ምስሎችን ያካትቱ። አካትት #አካትት #አካትት #አካትት #አካትት #መግለፅን ሀይል_ቁልፍ 1 #መግለፅ MENU_KEY 2 #ገላጭ UPLOAD_KEY 3 ቡሊያን ሰቀላ = ሐሰት; SSD1306 ማሳያ (0x3c ፣ 18 ፣ 0); OLEDDisplayUi ui (& ማሳያ); SimpleTimer ሰዓት ቆጣሪ; WidgetRTC rtc; int screenW = 128; int screenH = 64; int clockCenterX = screenW/2; int clockCenterY = ((screenH-16)/2) +16; // የላይኛው ቢጫ ክፍል 16 ፒክሰል ቁመት int clockRadius = 23; #ጥራት DEVICE (0x53) // ADXL345 የመሣሪያ አድራሻ #እያንዳንዱን እናነባለን (እያንዳንዱ ዘንግ ሁለት ባይት) ባይት ባፍ [TO_READ]; // ከመሣሪያው ቻር str [100] የተነበበ መረጃን ለመቆጠብ 6 ባይት ቋት። // ወደ ሕብረቁምፊ ወደብ int regAddress = 0x32 ከመላክዎ በፊት ውሂብን ለመለወጥ ሕብረቁምፊ ቋት። // በ ADXL345 int xx ፣ yy ፣ zz ላይ የመጀመሪያው ዘንግ-ማፋጠን-የውሂብ ምዝገባ። // የሶስት ዘንግ የፍጥነት መረጃ የማይንቀሳቀስ int currentValue = 0; የማይንቀሳቀስ ያልተፈረመ ረጅም ደረጃዎች Sum = 0; char auth = "YourAuthToken"; // የእርስዎ የ WiFi ምስክርነቶች። // ለተከፈቱ አውታረ መረቦች የይለፍ ቃልን ወደ “” ያዘጋጁ። char ssid = "YourNetworkName"; ቻር ማለፊያ = "የእርስዎ የይለፍ ቃል"; const charning_Logo_bits PROGMEM = {0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x64 ፣ 0x03 ፣ 0x00 ፣ 0x00 0xF8 ፣ 0x01 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xF8 ፣ 0x01 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xFC ፣ 0x01 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xFC ፣ 0x05 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xFC ፣ 0x0 ፣ 0x0 0xFC ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xF8 ፣ 0x01 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xF8 ፣ 0x01 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xE0 ፣ 0x03 ፣ 0x00 ፣ 0x00 ፣ 0x60 ፣ 0xF1 ፣ 0x07 ፣ 0x0 0xF8 ፣ 0x17 ፣ 0x00 ፣ 0x00 ፣ 0xC0 ፣ 0xF8 ፣ 0x0F ፣ 0x00 ፣ 0x00 ፣ 0xE0 ፣ 0xFB ፣ 0x17 ፣ 0x00 ፣ 0x00 ፣ 0xC0 ፣ 0xFF ፣ 0x13 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0x0 ፣ 0x0 ፣ 0x0 0xFE ፣ 0x03 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xF9 ፣ 0x03 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xFA ፣ 0x03 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xF8 ፣ 0x03 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xF0 ፣ 0x0 0xF4 ፣ 0x07 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xF4 ፣ 0x0F ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xF9 ፣ 0x0F ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣ 0xFC ፣ 0x1F ፣ 0x00 ፣ 0x00 ፣ 0x80 ፣ 0xF ፣ 0x00 ፣ 0x00 0xFF ፣ 0x1F ፣ 0x00 ፣ 0x00 ፣ 0xA0 ፣ 0xFF ፣ 0x5F ፣ 0x00 ፣ 0x00 ፣ 0xC0 ፣ 0x3F ፣ 0x3F ፣ 0x00 ፣ 0x0 0 ፣ 0xE8 ፣ 0x1F ፣ 0x3F ፣ 0x00 ፣ 0x00 ፣ 0xE8 ፣ 0xA7 ፣ 0x3E ፣ 0x00 ፣ 0x00 ፣ 0xF0 ፣ 0x03 ፣ 0x7C ፣ 0x00 ፣ 0x00 ፣ 0xE0 ፣ 0x05 ፣ 0x7C ፣ 0x00 ፣ 0x0 ፣ 0x0 ፣ 0x0 0x00 ፣ 0xC0 ፣ 0x01 ፣ 0xF0 ፣ 0x03 ፣ 0x00 ፣ 0xC0 ፣ 0x03 ፣ 0xE8 ፣ 0x07 ፣ 0x00 ፣ 0xC0 ፣ 0x03 ፣ 0x88 ፣ 0x6F ፣ 0x00 ፣ 0x80 ፣ 0x03 ፣ 0x40 ፣ 0x0 ፣ 0x0 ፣ 0x0 ፣ 0x0 0x00 ፣ 0x80 ፣ 0x03 ፣ 0x00 ፣ 0xF8 ፣ 0x01 ፣ 0x00 ፣ 0x07 ፣ 0x00 ፣ 0xF4 ፣ 0x00 ፣ 0x00 ፣ 0x07 ፣ 0x00 ፣ 0xE8 ፣ 0x00 ፣ 0x80 ፣ 0x0F ፣ 0x00 ፣ 0xE8 ፣ 0x0 ፣ 0x0 ፣ 0x90 0x00 ፣ 0xE8 ፣ 0x0F ፣ 0x00 ፣ 0xE8 ፣ 0x00 ፣ 0xF0 ፣ 0x09 ፣ 0x00 ፣ 0x60 ፣ 0x01 ፣ 0xF0 ፣ 0x04 ፣ 0x00 ፣ 0x00 ፣ 0x00 ፣}; // ለዲጂታል ሰዓት ማሳያ የመገልገያ ተግባር 0 ህትመት የሚመራ ህትመቶች ሁለት ዲጂት (ኢን አሃዝ) {ከሆነ (አሃዞች <10) {String i = '0'+String (አሃዞች) ፤ መመለስ i; } ሌላ {ሕብረቁምፊን ይመልሱ (አሃዞች) ፤ }} ባዶ ሰዓት ኦቨርላይ (OLEDDisplay * ማሳያ ፣ OLEDDisplayUiState * ሁኔታ) {ከሆነ ((ሰዓት () == 0) && (ደቂቃ () == 0) && (ሁለተኛ () == 0)) stepsSum = 0; } ባዶ analogClockFrame (OLEDDisplay * ማሳያ ፣ OLEDDisplayUiState * ግዛት ፣ int16_t x ፣ int16_t y) {display-> drawCircle (clockCenterX + x ፣ clockCenterY + y, 2); // የሰዓት መዥገሮች ለ (int z = 0; z drawLine (x2 + x ፣ y2 + y ፣ x3 + x ፣ y3 + y) ፤} // ማሳያ ሁለተኛ እጅ ተንሳፋፊ አንግል = ሁለተኛ () * 6 ፤ አንግል = (አንግል) / 57.29577951); // ዲግሪዎች ወደ ራዲያን int x3 = (ሰዓት ማእከል + (ኃጢአት (አንግል) * (ሰዓት ራዲየስ - (ሰዓት ራዲየስ / 5)))) ፤ int y3 = (ሰዓት ማእከል - (cos (አንግል)) (ሰዓት ራዲየስ - (clockRadius / 5))))); ማሳያ-> drawLine (clockCenterX + x, clockCenterY + y, x3 + x, y3 + y); // የማሳያ ደቂቃ የእጅ አንግል = ደቂቃ () * 6; አንግል = (አንግል / 57.29577951); // ዲግሪዎች ወደ ራዲያን x3 = (ሰዓት ማእከልX + (ኃጢአት (አንግል) * (ሰዓት ራዲየስ - (ሰዓት ራዲየስ / 4)))));)); ማሳያ-> drawLine (የሰዓት ማእከልX + x ፣ የሰዓት ማእከል + y ፣ x3 + x ፣ y3 + y) ፤ // የማሳያ ሰዓት የእጅ አንግል = ሰዓት () * 30 + int ((ደቂቃ () / 12) * 6); አንግል = (አንግል / 57.29577951); // ዲግሪዎች ወደ ራዲያን x3 = (ሰዓት ማእከልX + (ኃጢአት (አንግል) * (ሰዓት ራዲየስ - (ሰዓት ራዲየስ / 2))))); clockRadius - (clockRa dius / 2))))); ማሳያ-> drawLine (clockCenterX + x ፣ clockCenterY + y ፣ x3 + x ፣ y3 + y); } ባዶነት digitalClockFrame (OLEDDisplay * ማሳያ ፣ OLEDDisplayUiState * ግዛት ፣ int16_t x ፣ int16_t y) {ሕብረቁምፊ ቀን = ሕብረቁምፊ (ዓመት ())+"/"+ሁለት ዲጂቶች (ወር ())+"/"+ሁለት ዲጂቶች (ቀን ()); ሕብረቁምፊ timenow = ሕብረቁምፊ (ሰዓት ())+":"+twoDigits (ደቂቃ ())+":"+twoDigits (ሁለተኛ ()); ማሳያ-> setTextAlignment (TEXT_ALIGN_CENTER); ማሳያ-> setFont (ArialMT_Plain_24); ማሳያ-> drawString (clockCenterX + x, 20 ፣ timenow); ማሳያ-> setFont (ArialMT_Plain_16); ማሳያ-> drawString (60 ፣ 45 ፣ ቀን); } ባዶ መጻፍ ለ (int መሣሪያ ፣ ባይት አድራሻ ፣ ባይት ቫል) {Wire.beginTransmission (መሣሪያ) ፤ // ወደ መሣሪያ ማስተላለፍ ይጀምሩ Wire.write (አድራሻ); // የመመዝገቢያ አድራሻ ላክ Wire.write (val); // Wire.endTransmission () ለመፃፍ እሴት ይላኩ ፤ // ማብቂያ ማስተላለፍ} // የቁጥር ባይት ያነባል በመሣሪያ ላይ ከአድራሻ መመዝገቢያ ወደ ባዶ ድርድር ባዶ ንባብFF (int መሣሪያ ፣ ባይት አድራሻ ፣ int num ፣ ባይት ቡፍ ) {Wire.beginTransmission (መሣሪያ) ፤ // ወደ መሣሪያ ማስተላለፍ ይጀምሩ Wire.write (አድራሻ); // ከ Wire.endTransmission () ለማንበብ አድራሻ ይልካል ፤ // መጨረሻ ማስተላለፍ Wire.begin ማስተላለፊያ (መሣሪያ); // ወደ መሣሪያ ማስተላለፍ ይጀምሩ Wire.requestFrom (መሣሪያ ፣ ቁጥር) ፤ // ከመሣሪያ int i = 0 6 ባይት ይጠይቁ። (Wire.available ()) // መሣሪያ ከተጠየቀው (ያልተለመደ) ሊልክ ይችላል {buff = Wire.read (); // ባይት i ++ ተቀበል; } Wire.endTransmission (); // ማብቂያ ማስተላለፍ} ባዶ ሩጫ ፍሬም (OLEDDisplay*ማሳያ ፣ OLEDDisplayUiState*ግዛት ፣ int16_t x ፣ int16_t y) {float calValue = stepsSum*0.4487; ማሳያ-> setTextAlignment (TEXT_ALIGN_CENTER); ማሳያ-> setFont (ArialMT_Plain_24); ማሳያ-> drawString (clockCenterX ፣ clockCenterY ፣ str); sprintf (str ፣ “%.2fcal” ፣ calValue); ማሳያ-> setTextAlignment (TEXT_ALIGN_CENTER); ማሳያ-> setFont (ArialMT_Plain_10); ማሳያ-> drawString (100 ፣ 20 ፣ str); ማሳያ-> drawXbm (10 ፣ 14 ፣ 34 ፣ 50 ፣ ሩጫ_ሎጎ_ቢቶች); } ባዶ ሰቀላ ፍሬም (OLEDDisplay * ማሳያ ፣ OLEDDisplayUiState * ግዛት ፣ int16_t x ፣ int16_t y) {display-> setFont (ArialMT_Plain_16) ፤ ማሳያ-> drawString (60 ፣ 45 ፣ “ውሂብ ስቀል…”); } // ይህ ድርድር ለሁሉም ጠቋሚዎች የተግባር ጠቋሚዎችን ያስቀምጣል // ፍሬሞች በ FrameCallback ክፈፎች ውስጥ የሚንሸራተቱ ነጠላ እይታዎች ናቸው = {analogClockFrame ፣ digitalClockFrame ፣ runFrame ፣ uploadFrame}; // ስንት ክፈፎች አሉ? int frameCount = 4; // ተደራቢዎች በስታቲስቲክስ በፍሬም አናት ላይ ተቀርፀዋል ለምሳሌ። የሰዓት ተደራራቢ ደውል ተደራቢዎች = {clockOverlay}; int overlaysCount = 1; ባዶነት uploadToBlynk (ባዶ) {if (upload == true) {Blynk.virtualWrite (V0, stepsSum); Blynk.virtualWrite (V1 ፣ stepsSum); }} ባዶ uiInit (ባዶ) {ui.setTargetFPS (30) ፤ //ui.setActiveSymbol (ንቁ ምልክት); //ui.setInactiveSymbol (የማይነቃነቅ ምልክት); ui.setIndicatorPosition (TOP); ui.setIndicatorDirection (LEFT_RIGHT); ui.setFrameAnimation (SLIDE_LEFT); ui.setFrames (ክፈፎች ፣ frameCount); ui.setOverlays (ተደራቢዎች ፣ ተደራራቢ ቆጠራ); ui.disableAutoTransition (); ui.switchToFrame (2); ui.init (); display.flipScreenVertically (); } ባዶነት adxl345Init (ባዶ) {writeTo (DEVICE ፣ 0x2D ፣ 0) ፤ ጻፍ ለ (መሣሪያ ፣ 0x2 ዲ ፣ 16); ጻፍ ለ (መሣሪያ ፣ 0x2 ዲ ፣ 8); } ባዶነት ዝመና Adxl345 (ባዶ) {readFrom (DEVICE ፣ regAddress ፣ TO_READ ፣ buff) ፤ // ከ ADXL345 xx = (((int) buff [1]) << 8) የፍጥነት መረጃን ያንብቡ | ቡፍ [0]; yy = (((int) buff [3]) << 8) | ቡፍ [2]; zz = (((int) buff [5]) << 8) | ቡፍ [4]; ከሆነ (xx 80) {ከሆነ (xx <currentValue) {stepsSum ++; } የአሁኑ እሴት = xx; } sprintf (str ፣ "%d" ፣ stepsSum); } int getKeys (ባዶ) {ከሆነ (digitalRead (D2) == LOW) {መዘግየት (5); ከሆነ (digitalRead (D2) == LOW) {እያለ (digitalRead (D2) == LOW); ተመለስ POWER_KEY; }} ከሆነ (digitalRead (D3) == LOW) {መዘግየት (5); ከሆነ (digitalRead (D3) == LOW) {እያለ (digitalRead (D3) == LOW); MENU_KEY ን መመለስ; }} ከሆነ (digitalRead (D4) == LOW) {መዘግየት (5); ከሆነ (digitalRead (D4) == LOW) {እያለ (digitalRead (D4) == LOW); ተመለስ UPLOAD_KEY; }} መመለስ 0; } ባዶ doKeysFunction (ባዶ) {static int uiFrameIndex = 2; int ቁልፎች = getKeys (); ከሆነ (ቁልፎች == POWER_KEY) {static char i = 0; ከሆነ (i) {ui.init (); display.flipScreenVertically (); display.displayOn (); } ሌላ {display.displayOff (); } i = ~ i; } ከሆነ (ቁልፎች == MENU_KEY) {if (upload == false) {uiFrameIndex ++; ከሆነ (uiFrameIndex == 3) uiFrameIndex = 0; ui.switchToFrame (uiFrameIndex); } ሌላ {ui.switchToFrame (3); }} ከሆነ (ቁልፎች == UPLOAD_KEY) {if (upload == true) {upload = false; ui.switchToFrame (uiFrameIndex); } ሌላ {upload = true; ui.switchToFrame (3); }}} ባዶነት ማዋቀር () {pinMode (D2 ፣ INPUT) ፤ pinMode (D3 ፣ ማስገቢያ); pinMode (D4 ፣ ማስገቢያ); ብሊንክ.ጀጊን (auth ፣ ssid ፣ pass); rtc.begin (); uiInit (); adxl345Init (); timer.setInterval (30 ፣ updateAdxl345); timer.setInterval (100 ፣ uploadToBlynk); } ባዶነት loop () {int ቀረTimeBudget = ui.update (); የማይንቀሳቀስ int testSum = 0; ከሆነ ((testSum 0) {መዘግየት (restTimeBudget);} doKeysFunction (); timer.run ();}
ጥንቃቄ-የ Wi-Fi ቅንብሮችን ፣ ፓስፖርትን እና ጽሑፎችን ለራስዎ መለወጥ አለብዎት።
char auth = "YourAuthToken"; // የእርስዎ የ WiFi ምስክርነቶች። // ለተከፈቱ አውታረ መረቦች የይለፍ ቃልን ወደ “” ያዘጋጁ። char ssid = "YourNetworkName"; ቻር ማለፊያ = "የእርስዎ የይለፍ ቃል";
ደረጃ 3 የሃርድዌር ግንኙነት
OLED12864 ን እና የፍጥነት ሞዱሉን ከ I2C ፣ ከታች ወደ D2 ፣ D3 ፣ D4 ያገናኙ። በተጨማሪም ፣ ከዚህ በታች እንደሚታየው ወደ 3.3 ቪ ለመድረስ 51k የመጎተት ተከላካዮች ወደ ታችኛው ክፍል ይጨምሩ።
ጥንቃቄ-የሚጎትቱ ተከላካዮችን ከ AREF ጋር ማገናኘት ስህተት ነው ፣ ትክክለኛው ወደ 3.3 ቪ ነው
ከዚህ በታች እንደሚታየው የሃርድዌር መሸጫ ምስል
ከዚህ በታች እንደሚታየው ከሽያጭ በኋላ የሃርድዌር ሞዱሉን ወደ ክሬን በማሰባሰብ
ሁሉን አቀፍ ውጤት ምስል ~
የሚመከር:
የእርምጃ ቆጣሪ - ማይክሮ: ቢት: 12 ደረጃዎች (ከስዕሎች ጋር)
ደረጃ ቆጣሪ - ማይክሮ - ቢት - ይህ ፕሮጀክት የእርምጃ ቆጣሪ ይሆናል። የእኛን ደረጃዎች ለመለካት በማይክሮ -ቢት ውስጥ የተገነባውን የፍጥነት መለኪያ ዳሳሽ እንጠቀማለን። እያንዳንዱ ማይክሮ -ቢት በሚንቀጠቀጥበት ጊዜ በመቁጠር 2 ላይ እንጨምራለን እና በማያ ገጹ ላይ እናሳየዋለን
የእርምጃ ሞተርን ለመቆጣጠር የድሮውን ላፕቶፕ የመዳሰሻ ሰሌዳ እንደገና ይጠቀሙ - 11 ደረጃዎች (ከስዕሎች ጋር)
የእንፋሎት ሞተርን ለመቆጣጠር የድሮውን ላፕቶፕ የመዳሰሻ ሰሌዳ እንደገና ይጠቀሙ - ይህንን ፕሮጀክት የሠራሁት ከጥቂት ወራት በፊት ነው። ከጥቂት ቀናት በኋላ የፕሮጀክቱን ቪዲዮ በሬ/አርዱኢኖ በሬዲት ላይ ለጥፌዋለሁ። ሰዎች በፕሮጀክቱ ላይ ፍላጎት እንዳላቸው በማየቴ ፣ በአርዱዲኖ ኮድ ላይ አንዳንድ ለውጦችን ያደረግሁበትን ይህንን አስተማሪ ለማድረግ ወሰንኩ
የ GLCD ጋሻን በመጠቀም ቆጣሪ ቆጣሪ -8 ደረጃዎች (ከስዕሎች ጋር)
የ GLCD ጋሻን በመጠቀም ቆጣሪ ቆጣሪ - በዚህ ፕሮጀክት ውስጥ በ 1 eldልድ GLCD ጋሻ ላይ ቆጣሪ ቆጣሪን እሳለሁ ፣ የዚህ ፕሮጀክት ተጠቃሚ በ GLCD ላይ የተሳለውን አዝራር በመጠቀም የሰዓት ቆጣሪውን የጊዜ ርዝመት ይወስናል ፣ ሰዓት ቆጣሪው 0 ሲደርስ የድምፅ ማወዛወዝ እና ንዝረት ይኖራል።
ARDUINO NANO/MINI እንዴት እንደሚደረግ - ቡት ጫኝን እንዴት ማቃጠል እንደሚቻል - 5 ደረጃዎች
ARDUINO NANO/MINI እንዴት እንደሚደረግ | ቡት ጫerን እንዴት ማቃጠል እንደሚቻል -በዚህ አስተማሪዎች ውስጥ አርዱዲኖ MINI ን ከጭረት እንዴት እንደሚሠሩ አሳያችኋለሁ። በዚህ አስተማሪዎች ውስጥ የተፃፈው አሰራር ለግል ብጁ የፕሮጀክትዎ መስፈርቶች ማንኛውንም አርዱዲኖ ሰሌዳዎችን ለመስራት ሊያገለግል ይችላል። እባክዎን ለተሻለ ግንዛቤ ቪዲዮውን ይመልከቱ
ዝቅተኛ የቴክኖሎጂ ቆጣሪ መቀየሪያ እንዴት እንደሚደረግ ።: 5 ደረጃዎች (ከስዕሎች ጋር)
ዝቅተኛ የቴክኖሎጂ ቆጣሪ መቀየሪያ እንዴት እንደሚደረግ ።: ይህ በጣም ዝቅተኛ የቴክኖሎጂ ቆጣሪ መቀየሪያ ለማድረግ አስተማሪ ነው። የእኔ በ 12 ሰዓታት አንድ ጊዜ ለ 3 ደቂቃዎች ያህል ይጠፋል። ይህንን ያደረግሁት በኤሌክትሮኒክስ ጥሩ ስላልሆንኩ ግን አሁንም ርካሽ ሰዓት ቆጣሪ ስለምፈልግ ነው። ይህ ምሳሌ ብቻ ነው እና ተስፋ አደርጋለሁ