ዝርዝር ሁኔታ:

ESP32 ማሸብለል WordClock በ LED ማትሪክስ ላይ 5 ደረጃዎች (ከስዕሎች ጋር)
ESP32 ማሸብለል WordClock በ LED ማትሪክስ ላይ 5 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ESP32 ማሸብለል WordClock በ LED ማትሪክስ ላይ 5 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ESP32 ማሸብለል WordClock በ LED ማትሪክስ ላይ 5 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: ESP32, более мощная чем любая другая Ардуино 2024, ህዳር
Anonim
Image
Image

በዚህ ፕሮጀክት ውስጥ ከ ESP32 ፣ ከ LED ማትሪክስ እና ከሲጋራ ሳጥን ጋር ማሸብለል WordClock ን እፈጥራለሁ።

WordClock በማያ ገጹ ላይ ከማተም ወይም እርስዎ ሊያነቧቸው የሚችሉ እጆች ካሉዎት ጊዜውን የሚገልጽ ሰዓት ነው። ይህ ሰዓት ከሰዓት 3 ሰዓት ፣ ወይም ከሰዓት 10 ሰዓት እንዳለፈ ይነግርዎታል። እኔ እንኳን ከሰዓት እና ከምሽቱ መካከል አሻሚ ለሆነ ጊዜ ቅድመ (ከ Big Bang Theory) ስሙን እንዲጠቀም ፕሮግራም አደረግኩት። ከምሽቱ 4:00 ይጀምራል።

ESP32 ግሩም ነው ፣ እነሱ በጣም አስደሳች እና በጣም ርካሽ ናቸው ፣ የአርዲኖን ፕሮግራም ከወደዱ አንድ ESP32 ከ $ 10 በታች ምን ሊያደርግ እንደሚችል በእርግጥ ይደነቃሉ። እነሱ የ Arduino IDE ን ይጠቀማሉ እና ለፕሮግራም ቀላል ናቸው። በዚህ መመሪያ ውስጥ ያንን እንዴት ማድረግ እንደሚቻል አሳያለሁ።

አቅርቦቶች

  • ESP32 - በአማዞን ላይ ወደ 10 ዶላር አካባቢ
  • የ LED ማትሪክስ (max7219) (እና ሽቦዎች) - $ 9 አማዞን
  • የሲጋራ ሳጥን
  • የዩኤስቢ ኃይል ገመድ
  • ለ esp32 ማቆሚያ አማራጭ 3 ዲ አታሚ

ደረጃ 1: ESP32 ን ለመደገፍ የእርስዎን Arduino IDE ያዋቅሩ

የ Arduino IDE ን ያግኙ ፦

  • በአሳሽ ውስጥ ወደ https://www.arduino.cc/ ይሂዱ
  • ARDUINO 1.8.12 ን ለማግኘት በሶፍትዌር ላይ ከዚያ ማውረዶችን ጠቅ ያድርጉ
ምስል
ምስል

የ ESP32 ድጋፍን ወደ የእርስዎ Arduino IDE ያክሉ ፦

  • የ Arduino IDE ን ይጀምሩ
  • በፋይል ምናሌው እና ከዚያ ምርጫዎች ላይ ጠቅ ያድርጉ።

በ “ምርጫዎች” ውስጥ አንዴ የሚከተለውን መስመር ወደ “ተጨማሪ የቦርድ ሥራ አስኪያጅ” በማከል የአምራቹን ድጋፍ ያክሉ።

ምስል
ምስል

dl.espressif.com/dl/package_esp32_index.js

ይህ ሰሌዳውን ወደ አይዲኢ ለማከል መዳረሻ ይሰጠናል

ወደ የመሣሪያዎች ምናሌ እና ከዚያ ቦርዶች ይሂዱ እና ወደ የቦርዱ አስተዳዳሪ ይሂዱ

ምስል
ምስል

ቀጣይ «ESP» ን ይፈልጉ እና ጥቅሉን በ Expressif ያክሉ።

ምስል
ምስል

በመጨረሻ ወደ “መሣሪያዎች” ምናሌ ፣ ከዚያ እንደገና “ቦርድ” እና የ ESP32 መሣሪያዎን ለማግኘት ወደ ታች ማሸብለል እንፈልጋለን።

የእኔ “ESP32 Wrover ሞዱል” ነው

ምስል
ምስል

ደረጃ 2 የ LED ማትሪክስን ከ ESP32 ጋር ያገናኙ

ምስል
ምስል

የ LED ማትሪክስ በአራት 8x8 ብሎኮች የ LEDs የተሰራ እና MAX7219 ቺፕ ይጠቀማል። ያ በማትሪክስ ወይም በ 256 LEDs ውስጥ 8x32 LEDs ይሰጠናል !!!.

Esp32 በ TinkerCad ውስጥ በፈጠርኩት መያዣ ላይ ተቀምጧል። ሽቦዎችን ማያያዝ እንዲችሉ የእኔ መያዣ ፒንዎቹን ወደ ላይ ይይዛል።

የ LED ማትሪክስ ኤስፒአይ (ተከታታይ ፔሪፈራል በይነገጽ) በመጠቀም ከ ESP32 ጋር ይገናኛል።

የሴት/የሴት ሽቦዎችን እና የግንኙን ፒኖችን እንደሚከተለው ይጠቀሙ።

  • ESP32 - 5v ወደ ቪሲሲ በማትሪክስ ላይ
  • ESP32 - በማትሪክስ ላይ ከ GND እስከ GND
  • ESP32 - በማትሪክስ ላይ ፒኤን 5 (G5) ወደ ሲኤስ
  • ESP32 - በማትሪክስ ላይ ፒን23 (G23) ወደ ዲን
  • ESP32 - በማትሪክስ ላይ ለ CLK 18 (G18) ይሰኩ

ሌሎች ፒኖችን መጠቀም ወይም የእርስዎ ESP32 የተለየ ፒኖት ካለው መጠቀም ይቻላል።

ደረጃ 3: አንድ ላይ ማዋሃድ

አንድ ላይ ማዋሃድ
አንድ ላይ ማዋሃድ

በመቀጠል የ LED ማሳያውን ለማስቀመጥ ቦታ እንዲሰጠኝ የሲጋራውን ሳጥን ቆረጥኩ። ሳጥኑ ለስላሳ ነው እና የምላጭ ቢላዋ መጠቀም ቻልኩ። ከዚያ ለማለስለስ አሸዋማለሁ።

እኔ ደግሞ ለኃይል ገመድ በጀርባ ውስጥ አንድ ሙሉ እቆርጣለሁ። እኔ የዩኤስቢ ኃይልን ብቻ ተጠቀምኩ። እኔ ገመድ አልባ እንዲሆን ከፈለግኩ በሲጋራ ሳጥኑ ውስጥ የዩኤስቢ ስልክ ባትሪ መሙያ ባትሪ ማከል እችል ነበር።

ደረጃ 4 - የአርዱዲኖ አይዲኢ እና የ INO ፋይል።

የአርዱዲኖ አይዲኢ እና የ INO ፋይል።
የአርዱዲኖ አይዲኢ እና የ INO ፋይል።

በጣም ጥሩው ክፍል ኮዱ ነው። ግን በመጀመሪያ ፕሮግራሙ ማሳያውን በበለጠ ቀላል በሆነ መንገድ እንዲጠቀምበት ቤተ -መጽሐፍት ማከል አለብን። MD_MAX72xx ቤተ -መጽሐፍትን አክዬአለሁ።

ቤተመፃህፍቱን ለማከል በ “ንድፍ” ምናሌ ላይ ጠቅ ያድርጉ ፣ ከዚያ “ቤተ -መጽሐፍትን ያካትቱ” እና “ቤተ -ፍርግሞችን ያቀናብሩ” ይህ ይጫናል እና የ MD_MAX72xx ቤተ -መጽሐፍት እንዲፈልጉ ያስችልዎታል። ጫን ላይ ጠቅ ያድርጉ እና እርስዎ አለዎት።

በመቀጠል የእኔን አርዱዲኖ INO ፋይል ያግኙ -

github.com/aapicella/wordClock/blob/master/Word_Clock_LED_NTP_final_.ino

የኢኖ ፋይልን ወደ አርዱዲኖ አይዲኢ ይጫኑ ፣

ዩኤስቢውን ከ ESP32 ወደ ኮምፒተርዎ ያገናኙ።

“ስዕል” ላይ ጠቅ ያድርጉ እና ከዚያ ይስቀሉ

በዚህ ጊዜ ሰዓቱ አይሰራም ፣ ESP32 ምንም ነገር አያሳይም። እንዴት? WordClock ጊዜውን ለማግኘት ከበይነመረቡ ጋር ስለሚገናኝ የእርስዎን WIFI ወደ ኮዱ ማከል አለብን። ትክክል ነው… ቀጣዩ ደረጃ ->።

ደረጃ 5 - ኮዱ

በመጨረሻ ወደሚወደው ክፍል ደረስን። ፕሮግራሙ። ፍላጎት ካለዎት ከላይ ወደ ታች እሸፍነዋለሁ ፣ ፕሮግራሙ ከቤትዎ በይነመረብ ጋር እንዲሠራ እነዚህን መስመሮች መለወጥ ብቻ ያስፈልግዎታል።

// የአውታረ መረብ መረጃዎን ያክሉ

const char *ssid = "xxxxxx";

const char *password = "xxxxxx";

ፕሮግራሙ ውስብስብ ነው ፣ ግን በጣም አስደሳች ነው።

“መከላከል” ለማሰናከል እሴቱን ወደ ሐሰት ብቻ ይለውጡ

const boolean PREVENING = እውነት; // ቢግ ባንግ ንድፈ ሀሳብ።

ከማሸብለል በኋላ የዲጂታል ጊዜን ማሳየትን ለማሰናከል ይህንን ወደ ሐሰት ይለውጡ።

const ቡሊያን DISPLAY_DIGITAL = እውነት; // ከማሸብለል በኋላ ዲጂታል ጊዜን ማሳያን ያብሩ።

ጊዜን ማሸብለል;

NTP (የአውታረ መረብ ጊዜ ፕሮቶኮል) በመጠቀም በበይነመረብ ላይ ካለው የጊዜ አገልጋይ ጊዜ አገኛለሁ። ሰዓቱ ተይዞ በሚለው ተለዋዋጭ ውስጥ ይካሄዳል እና ከእሱ ሰዓት እና ደቂቃ እናገኛለን።

int ሰዓት = timeinfo.tm_hour; /// 0-23

int ደቂቃ = timeinfo.tm_min; // 0-59

ቀጥሎ AM ወይም PM ን ይፈትሹ

እሱ AM ከሆነ ሰዓት <12

“ጊዜ” የተባለ ሕብረቁምፊ እፈጥራለሁ እና በ

theTime = "ነው";

ቁጥሩን እንደ ቃላት ለማግኘት እስከ 30 ለሚደርሱ ቁጥሮች የቃላት ድርድር ፈጠርኩ።

const char *ቁጥሮች = {

"0" ፣ "አንድ" ፣ "ሁለት" ፣ "ሶስት" ፣ "አራት" ፣ "አምስት" ፣ "ስድስት" ፣ "ሰባት" ፣ "ስምንት" ፣ "ዘጠኝ" ፣ "አስር" ፣ "አስራ አንድ" ፣ "አስራ ሁለት"”፣“አስራ ሦስት”፣“አስራ አራት”፣“ሩብ”፣“አስራ ስድስት”፣“አስራ ሰባት”፣“አስራ ስምንት”፣“አሥራ ዘጠኝ”፣“ሃያ”፣“ሃያ አንድ”፣“ሃያ ሁለት”፣“ሃያ ሦስት””፣“ሃያ አራት”፣“ሃያ አምስት”፣“ሃያ ስድስት”፣“ሃያ ሰባት”፣“ሃያ ስምንት”፣“ሃያ ዘጠኝ”፣“ግማሽ ያለፈ”};

ስለዚህ 12:05 ወይም አምስት ደቂቃዎች ከአስራ ሁለት ሲያልፉ በእውነቱ ወደ አርዱinoኖ

ቁጥሮች [5] ደቂቃዎች ያለፉ ቁጥሮች [12]

የእሱ “ደቂቃዎች ያለፈ” ወይም “ደቂቃዎች ለ” የሚለውን ለማወቅ እኛ ደቂቃዎቹን ብቻ እንመለከታለን። ደቂቃዎቹ <31 ከሆኑ “ደቂቃዎች ያለፈበት” ደቂቃዎች ከ 31 የሚበልጡ ከሆኑ “ደቂቃዎች ወደ” እንጠቀማለን ግን ቁጥሮችን [60-ደቂቃዎችን] እንጠቀማለን ስለዚህ 12:50 60-50 ደቂቃ ወይም ቁጥሮች [10] ይሆናል ከ 10 ደቂቃዎች እስከ 12 0 ሰዓት ይሰጡናል።

በርግጥ እንደ 15 ፣ 30 ፣ 45 ያሉ ሌሎች ህጎች አሉን ግማሽ ደቂቃ ወይም ሩብ ብቻ ነው ፣ እና ደቂቃው 0 ከሆነ ጊዜው “አሥር ሰዓት” ወይም እኩለ ቀን ብቻ ነው።

ስለዚህ አንድ ላይ ለማቀናጀት ሁሉንም ንጥሎች ወደ ሕብረቁምፊ የጊዜ አቆጣጠር ከዚያም በ LED ማትሪክስ ላይ አሳየዋለሁ። እኔ ብዙ መግለጫዎችን እጠቀማለሁ። ምናልባት መያዣን መጠቀም ነበረብኝ ግን እነሱን ማከል መቀጠል ቀላል ነበር።

ለኛ ምሳሌ 12:05

ጊዜ = "ነው"

ደቂቃ <31 “ደቂቃዎች ያለፈ” ከሆነ አጠቃቀሙ “ደቂቃ እስከ” ከሆነ

theTime + = ቁጥሮች [5] + “ያለፉት ደቂቃዎች” + ቁጥር [12] + “ሰዓት” // ማስታወሻ - ማስታወሻው + = append ነው።

በመቀጠልም ጥዋት ፣ ከሰዓት ወይም ምሽት መሆኑን ለማወቅ ሰዓቱን እንመለከታለን።

theTime+= "በማታ"

ወደ ማትሪክስ የሚሄደው የመጨረሻው ሕብረቁምፊ የሚከተለው ነው

“ከምሽቱ አሥራ ሁለት ሰዓት አምስት ደቂቃ አልፎታል”

ይህ ፕሮጀክት ለመፃፍ በጣም አስደሳች ነበር። ከወደዱት እባክዎን ልብን ጠቅ ያድርጉ እና ለእኔ ይምረጡ።

የሚመከር: