ዝርዝር ሁኔታ:

የድንጋይ ኤልሲዲ ከዘመናዊ ቤት ጋር: 5 ደረጃዎች
የድንጋይ ኤልሲዲ ከዘመናዊ ቤት ጋር: 5 ደረጃዎች

ቪዲዮ: የድንጋይ ኤልሲዲ ከዘመናዊ ቤት ጋር: 5 ደረጃዎች

ቪዲዮ: የድንጋይ ኤልሲዲ ከዘመናዊ ቤት ጋር: 5 ደረጃዎች
ቪዲዮ: በሃርትቶንቶን የትግል ሜዳ ሁኔታ ወደ 10 ሺህ የሚደርሱ ሰዎች ደርሻለሁ 2024, ሀምሌ
Anonim
የድንጋይ LCD ከስማርት ቤት ጋር
የድንጋይ LCD ከስማርት ቤት ጋር

ዛሬ ፣ በ MCU ተከታታይ ወደብ በኩል መገናኘት የሚችል የ STONE ተከታታይ ወደብ ድራይቭ ማሳያ አገኘሁ ፣ እና የዚህ ማሳያ የዩአይ አመክንዮ ንድፍ በቀጥታ በ STONE ኦፊሴላዊ ድር ጣቢያ ላይ የቀረበውን የ VGUS ሶፍትዌር በመጠቀም ለእኛ በቀጥታ ምቹ ሊሆን ይችላል ፣ ይህም ለእኛ በጣም ምቹ ነው። ስለዚህ የተለያዩ የመብራት መቆጣጠሪያዎችን (ሳሎን ፣ ወጥ ቤት ፣ የልጆች ክፍል ፣ መታጠቢያ ቤት) መቆጣጠርን ያካተተ ቀለል ያለ የመሣሪያ መቆጣጠሪያ ለመሥራት እሱን ለመጠቀም አቅጃለሁ። በተመሳሳይ ጊዜ የቤት ውስጥ እና የውጭ ሙቀት ፣ እርጥበት እና የአየር ጥራት መሰብሰብ ይቻላል። ይህ ቀላል ማሳያ ብቻ ነው ፣ እና እኔ ባቀረብኩት ኮድ በኩል ሁለተኛ ልማት ማካሄድ ይችላሉ። ስለ STONE ማያ ገጽ አንዳንድ መሠረታዊ አጋዥ ስልጠናዎች ወደ ድር ጣቢያ መሄድ ይችላሉ-

ድር ጣቢያው ስለ አምሳያው ፣ ተጠቃሚው እና የንድፍ ሰነዱ እንዲሁም የቪዲዮ ትምህርቶች የተለያዩ መረጃዎች አሉት። እዚህ በጣም ብዙ ዝርዝር ውስጥ አልገባም።

ደረጃ 1 - በይነገጽ በይነገጽ ንድፍ

በይነገጽ በይነገጽ ንድፍ
በይነገጽ በይነገጽ ንድፍ
በይነገጽ በይነገጽ ንድፍ
በይነገጽ በይነገጽ ንድፍ
በይነገጽ በይነገጽ ንድፍ
በይነገጽ በይነገጽ ንድፍ
በይነገጽ በይነገጽ ንድፍ
በይነገጽ በይነገጽ ንድፍ

ፎቶሾፕ

የሚከተሉትን ሁለት በይነገጽ ገጾችን በፎቶሾፕ ዲዛይን አደረግሁ

ይህ ፕሮጀክት በአጠቃላይ ከላይ ያሉት ሁለት ገጾች አሉት። በላይኛው ቀኝ ጥግ ላይ “ብርሃን” እና “ዳሳሽ” የእነዚህ ሁለት ገጾች መቀየሪያ ቁልፎች ናቸው።

በ “ብርሃን” ገጽ ውስጥ በቤትዎ ውስጥ ሁሉንም ዓይነት መብራቶችን መቆጣጠር ይችላሉ። በ “ዳሳሽ” ገጽ ውስጥ በተለያዩ ዳሳሾች የተገኙትን እሴቶች ማረጋገጥ ይችላሉ።

ከላይ ከተጠቀሱት ሁለት ገጾች ንድፍ በኋላ ፣ በ STONE ኦፊሴላዊ ድር ጣቢያ ላይ በተሰጠው የ STONE TOOL ሶፍትዌር በኩል የአዝራር አመክንዮ ዲዛይን ማካሄድ እንችላለን።

እዚህ ለጊዜው ማሳያ ጥቅም ላይ የዋለው የሰዓት ምንጭ የማሳያ ማያ ሰዓት ሰዓት ምንጭ እንጂ የ MCU የሰዓት ምንጭ አለመሆኑን ልብ ሊባል ይገባል።

የ TAB ገጽ መቀየሪያ ውጤት

በ STONE TOOL ሶፍትዌር ውስጥ ምንም የ TAB ገጽ መቀየሪያ ክፍል አልተገኘም ፣ ስለዚህ የ TAB ገጽ የመቀየሪያ ውጤት ለማሳካት ሌላ ዘዴ አሰብኩ።

በምልከታ እኔ ሁለት በይነገጽ ምስሎችን አቀርባለሁ ከላይ ያሉት ሁለቱ ምስሎች “ብርሃን” እና “ዳሳሽ” ጽሑፍ ናቸው ፣ ልዩነታቸው የፒክሴል መጠናቸው የተለየ ነው ፣ ስለዚህ የሁለት-ፒክሴል አቀማመጥ ወደ ተመሳሳይ ጽሑፍ ፣ እና ከዚያ ለማጣቀሻ በሰዓት እና ቀን በላይኛው ግራ ጥግ በኩል ፣ ውጤቱን ለመቀየር TAB ን ማሳካት ይችላሉ።

የአዝራር አመክንዮ

የ “ሳሎን ክፍል” ቁልፍን እንደ ምሳሌ ይውሰዱ። ተጠቃሚው ይህንን ቁልፍ ሲጫን ፣ የ STONE ተከታታይ ወደብ ማሳያ ማያ ገጽ በተከታታይ ወደብ በኩል ተጓዳኝ ፕሮቶኮል መመሪያዎችን ይልካል። ይህንን መመሪያ ከተቀበሉ በኋላ ፣ የተጠቃሚው MCU ከ MCU ጋር የተገናኙትን የመቀያየር ሁኔታ ለመቆጣጠር ፕሮቶኮሉን ይተነትናል።

ዳሳሽ ማግኛ

ለምሳሌ “የአየር ጥራት” ን ይውሰዱ - የቤት ውስጥ የአየር ጥራት ለማግኘት ከፈለጉ ፣ MCU በቁጥር በአልጎሪዝም ሲሰበሰብ የአየር ጥራት ፣ የአየር ጥራት ዳሳሽ ለመሰብሰብ MCU ሊኖረን ይገባል ፣ እና ከዚያ MCU የ “ጥሩ” ወይም “መጥፎ” ማከማቻ ቦታን ለማሳየት ፣ “የጽሑፍ ተለዋዋጭ0” የማሳያ ይዘትን ለመለወጥ ፣ ከዚያም ተጠቃሚው የጥራት ቁጥጥርን በጎነት በስሜታዊነት ማየት ይችላል። እነዚህ በኋላ በ MCU ኮድ ውስጥ ተብራርተዋል።

ደረጃ 2 የ MCU ግንኙነት

MCU ግንኙነት
MCU ግንኙነት
MCU ግንኙነት
MCU ግንኙነት
MCU ግንኙነት
MCU ግንኙነት
MCU ግንኙነት
MCU ግንኙነት

STM32 ሁሉም የሚያውቀው MCU ነው ፣ እና በዓለም አቀፍ ደረጃ የተለመደ የ MCU ሞዴል ነው። ስለዚህ በዚህ ፕሮጀክት ውስጥ የተጠቀምኩት የ STM32 MCU ልዩ ሞዴል STM32F103RCT6 ነው።

የገቢያውን የተለያዩ ፍላጎቶች ሊያሟላ የሚችል ብዙ ተከታታይ STM32 አሉ። የከርነል ኮርቴክስ-m0 ፣ M3 ፣ M4 እና M7 ሊከፋፈል ይችላል ፣ እና እያንዳንዱ ኩሬ ወደ ዋናው ፣ ከፍተኛ አፈፃፀም እና ዝቅተኛ የኃይል ፍጆታ ሊከፋፈል ይችላል።

ከመማር እይታ በንፁህ ፣ F1 እና F4 ን መምረጥ ይችላሉ ፣ F1 በ cortex-m3 ኮርነል ላይ በመመስረት መሰረታዊውን ዓይነት ይወክላል ፣ ዋናው ድግግሞሽ 72MHZ ነው ፣ F4 ከፍተኛ አፈፃፀምን ይወክላል ፣ በ cortex-m4 ኮርነል ፣ ዋናው ድግግሞሽ 180 ሚ.

እንደ F1 ፣ F4 (429 ተከታታይ እና ከዚያ በላይ) ፣ ከተለያዩ የከርነልሎች እና የዋና ድግግሞሽ መሻሻል በስተቀር ፣ የማሻሻያው ግልፅ ገጽታ የኤልሲዲ መቆጣጠሪያ እና የካሜራ በይነገጽ ፣ ለ SDRAM ድጋፍ ነው ፣ ይህ ልዩነት በፕሮጀክት ምርጫ ውስጥ ቅድሚያ ይሰጠዋል። ሆኖም ፣ ከዩኒቨርሲቲ ትምህርት እና ከተጠቃሚዎች የመጀመሪያ ትምህርት አንፃር ፣ የ F1 ተከታታይ አሁንም የመጀመሪያው ምርጫ ነው። በአሁኑ ጊዜ የ F1 ተከታታይ STM32 በገበያው ውስጥ ትልቁ የቁሳቁሶች እና ምርቶች ብዛት አለው።

ስለ STM32 SCM ልማት አከባቢ መጫኛ እና የፕሮግራም ማውረድ ዘዴ ፣ እኔ መግቢያውን አላደርግም።

የጂፒኦ ጅማሬ

በዚህ ፕሮጀክት ውስጥ በአጠቃላይ 4 GPIO ን እንጠቀም ነበር ፣ ከእነዚህም አንዱ የ PWM ውፅዓት ፒን ነው። በመጀመሪያ የሶስት ተራ የጂፒኦ ወደቦችን መነሳሳት እንመልከት።

ይህ ተግባር የ STM32F103C8 ን PB0 / PB1 / PB2 ን እንደ የውጤት ፒን ያስጀምረዋል እና ከዋናው ተግባር ይደውለዋል። ከጅምሩ በኋላ የዚህን GPIO የውጤት ሁኔታ ፣ ከፍተኛ እና ዝቅተኛ ደረጃ ለመቆጣጠር አመክንዮ ሊኖረን ይገባል ፣ ስለዚህ ተግባሩን ከዚህ በታች ጻፍኩ -

ይህ በተለዋዋጭ ስም በቀላሉ ሊረዱት የሚችሉት ተግባር ነው።

ተከታታይ ወደብ ማስጀመር

ተከታታይ ወደብ የመነሻ ክፍል በ uart.c ውስጥ ነው

ከዚያ የ 115200 ተከታታይ ወደብ ባውድ ፍጥነትን ለማስጀመር በዋናው ተግባር ውስጥ uart_init ይደውሉ። ፒኖች PA9/PA10 ን ይጠቀማሉ።

PWM ማስነሻ

የተወሰኑ እርምጃዎች ፦

1. የ RCC ሰዓት ያዘጋጁ;

2. የ GPIO ሰዓትን ያዘጋጁ ፤ የፒፒ ማረፍ ካስፈለገ የጂፒዮው ሁነታ ወደ GPIO_Model_AF_PP ፣ ወይም ወደ GPIO_PinRemapConfig () ተግባር መዘጋጀት አለበት።

3. የ TIMx ሰዓት ቆጣሪ አግባብነት ያላቸውን መዝገቦችን ያዘጋጁ ፤

4. የ TIMx ሰዓት ቆጣሪ ከ PWM ጋር ተዛማጅ መዝገብ ያዘጋጁ ፤

ሀ የ PWM ሁነታን ያዘጋጁ

ለ / የግዴታ ዑደት ያዘጋጁ (ቀመር ስሌት)

ሐ የውጤት ንፅፅር ዋልታ (ከዚህ ቀደም አስተዋውቋል) ያዘጋጁ

መ ከሁሉም በላይ ፣ የቲምክስን የውጤት ሁኔታ ያንቁ እና የ TIMx የ PWM ውፅዓት ያንቁ። አግባብነት ያላቸው ቅንጅቶች ከተጠናቀቁ በኋላ የ TIMx ሰዓት ቆጣሪ የ PWM ውፅዓት ለማግኘት በ TIMx_Cmd () በርቷል። ይህንን TIM3_PWM_Init ከዋናው ተግባር ይደውሉ።

ደረጃ 3 ሎጂክ ኮድ መጻፍ

የሎጂክ ኮድ ጽሑፍ
የሎጂክ ኮድ ጽሑፍ
የሎጂክ ኮድ ጽሑፍ
የሎጂክ ኮድ ጽሑፍ
የሎጂክ ኮድ ጽሑፍ
የሎጂክ ኮድ ጽሑፍ

የማሳያ ክፍል አድራሻ ፍቺ

የማሳያው ክፍሎች የተለያዩ አድራሻዎች አሏቸው ፣ እና እዚህ ሁሉንም እንደ ማክሮ ትርጓሜዎች ጻፍኩላቸው - ተከታታይ የውሂብ መቀበያ

ስለ STONE ማሳያ መረጃን በመመልከት ፣ አዝራሩ ሲጫን በማሳያው ላይ ያለው ተከታታይ ወደብ ፕሮቶኮሎችን በተገቢው ቅርጸት ይልካል ፣ ይህም ተጠቃሚው MCU ሊቀበለው እና ሊተነተን ይችላል። አዝራሩ ሲጫን በማሳያው ላይ ያለው ተከታታይ ወደብ የተጠቃሚ ውሂብን ጨምሮ ዘጠኝ ባይት መረጃዎችን ይልካል። ተከታታይ የውሂብ መቀበያ በ Handler ውስጥ የተፃፈ ነው - የተቀበለው መረጃ በ “USART_RX_BUF” ድርድር ውስጥ ተከማችቷል። በዚህ ፕሮጀክት ውስጥ የመቀበያው ርዝመት ተስተካክሏል። የመቀበያው ርዝመት ከ 9 ባይት በላይ በሚሆንበት ጊዜ የመቀበያው መጨረሻ ተፈርዶበታል።

የመብራት መቀየሪያ ሁኔታን ይቆጣጠሩ

በዋናው ተግባር ውስጥ ፣ የመብሪያውን የመቀየሪያ ሁኔታ ለመቆጣጠር አንዳንድ አመክንዮ ኮድ ጻፍኩ - እንደምናየው ኮዱ መጀመሪያ የመለያ ወደብ መረጃ መገኘቱን እና የመለያ ወደብ መረጃው ሲቀበል ተጠቃሚው የትኛውን አዝራር እንደሚወስን ይወስናል። በማሳያው ማያ ገጽ ላይ ይጫናል። በማሳያው ላይ የተለያዩ አዝራሮች የተለያዩ አድራሻዎች አሏቸው ፣ ይህም በ STONE TOOL ሶፍትዌር ውስጥ ሊታይ ይችላል -ተጠቃሚው “ሳሎን” የሚለውን ቁልፍ ሲጫን ፣ በማሳያው ማያ ገጽ ተከታታይ ወደብ የተላከው መረጃ አራተኛው እና አምስተኛው ቢት ናቸው የአዝራሩ አድራሻ። እዚህ ከተቀመጡት ሁሉም አዝራሮች አራተኛው ቢት 0x00 ስለሆነ ፣ የአምስተኛው ቢት ውሂቡን በቀጥታ በመፍረድ ተጠቃሚው የሚጫነውን ቁልፍ ልንፈርድ እንችላለን። በተጠቃሚው የተጫነውን ቁልፍ ካገኘን በኋላ ፣ አዝራሩ ሲጫን የተቀበለውን የተጠቃሚ ውሂብ መፍረድ አለብን ፣ ይህም ከማሳያ ማያ ገጹ የተላከው መረጃ ስምንተኛ አሃዝ ነው። ስለዚህ ፣ እኛ የሚከተለውን ቁጥጥር እናደርጋለን-የመብሪያውን የማብራት ሁኔታ ለመቆጣጠር የአዝራሩን አድራሻ መለኪያ እና የተጠቃሚ ውሂብን ወደ “Light_Contral” ተግባር ይፃፉ። የ Light_Contral ተግባር አካል እንደሚከተለው ነው-እርስዎ እንደሚመለከቱት ፣ የአዝራሩ አድራሻ “ሳሎን” እና የተጠቃሚው ውሂብ “LightOn” ከሆነ ፣ ከዚያ የ MCU ፒቢ0 ፒን ወደ ከፍተኛ ደረጃ ውፅዓት ተዘጋጅቷል ፣ እና መብራቱ በርቷል. ሌሎቹ ሶስት አዝራሮች ተመሳሳይ ናቸው ፣ ግን እዚህ አልሄድም።

PWM ውፅዓት

በእኔ በተዘጋጀው በይነገጽ ውስጥ “የልጆች ክፍል” ብርሃንን ብሩህነት ለመቆጣጠር የሚያገለግል ተንሸራታች ተቆጣጣሪ አለ። MCU በ PWM ይተገበራል። PWM የውጤት ፒን PB5 ነው። ኮዱ እንደሚከተለው ነው -ተንሸራታቹ አስተካካይ ወደ ቢያንስ 0x00 እሴት እና ከፍተኛው 0x64 እሴት ተዘጋጅቷል። በሚንሸራተቱበት ጊዜ የማሳያው ማያ ገጽ ወደብ እንዲሁ ተዛማጅ አድራሻዎችን እና መረጃዎችን ይልካል ፣ ከዚያ የሚከተለውን ተግባር በመደወል የ PWM ውፅዓት ግዴታ ጥምርታ ያዘጋጃል-

ደረጃ 4: ዳሳሽ ማግኛ

ዳሳሽ ማግኛ
ዳሳሽ ማግኛ
ዳሳሽ ማግኛ
ዳሳሽ ማግኛ
ዳሳሽ ማግኛ
ዳሳሽ ማግኛ

በማሳያው ማያ ገጽ “ዳሳሽ” ገጽ ላይ አራት ዳሳሽ ውሂብ አለ።

ውሂቡ በማሳያው ውስጥ የማከማቻ አድራሻም አለው ፣ እና በ MCU ተከታታይ ወደብ በኩል በቀላሉ ወደ እነዚህ አድራሻዎች በመጻፍ እውነተኛውን ይዘት መለወጥ እንችላለን።

እዚህ ቀለል ያለ የኮድ ትግበራ አደረግሁ-

የማሳያ ውሂቡ በየ 5 ሰከንዶች ይዘመናል ፣ እና እኔ አግባብነት ያለው የአነፍናፊ መሰብሰቢያ ተግባር ቀለል ያለ ማሳያ ብቻ ጻፍኩ ፣ ምክንያቱም እነዚህ ዳሳሾች በእጄ የለኝም።

በእውነተኛ የፕሮጀክት ልማት ውስጥ ፣ እነዚህ ዳሳሾች በ ADC የተሰበሰቡ መረጃዎች ፣ ወይም በ IIC ፣ UART እና SPI የግንኙነት በይነገጾች የተሰበሰቡ መረጃዎች ሊሆኑ ይችላሉ። እርስዎ ማድረግ የሚጠበቅብዎት እነዚህን መረጃዎች ወደ ተጓዳኝ ተግባር እንደ ተመላሽ እሴት መፃፍ ነው።

ደረጃ 5 - ትክክለኛው የአሠራር ውጤት

የሚመከር: