ዝርዝር ሁኔታ:

8 የሰርጥ ፕሮግራም ቆጣሪ -13 ደረጃዎች
8 የሰርጥ ፕሮግራም ቆጣሪ -13 ደረጃዎች

ቪዲዮ: 8 የሰርጥ ፕሮግራም ቆጣሪ -13 ደረጃዎች

ቪዲዮ: 8 የሰርጥ ፕሮግራም ቆጣሪ -13 ደረጃዎች
ቪዲዮ: በየቀኑ ለመሻሻል ማድረግ የሚገቡን 8 ነገሮች፤ 2024, ሀምሌ
Anonim
8 የሰርጥ ፕሮግራም ቆጣሪ
8 የሰርጥ ፕሮግራም ቆጣሪ
8 የሰርጥ ፕሮግራም ቆጣሪ
8 የሰርጥ ፕሮግራም ቆጣሪ
8 የሰርጥ ፕሮግራም ቆጣሪ
8 የሰርጥ ፕሮግራም ቆጣሪ

መግቢያ

ከ 1993 ጀምሮ ለፕሮጄክቶቼ የማይክሮ ቺፕ የፒአይሲን ማይክሮ መቆጣጠሪያን እጠቀማለሁ ፣ እና ማይክሮግራም MPLab IDE ን በመጠቀም ሁሉንም ፕሮግራሞቼን በአሰባሳቢ ቋንቋ አድርጌያለሁ። የእኔ ፕሮጄክቶች ከቀላል የትራፊክ መብራቶች እና ከሚያንጸባርቁ ኤልኢዲዎች ፣ ለ R/C ሞዴሎች ወደ ዩኤስቢ ጆይስቲክ በይነገጾች እና በኢንዱስትሪ ውስጥ ጥቅም ላይ የዋሉ የማዞሪያ ተንታኞች ነበሩ። ልማት ብዙ ቀናትን ፣ እና አንዳንድ ጊዜ በሺዎች የሚቆጠሩ የአሰባሳቢ ኮድ መስመሮችን ወስዷል።

ማትሪክስ መልቲሚዲያ ፍሎኮድ 4 ፕሮፌሽናል ከተቀበልኩ በኋላ በሶፍትዌሩ ላይ በጣም ተጠራጣሪ ነበርኩ። ለማመን በጣም ቀላል ይመስል ነበር። እኔ እሱን ለመሞከር ወሰንኩ ፣ እና ሁሉንም የተለያዩ አካላት ማክሮዎችን ሞክሬያለሁ ፣ ሁሉም በታላቅ ስኬት። Flowcode ን የመጠቀም በጣም ጥሩው ክፍል ቀላል ፕሮጄክቶች በአንድ ምሽት ውስጥ ኮድ ሊኖራቸው መቻሉ ነበር። ከ I²C እና ከ DS1307 የእውነተኛ ሰዓት ሰዓት ጋር ከተጫወትኩ በኋላ Flowcode ን በመጠቀም የ 8 ቻናል ሰዓት ቆጣሪን ለመንደፍ ወሰንኩ። ትንሽ እና ቀላል ፕሮጀክት ባለመሆኔ ፣ ይህ እራሴን ፍሎኮድን ለማስተማር ታላቅ ፕሮጀክት ይሆናል ብዬ አመንኩ።

ማይክሮፕሮሰሰር እና ሌሎች አካላት መምረጥ

በሚፈለገው የ I/O ፒኖች ብዛት ምክንያት የ 40 ፒን መሣሪያ እንደሚያስፈልግ ግልፅ ነበር። ፒሲ 18F4520 በዋናነት ለ 32 ኪ ፕሮግራም ማህደረ ትውስታ እና 1536 ባይት የመረጃ ማህደረ ትውስታ ተመርጧል። ጥቅም ላይ የዋሉ ሁሉም አካላት ፣ አስፈላጊ ከሆነ በቬሮ ቦርድ ላይ ወረዳውን ለመገንባት የሚቻል መደበኛ ቀዳዳ ቀዳዳዎች ናቸው። ይህ በዳቦ ሰሌዳ ላይ ባለው ልማትም ረድቷል።

ደረጃ 1 የፕሮጀክት ዓላማዎች

የፕሮጀክት ዓላማዎች
የፕሮጀክት ዓላማዎች

ዓላማዎች

- በባትሪ ምትኬ ትክክለኛ የጊዜ አያያዝ።

- ከኃይል ማጣት በኋላ እንኳን ሁሉም ፕሮግራሞች እና መረጃዎች ሊቆዩ ይገባል።

- ቀላል የተጠቃሚ በይነገጽ።

- የፕሮግራም ማመቻቸት።

ጊዜን መጠበቅ

ለኃይል ውድቀቶች ተጋላጭ በሆነ አካባቢ ውስጥ መኖር ፣ ከኤሌክትሪክ መስመሮች መደበኛ 50/60Hz ለትክክለኛው ጊዜ አያያዝ በቂ አይሆንም። የእውነተኛ ሰዓት ሰዓት አስፈላጊ ነበር ፣ እና በርካታ የ RTC ቺፖችን ከሞከርኩ በኋላ ፣ በቀላል ማወዛወዝ እና በባትሪ ምትኬ ውቅር ምክንያት በ DS1307 ላይ ወሰንኩ። ከ DS1307 ጋር የተገናኘ 32.768 kHz ክሪስታልን ብቻ በመጠቀም ትክክለኛ ትክክለኛ የጊዜ አያያዝ ተገኝቷል። ትክክለኛነት 4 የተለያዩ ክሪስታሎችን በመጠቀም በ 2 ወር የሙከራ ጊዜ ውስጥ በ 2 ሰከንድ ውስጥ ነበር።

የውሂብ ማቆየት

የኃይል ቆጣቢ በሚሆንበት ጊዜ እንኳን ሁሉም የሰዓት ቆጣሪ ፕሮግራም መረጃ ተይዞ መቀመጥ አለበት። እስከ 100 የተለያዩ መርሃግብሮች እና የተለያዩ የውቅረት መረጃዎች ፣ የፒአይሲው ተሳፋሪ EEPROM 256 ባይት በቂ ትልቅ እንደማይሆን ግልፅ ሆነ። 24LC256 I²C EEPROM ሁሉንም የፕሮግራም መረጃ ለማከማቸት ያገለግላል።

ቀላል የተጠቃሚ በይነገጽ

የተጠቃሚ በይነገጽ 2 ንጥሎችን ብቻ ፣ የ 16 x 4 መስመር ኤልሲዲ ማሳያ ከ LED የጀርባ ብርሃን እና 4 x 3 የቁልፍ ሰሌዳ ጋር ያካተተ ነው። ሁሉም መርሃግብሮች በጥቂት አዝራሮች ብቻ በመጫን ሊከናወኑ ይችላሉ። ወደ በይነገጽ የሚጨመሩ የሚሰማ የፓይዞ ድምጽ ማጉያ እና የእይታ ብልጭ ድርግም የሚሉ የኤል ሲ ዲ ብርሃን ናቸው።

ደረጃ 2 የፕሮግራም ተጣጣፊነት

የፕሮግራም ተጣጣፊነት
የፕሮግራም ተጣጣፊነት

በቂ የፕሮግራም ተጣጣፊነትን ለማረጋገጥ ሰዓት ቆጣሪው በግለሰብ ደረጃ ሊዘጋጁ የሚችሉ 100 ፕሮግራሞች አሉት። ለእያንዳንዱ ፕሮግራም ፣ በሰዓቱ ፣ በሰዓት ውጭ ፣ የውጤት ሰርጦች እና የሳምንቱ ቀን ሊዘጋጁ ይችላሉ። እያንዳንዱ ፕሮግራም ሦስት ሁነታዎች አሉት

- አውቶማቲክ - በሰዓት ፣ በሰዓት ውጭ ፣ የውጤት ሰርጥ እና የሳምንቱ ቀን ተዘጋጅቷል።

- ጠፍቷል - ቅንብሮቹን ሳይሰረዝ የግለሰቡ ፕሮግራም ሊሰናከል ይችላል። ፕሮግራሙን እንደገና ለማንቃት ፣

በቀላሉ የተለየ ሁነታን ይምረጡ።

- ቀን/ማታ - በሰዓት ፣ በሰዓት ውጭ ፣ የውጤት ሰርጥ እና የሳምንቱ ቀን ተዘጋጅቷል። እንደ ራስ -ሰር ሁኔታ ተመሳሳይ ነው የሚሰራው ፣ ግን ይሠራል

ጨለማ በሚሆንበት ጊዜ አብራ እና አጥፋ በሚሉ ጊዜያት መካከል ውጤቶቹን ብቻ ያብሩ። ይህ ሙሉ የቀን/የሌሊት ቁጥጥርን እንዲሁ ያንቃል

ፀሐይ ስትጠልቅ ፣ እና በፀሐይ መውጫ ላይ መብራትን ለማብራት እንደ ተጨማሪ ተጣጣፊነት።

ምሳሌ 1 - ከ 20 00 በኋላ ብርሃንን ያበራል ፣ እና ፀሐይ ስትወጣ ብርሃንን ያጠፋል።

በርቷል: 20:00, ጠፍቷል: 12: 00, ምሳሌ 2 - ፀሐይ ስትጠልቅ ብርሃንን ያበራል ፣ እና 23:00 ላይ መብራቱን ያጠፋል።

በ: 12:00

ጠፍቷል: 23:00

ምሳሌ 3 - ፀሐይ ስትጠልቅ ብርሃንን ያበራል ፣ እና ፀሐይ ስትወጣ ብርሃንን ያጠፋል።

በርቷል: 12:01

ጠፍቷል: 12:00

ተጨማሪ አማራጮች አሉ ፣ ሁሉም ከ 100 አብራ/አጥፋ ፕሮግራሞች ነፃ ሆነው ይሰራሉ።

የፕሮግራም ሰርጦች ገባሪ - ብዙ ፕሮግራሞችን ከማጥፋት ይልቅ ፕሮግራሞችን መለወጥ ሳያስፈልግ የግለሰብ የውጤት ሰርጦች ሊሰናከሉ ይችላሉ።

ረዳት ግብዓቶች - የተወሰኑ የውጤት ሰርጦች ለተወሰነ ጊዜ እንዲበሩ ለማድረግ ሁለት ዲጂታል ግብዓቶች አሉ። ለምሳሌ ሌሊቱ ዘግይቶ ወደ ቤት ሲመጣ ፣ በርቀት መቆጣጠሪያ ላይ አንድ አዝራር ሲጫን ወይም የቤት ማስጠንቀቂያ ሲነሳ የተለየ መብራቶችን ለማብራት ሊያገለግል ይችላል።

ረዳት ውጤቶች - ሁለት ተጨማሪ ውጤቶች (ከ 8 የውጤት ሰርጦች በስተቀር) ይገኛሉ። በተወሰኑ የውጤት ሰርጦች ፣ ወይም ከዲጂታል ግብዓቶች ጋር ለማብራት ፕሮግራም ሊደረግላቸው ይችላል። በመጫኔ ውስጥ ፣ በ 24 ቮ ላይ የሚሰራውን መስኖዬን የሚቆጣጠሩ 6-8 ውጤቶች አሉኝ። አንዱን ረዳት ውፅዓት ለማብራት ፣ ለመስኖ ሥርዓቱ 24 ቮ የኃይል አቅርቦት ለማብራት ፣ ሰርጦችን ከ6-8 እጠቀማለሁ።

በእጅ በርቷል-በዋናው ማያ ገጽ ላይ ሲሆኑ ፣ 1-8 አዝራሮችን ሰርጦችን ለማብራት ወይም ለማጥፋት ጥቅም ላይ ሊውሉ ይችላሉ።

ደረጃ 3 ሃርድዌር

ሃርድዌር
ሃርድዌር

የኃይል አቅርቦት -የኃይል አቅርቦቱ ከመጠን በላይ ጭነት ጥበቃን የሚያስተካክል ፣ የማለስለሻ ካፒቴን እና የ 1 አምፕ ፊውዝ ያካትታል። ይህ አቅርቦት በ 7812 እና በ 7805 ተቆጣጣሪ ቁጥጥር ይደረግበታል። የ 12 ቮ አቅርቦት የውጤት ማስተላለፊያዎችን ለመንዳት የሚያገለግል ሲሆን ሁሉም ሌሎች ወረዳዎች ከ 5 ቮ አቅርቦት የተጎላበቱ ናቸው። 7805 ተቆጣጣሪው ከ 7812 ተቆጣጣሪ ውፅዓት ጋር የተገናኘ እንደመሆኑ ፣ አጠቃላይ የአሁኑ በ 7812 ተቆጣጣሪው በኩል በ 1 አምፔ ብቻ የተገደበ መሆን አለበት። እነዚህን ተቆጣጣሪዎች ተስማሚ በሆነ የሙቀት መስጫ ገንዳ ላይ መጫን ተገቢ ነው።

I²C አውቶቡስ - ፍሎኮድ የሃርድዌር I²C ቁጥጥርን ቢፈቅድም ፣ እኔ የሶፍትዌር I²C ውቅረትን ለመጠቀም ወሰንኩ። ይህ የፒን ምደባዎችን የበለጠ ተጣጣፊነት እንዲኖር ያስችላል። ምንም እንኳን ዘገምተኛ (50 kHz) ቢሆንም ፣ ከሃርድዌር I²C አውቶቡስ ጋር ሲነፃፀር አሁንም በጥሩ ሁኔታ ይሠራል። ሁለቱም DS1307 እና 24LC256 ከዚህ I²C አውቶቡስ ጋር ተገናኝተዋል።

የእውነተኛ ሰዓት ሰዓት (DS1307)-በሚነሳበት ጊዜ የ RTC መመዝገቢያ 0 እና 7 ትክክለኛ ጊዜ እና የውቅረት ውሂብ ይ ifል እንደሆነ ለማወቅ ይነበባል። አንዴ ከተዋቀረ ፣ የ RTC ጊዜ ይነበባል እና በ PIC ውስጥ የተጫነበት ጊዜ። ጊዜው ከ RTC የሚነበበው ይህ ብቸኛው ጊዜ ነው። ከጅምር በኋላ ፣ በ 1 RTC ፒን 7 ላይ 1Hz ምት ይኖራል። ይህ 1Hz ምልክት ከ RB0/INT0 ጋር ተገናኝቷል ፣ እና በተቋረጠ የአገልግሎት አሠራር አማካይነት ፣ የፒአይሲ ሰዓት በየሴኮንድ ይዘምናል።

የውጭ EEPROM - ሁሉም የፕሮግራም መረጃዎች እና አማራጮች በውጫዊ EEPROM ላይ ተከማችተዋል። የ EEPROM መረጃ ሲነሳ ይጫናል ፣ እና የውሂብ ቅጂ በፒአይሲ ማህደረ ትውስታ ውስጥ ይቀመጣል። የ EEPROM ውሂብ የሚዘመነው የፕሮግራም ቅንብሮች ሲቀየሩ ብቻ ነው።

የቀን/የሌሊት ዳሳሽ -መደበኛ የብርሃን ጥገኛ ተከላካይ (LDR) እንደ የቀን/የሌሊት ዳሳሽ ጥቅም ላይ ይውላል። ኤልዲዲዎች በብዙ ቅርጾች እና ዓይነቶች ሲመጡ ፣ ሁሉም በተመሳሳይ የመብራት ሁኔታ ውስጥ የተለያዩ የመቋቋም እሴቶች ያላቸው ፣ የመብራት ደረጃን ለማንበብ የአናሎግ ግብዓት ሰርጥን እጠቀም ነበር። ቀኑ እንዲሁም የሌሊት ደረጃዎች የሚስተካከሉ ናቸው ፣ እና ለተለያዩ ዳሳሾች አንዳንድ ተጣጣፊነትን ይፍቀዱ። አንዳንድ የ hysteresis ን ለማቀናጀት ፣ የቀን እና የሌሊት የግለሰብ እሴቶች ሊዘጋጁ ይችላሉ። ግዛቱ የሚለወጠው የብርሃን ደረጃው ከቀኑ በታች ከሆነ ወይም ከምሽቱ ስብስብ ነጥቦች በላይ ከ 60 ሰከንዶች በላይ ከሆነ ብቻ ነው።

ኤልሲዲ ማሳያ-4 መስመር ፣ 16 ቁምፊ ማሳያ ጥቅም ላይ ውሏል ፣ ምክንያቱም ሁሉም መረጃዎች በ 2 መስመር ማሳያ ላይ ሊታዩ አይችሉም። ፕሮጀክቱ በ LCD_Custom_Char ማክሮ ውስጥ የተገለጸውን አንዳንድ ብጁ ገጸ -ባህሪያትን ያካትታል።

ረዳት ግብዓቶች - ሁለቱም ግብዓቶች በ NPN ትራንዚስተር ተይዘዋል። +12v እና 0V እንዲሁ በአገናኝ ላይ ይገኛል ፣ ይህም ለውጭ ግንኙነቶች የበለጠ ተለዋዋጭ ግንኙነቶችን እንዲኖር ያስችላል። እንደ ምሳሌ ፣ የርቀት መቆጣጠሪያ መቀበያ ከአቅርቦቱ ጋር ሊገናኝ ይችላል።

የውጤት ውጤቶች - ሁሉም ውጤቶች በ 12 ቮ ቅብብል አማካኝነት በኤሌክትሪክ ከወረዳው ተለይተዋል። ጥቅም ላይ የዋሉት ቅብብሎች ፣ ለ 250 ቪ ኤሲ ደረጃ ተሰጥቷቸዋል ፣ በ 10 amps። በተለምዶ ክፍት እና በተለምዶ የተዘጉ እውቂያዎች ወደ ተርሚናሎች ይወጣሉ።

የቁልፍ ሰሌዳ - ጥቅም ላይ የዋለው የቁልፍ ሰሌዳ 3 x 4 ማትሪክስ የቁልፍ ሰሌዳ ነው ፣ እና ተገናኝቷል PORTB: 2..7።

ደረጃ 4 የቁልፍ ሰሌዳ አቋራጮች

የቁልፍ ሰሌዳ ይቋረጣል
የቁልፍ ሰሌዳ ይቋረጣል
የቁልፍ ሰሌዳ ይቋረጣል
የቁልፍ ሰሌዳ ይቋረጣል
የቁልፍ ሰሌዳ ይቋረጣል
የቁልፍ ሰሌዳ ይቋረጣል

በማንኛውም የቁልፍ ፕሬስ ላይ የ PORTB መቋረጥን በለውጥ ላይ ማቋረጫ ለመጠቀም ፈልጌ ነበር። ለዚህ ፣ እያንዳንዱ የቁልፍ ሰሌዳ ከማቋረጡ በፊት እና በኋላ የ PORTB አቅጣጫ እና መረጃ በትክክል መዋቀሩን ለማረጋገጥ በ Flowcode ውስጥ ብጁ ማቋረጫ መፈጠር ነበረበት። አንድ አዝራር በተጫነ ወይም በተለቀቀ ቁጥር መቋረጥ ይፈጠራል። የማቋረጫ አሠራሩ ምላሽ የሚሰጠው ቁልፍ ሲጫን ብቻ ነው።

ብጁ ጣልቃ ገብነት

ኮድ አንቃ

portb = 0b00001110; trisb = 0b11110001;

intcon. RBIE = 1;

intcon2. RBIP = 1;

intcon2. RBPU = 1;

rcon. IPEN = 0;

ተቆጣጣሪ ኮድ

ከሆነ (intcon & (1 << RBIF))

{FCM_%n ();

portb = 0b00001110;

trisb = 0b11110001;

wreg = portb;

clear_bit (intcon ፣ RBIF);

}

ችግሮች ተገኝተዋል

በማቋረጫ ወቅት ፣ የተቋረጠው የአገልግሎት አሠራር በምንም ዓይነት ሁኔታ ውስጥ መሆን አለበት ፣ በተቀረው መርሃ ግብር ውስጥ የሆነ ቦታ ላይ ሊያገለግል የሚችል ማንኛውንም ማክሮ ይደውሉ። ይህ መቋረጡ ዋናው መርሃ ግብር በተመሳሳይ ተመሳሳይ ንዑስ ክፍል ውስጥ በሚሆንበት ጊዜ መቋረጡ በተመሳሳይ ጊዜ ሊፈጠር ስለሚችል ወደ መደራረብ ፍሰት ችግሮች ያስከትላል። ኮዱ ሲጠናቅቅ ይህ እንዲሁ በ Flowcode ኮድ እንደ ከባድ ስህተት ተለይቷል።

በ GetKeyPadNumber ስር ባለው የቁልፍ ሰሌዳው ብጁ ኮድ ውስጥ እንዲህ ዓይነቱን ጥሪ ወደ “Delay_us macro” ጥሪ አለ ፣ ይህም የቁልል ፍሰት ያስከትላል። ይህንን ለማሸነፍ የዘገየ_ኡስ (10) ትዕዛዙን አስወግጄ በ 25 መስመሮች በ “ወሬ = ፖርታ” ተተካሁ። ትዕዛዞች። ይህ ትእዛዝ PORTA ን ያነባል ፣ እና የተወሰነ መዘግየት ለማግኘት እሴቱን ወደ ደብሊው መዝገብ ውስጥ ያስገባል። ይህ ትእዛዝ ከአሰባሳቢ movf porta ጋር ተመሳሳይ ወደሆነ አንድ መመሪያ ይሰበሰባል ፣ 0. በፕሮጀክቱ ውስጥ ጥቅም ላይ ለዋለው 10 ሜኸ ሰዓት እያንዳንዱ መመሪያ 400ns ይሆናል ፣ እና የ 10us መዘግየት ለማግኘት ፣ ከእነዚህ መመሪያዎች 25 ያስፈልገኝ ነበር።

በስእል 3 በሁለተኛው መስመር ላይ ማስታወሻ - GetKeypadNumber Custom Code ፣ የመጀመሪያው delay_us (10) ትዕዛዝ በ “//” ተሰናክሏል። ከዚህ በታች የእኔን 25 “wreg = porta;” አክዬአለሁ። አዲስ የ 10us መዘግየት እንዲያገኙ ያዛል። በ Keypad_ReadKeypadNumber ብጁ ኮድ ውስጥ ወደማንኛውም ማክሮዎች ያለ ጥሪዎች ፣ የቁልፍ ሰሌዳ ማክሮ አሁን በተቋረጠ የአገልግሎት አሠራር ውስጥ ሊያገለግል ይችላል።

የ Flowcode ቁልፍ ሰሌዳ እና የኢቦሎክ ክፍሎች በግብዓት መስመሮች ላይ መደበኛ መጎተቻ ተከላካዮችን እንደማይጠቀሙ ልብ ሊባል ይገባል። በምትኩ ፣ 100 ኪ የሚጎትት ተቃዋሚዎችን ይጠቀማል። በእድገቱ ወቅት በቁልፍ ሰሌዳው ላይ በተገኘ አንዳንድ ጣልቃገብነቶች ምክንያት ፣ 100 ኪ ተቃዋሚዎች በሙሉ በ 10 ኪ ተተክተዋል ፣ እና ሁሉም 10 ሺ ተቃዋሚዎች በ 1 ኪ 5 ተተክተዋል። የቁልፍ ሰሌዳው በ 200 ሚሜ እርሳሶች በትክክል ለመስራት ተፈትኗል።

ደረጃ 5 ሰዓት ቆጣሪውን ይጠቀሙ

ሰዓት ቆጣሪን በመጠቀም
ሰዓት ቆጣሪን በመጠቀም
ሰዓት ቆጣሪን በመጠቀም
ሰዓት ቆጣሪን በመጠቀም
ሰዓት ቆጣሪን በመጠቀም
ሰዓት ቆጣሪን በመጠቀም

በቅንብሮች ላይ ፈጣን ለውጦችን ለማድረግ ለተጠቃሚው ሁሉንም አስፈላጊ መረጃዎች ለማመልከት ሁሉም ማያ ገጾች ተዘጋጅተዋል። መስመር 4 በምናሌዎች እና በፕሮግራም አማራጮች በኩል አሰሳ ለመርዳት ያገለግላል። በመደበኛ ቀዶ ጥገና ወቅት በአጠቃላይ 22 ማያ ገጾች ይገኛሉ።

መስመር 1 - ጊዜ እና ሁኔታ

የሁኔታ አዶዎችን ተከትሎ የአሁኑን ቀን እና ሰዓት ያሳያል።

ሀ - የ Aux ግቤት ሀ መቀስቀሱን እና የ Aux ግቤት ሀ ሰዓት ቆጣሪ እየሰራ መሆኑን ያመለክታል።

ለ - የ Aux ግብዓት ቢ መቀስቀሱን እና የኦክስ ግብዓት ቢ ሰዓት ቆጣሪ እየሰራ መሆኑን ያመለክታል።

ሐ - Aux Output C እንደበራ ያመለክታል።

መ - የ Aux ውፅዓት D እንደበራ ያመለክታል።

} - የቀን/የሌሊት ዳሳሽ ሁኔታ። ካለ ፣ ሌሊት መሆኑን ያመለክታል።

መስመር 2 - የፕሮግራም ውጤቶች

በተለያዩ ፕሮግራሞች የበራላቸውን ሰርጦች ያሳያል። ሰርጦች በውጤት ቁጥሮቻቸው ውስጥ ይታያሉ ፣ እና “-” የሚለው የተወሰነ ውፅዓት እንዳልበራ ያመለክታል። በ “የፕሮግራም ውጤቶች ገባሪ” ውስጥ የተሰናከሉ ሰርጦች አሁንም እዚህ ይጠቁማሉ ፣ ግን እውነተኛው ውጤቶች አይዘጋጁም።

መስመር 3 - እውነተኛ ውጤቶች

በተለያዩ ፕሮግራሞች የትኞቹ ሰርጦች እንደበሩ ፣ የ Aux ግብዓቶች ኤ እና ቢ ፣ ወይም በተጠቃሚው በተዘጋጁ በእጅ ውጤቶች። 0 ን መጫን ሁሉንም በእጅ የተንቀሳቀሱትን ውጤቶች ወደ ጠፍቶ ይመልሳል ፣ እና የ Aux Output A & B ሰዓት ቆጣሪዎችን ዳግም ያስጀምራል።

መስመር 4 - ምናሌ እና ቁልፍ አማራጮች (በሁሉም ምናሌዎች ላይ)

የ “*” እና “#” ቁልፎች ተግባርን ያመለክታል።

የመካከለኛው ክፍል ለተመረጠው ማያ ገጽ የትኞቹ የቁጥር ቁልፎች (0-9) ንቁ እንደሆኑ ይጠቁማል።

የ Aux ግብዓት ኤ እና ለ የግብዓት ሁኔታ እንዲሁ በክፍት ወይም በተዘጋ የመቀየሪያ አዶ አማካይነት ይታያል።

በቁልፍ ሰሌዳው ላይ ያለውን ተጓዳኝ ቁልፍ በመጫን ውጤቶች በእጅ ሊበሩ/ሊጠፉ ይችላሉ።

በምናሌዎቹ ውስጥ የኮከብ እና የሃሽ ቁልፎች በተለያዩ የፕሮግራም አማራጮች ውስጥ ለመዳሰስ ያገለግላሉ። ቁልፎች 0-9 አማራጮችን ለማዘጋጀት ያገለግላሉ። በአንድ ማያ ገጽ ወይም በፕሮግራም ምናሌ ላይ ብዙ አማራጮች ባሉበት ፣ የሃሽ ቁልፍ የተለያዩ አማራጮችን ለማለፍ ያገለግላል። የአሁኑ የተመረጠው አማራጭ በማያ ገጹ ግራ በኩል ባለው “>” ቁምፊ ሁልጊዜ ይጠቁማል።

0-9 የጊዜ እሴቶችን ያስገቡ

1-8 የሰርጥ ምርጫን ይለውጡ

14 36 በፕሮግራሞች ደረጃ ፣ 1-ደረጃ ወደ ኋላ ፣ 4-ደረጃ ወደ ኋላ 10 ፕሮግራሞች ፣ 3-ደረጃ ወደፊት ፣ 6-ደረጃ ወደፊት 10

ፕሮግራሞች

1-7 የሳምንቱን ቀናት ያዘጋጁ። 1 = እሁድ ፣ 2 = ሰኞ ፣ 3 = ማክሰኞ ፣ 4 = ረቡዕ ፣ 5 = ሐሙስ ፣ 6 = ዓርብ ፣ 7 = ቅዳሜ

0 በዋናው ማያ ገጽ ውስጥ ሁሉንም በእጅ የተደራረቡ እና የግቤት ሀ & የግቤት ቢ ቆጣሪዎችን ያፅዱ። በሌሎች ምናሌዎች ፣ ለውጦች

የተመረጡ አማራጮች

# በዋናው ማያ ገጽ ላይ ፣ ሁሉንም በእጅ የሚገፋፉትን ፣ የግብዓት ሀ & የግቤት ቢ ሰዓት ቆጣሪዎችን እና የፕሮግራም ውፅዓቶችን ያሰናክላል ፣

የሚቀጥለው ክስተት።

* እና 1 ሰዓት ቆጣሪውን እንደገና ያስነሱ

* እና 2 ሁሉንም ፕሮግራሞች እና አማራጮች ያፅዱ ፣ ቅንብሮችን ወደ ነባሪ ይመልሱ።

* እና 3 ሰዓት ቆጣሪን ወደ ተጠባባቂ ያስቀምጡ። ሰዓት ቆጣሪን እንደገና ለማብራት ማንኛውንም ቁልፍ ይጫኑ።

በማንኛውም የጊዜ እሴት ትክክል ባልሆኑ ግቤቶች ወቅት ፣ የኤልሲዲው የኋላ መብራት ስህተትን ለማመልከት 5 ጊዜ ያበራል። በተመሳሳይ ጊዜ ጩኸቱ ያሰማል። የመውጫ እና ቀጣይ ትዕዛዞች የሚሰሩት የአሁኑ ግቤት ትክክል ሲሆን ብቻ ነው።

ኤልሲዲ የጀርባ ብርሃን

በመነሻ ጅምር ላይ ፣ የኤልሲዲው የጀርባ ብርሃን ለ 3 ደቂቃዎች ይበራል ፣ ካልሆነ በስተቀር ፦

- የሃርድዌር አለመሳካት አለ (EEPROM ወይም RTC አልተገኘም)

- ጊዜ በ RTC ውስጥ አልተዘጋጀም

በቁልፍ ሰሌዳው ላይ በማንኛውም የተጠቃሚ ግብዓት ላይ ኤልሲዲው የኋላ መብራት ለ 3 ደቂቃዎች እንደገና ያበራል። ኤልሲዲው የኋላ መብራት ከጠፋ ፣ ማንኛውም የቁልፍ ሰሌዳ ትዕዛዝ መጀመሪያ የኤልሲዲውን የኋላ መብራት ያበራል ፣ እና የተጫነውን ቁልፍ ችላ ይላል። ይህ የቁልፍ ሰሌዳውን ከመጠቀምዎ በፊት ተጠቃሚው የኤል ሲ ዲ ማሳያውን ለማንበብ መቻሉን ያረጋግጣል። የ Aux ግቤት A ወይም Aux ግብዓት ቢ ገቢር ከሆነ ኤልሲዲው የኋላ መብራት እንዲሁ ለ 5 ሰከንዶች ይበራል።

ደረጃ 6: የምናሌ ማያ ገጽ ፎቶዎች

የምናሌ ማያ ገጽ ፎቶዎች
የምናሌ ማያ ገጽ ፎቶዎች
የምናሌ ማያ ገጽ ፎቶዎች
የምናሌ ማያ ገጽ ፎቶዎች
የምናሌ ማያ ገጽ ፎቶዎች
የምናሌ ማያ ገጽ ፎቶዎች

የቁልፍ ሰሌዳውን በመጠቀም እያንዳንዱ አማራጮች በቀላሉ በፕሮግራም ሊሠሩ ይችላሉ። ምስሎቹ እያንዳንዱ ማያ ገጽ ምን እንደሚሠራ የተወሰነ መረጃ ይሰጣሉ።

ደረጃ 7 - የስርዓቱ ንድፍ

የስርዓቱ ንድፍ
የስርዓቱ ንድፍ

ሁሉም ልማት እና ሙከራ የዳቦ ሰሌዳ ላይ ተደረገ። ሁሉንም የስርዓቱን ክፍሎች ስመለከት ስርዓቱን በሶስት ሞጁሎች አፈረስኩ። ይህ ውሳኔ በዋነኝነት በፒሲቢ መጠን ገደቦች (80 x 100 ሚሜ) ንስር በነጻ ሥሪት ምክንያት ነበር።

ሞጁል 1 - የኃይል አቅርቦት

ሞጁል 2 - የሲፒዩ ቦርድ

ሞዱል 3 - የቅብብሎሽ ሰሌዳ

ሁሉም ክፍሎች በቀላሉ ሊገኙ የሚችሉ መሆናቸውን እና የወለል ተራራ አካላትን ለመጠቀም አልፈልግም ብዬ ወሰንኩ።

በእያንዳንዳቸው እንለፍ።

ደረጃ 8 የኃይል አቅርቦት

ገቢ ኤሌክትሪክ
ገቢ ኤሌክትሪክ
ገቢ ኤሌክትሪክ
ገቢ ኤሌክትሪክ
ገቢ ኤሌክትሪክ
ገቢ ኤሌክትሪክ
ገቢ ኤሌክትሪክ
ገቢ ኤሌክትሪክ

የኃይል አቅርቦቱ በቀጥታ ወደ ፊት ነው ፣ እና ሲፒዩ እና የቅብብሎሽ ሰሌዳዎችን በ 12 ቮ እና 5 ቪ ያቅርቡ።

እኔ የቮልቴጅ ተቆጣጣሪዎችን በጥሩ የሙቀት ማጠቢያዎች ላይ እሰካለሁ ፣ እንዲሁም ለአቅርቦቱ ከመጠን በላይ አቅም ያላቸውን capacitors እጠቀማለሁ።

ደረጃ 9 የሲፒዩ ቦርድ

ሲፒዩ ቦርድ
ሲፒዩ ቦርድ
ሲፒዩ ቦርድ
ሲፒዩ ቦርድ
ሲፒዩ ቦርድ
ሲፒዩ ቦርድ
ሲፒዩ ቦርድ
ሲፒዩ ቦርድ

ከኤልሲዲ ማያ ገጽ በስተቀር ሁሉም ክፍሎች ፣ የቁልፍ ሰሌዳ እና ቅብብል በሲፒዩ ቦርድ ላይ ተጭነዋል።

በአቅርቦቱ ፣ በሁለት ዲጂታል ግብዓቶች እና በብርሃን ዳሳሽ መካከል ያሉትን ግንኙነቶች ለማቃለል ተርሚናል ብሎኮች ተጨምረዋል።

የራስጌ ፒኖች/ሶኬቶች ከኤልሲዲ ማያ ገጽ እና የቁልፍ ሰሌዳ ጋር ለቀላል ግንኙነቶች ዝግጅት ያደርጋሉ።

ወደ ቅብብሎሽ ውጤቶች ፣ ULN2803 ን እጠቀም ነበር። እሱ ቀድሞውኑ ሁሉንም አስፈላጊ የማሽከርከር ተከላካዮችን እና የበረራ ተጓዥ ዳዮዶችን ይ containsል። ይህ የሲፒዩ ቦርድ አሁንም የንስር ነፃ ሥሪት በመጠቀም ሊሠራ እንደሚችል አረጋግጧል። ማስተላለፊያዎቹ ከሁለቱ ULN2803 ዎች ጋር ተገናኝተዋል። የታችኛው ULN2803 ለ 8 ውፅዓቶች ፣ እና የላይኛው ULN2803 ለሁለቱ ረዳት ውጤቶች ጥቅም ላይ ይውላል። እያንዳንዱ ረዳት ውፅዓት አራት ትራንዚስተሮች አሉት። ወደ ቅብብሎሽ ግንኙነቶችም እንዲሁ በአርዕስት ፒን/ሶኬቶች በኩል ናቸው።

በ PicKit 3 ፕሮግራም አድራጊ በኩል ቀላል መርሃ ግብርን ለመፍቀድ ፒሲ 18F4520 በፕሮግራም ሶኬት ተጭኗል።

ማስታወሻ:

ቦርዱ ተጨማሪ 8 ፒን አይሲ እንደያዘ ያስተውላሉ። የላይኛው አይሲ ፒሲ 12F675 ነው ፣ እና ከዲጂታል ግብዓት ጋር ተገናኝቷል። ይህ በፒሲቢ ዲዛይን ወቅት ተጨምሯል። ይህ የዲጂታል ግቤትን ቀድመው ለማስኬድ ቀላል ያደርገዋል። በመተግበሪያዬ ውስጥ ከዲጂታል ግብዓቶች አንዱ ከእኔ የማንቂያ ስርዓት ጋር ተገናኝቷል። ማንቂያው ከተሰማ ፣ የተወሰኑ መብራቶች በቤቴ ውስጥ በርተዋል። የማስጠንቀቂያ ስርዓቴን ማስታጠቅ እና ትጥቅ ማስፈታት በሲሪን ላይ የተለያዩ ድምፆችን ይሰጣል። PIC 12F675 ን በመጠቀም አሁን በክንድ/ትጥቅ እና በእውነተኛ ማንቂያ መካከል መለየት እችላለሁ። 12F675 ደግሞ የፕሮግራም ሶኬት የተገጠመለት ነው።

እኔ በአርዕስት ፒን/ሶኬት በኩል ለ I2C ወደብ ዝግጅት አደረግሁ። ይህ በቅብብሎሽ ሰሌዳዎች ላይ በኋላ ላይ ጠቃሚ ይሆናል።

ቦርዱ ጥቂት መዝለያዎችን ይ containsል ፣ ይህም የአይሲ ሶኬቶችን ከመገጣጠሙ በፊት መሸጥ አለበት።

ደረጃ 10 የፍሎኮድ መደምደሚያ

የፍሰት ኮድ መደምደሚያ
የፍሰት ኮድ መደምደሚያ
የፍሰት ኮድ መደምደሚያ
የፍሰት ኮድ መደምደሚያ
የፍሰት ኮድ መደምደሚያ
የፍሰት ኮድ መደምደሚያ

እኔ በስብሰባ ደረጃ በመመዝገቢያ ደረጃ ላይ ለመሥራት እንደለመድኩ ፣ አንዳንድ ጊዜ የማክሮ ክፍልን ለመጠቀም አስቸጋሪ እና ተስፋ አስቆራጭ ነበር። ይህ በዋነኝነት የ Flowcode የፕሮግራም አወቃቀር ዕውቀት ባለመኖሩ ነው። እኔ የ C ወይም ASM ብሎኮችን የተጠቀምኩባቸው ብቸኛ ቦታዎች በተቋረጠ የዕለት ተዕለት እንቅስቃሴ ውስጥ ውጤትን ማብራት እና በ Do_KeyPressed አሠራር ውስጥ የቁልፍ ሰሌዳው መቋረጥን ማሰናከል/ማንቃት ነበር። የ EEPROM ወይም RTC በማይገኝበት ጊዜ ፒሲኤም እንዲሁ የኤኤስኤም ብሎክን በመጠቀም ወደ እንቅልፍ ይተኛል።

በተለያዩ የ I²C ትዕዛዞች አጠቃቀም ዙሪያ እገዛ ፣ ሁሉም ከ Flowcode Help ፋይሎች ውስጥ የተገኙ ናቸው። ትዕዛዞቹ በተሳካ ሁኔታ ጥቅም ላይ ከመዋላቸው በፊት የተለያዩ የ I²C መሣሪያዎች እንዴት እንደሚሠሩ በትክክል ማወቅ ያስፈልጋል። ወረዳን መንደፍ ንድፍ አውጪው ሁሉም ተዛማጅ የመረጃ ቋቶች እንዲኖሩት ይፈልጋል። ይህ የ Flowcode ጉድለት አይደለም።

Flowcode በእርግጥ ለፈተናው ቆሟል ፣ እና ከማይክሮ ቺፕ ማይክሮፕሮሰርስ ክልል ጋር መሥራት ለመጀመር ለሚፈልጉ ሰዎች በጣም ይመከራል።

ለፒአይኤ (PIC) የፍሰት ኮድ መርሃ ግብር እና ውቅር በስዕሎች መሠረት ተዘጋጅቷል

ደረጃ 11 - አማራጭ I2C ቅብብል ቦርድ

አማራጭ I2C ቅብብሎሽ ቦርድ
አማራጭ I2C ቅብብሎሽ ቦርድ
አማራጭ I2C ቅብብሎሽ ቦርድ
አማራጭ I2C ቅብብሎሽ ቦርድ
አማራጭ I2C ቅብብሎሽ ቦርድ
አማራጭ I2C ቅብብሎሽ ቦርድ

የሲፒዩ ቦርድ ቀድሞውኑ ለ 16 ቅብብሎች የራስጌ ግንኙነቶች አሉት። እነዚህ ውጤቶች በሁለቱ የ ULN2803 ቺፕስ በኩል ክፍት ሰብሳቢ ትራንዚስተሮች ናቸው ።ይህ ቅብብሎቹን በቀጥታ ለማብራት ሊያገለግል ይችላል።

ከስርዓቱ የመጀመሪያ ሙከራዎች በኋላ በሲፒዩ ቦርድ እና በቅብብሎሽ መካከል ያሉትን ሁሉንም ሽቦዎች አልወደድኩም። እኔ በሲፒዩ ቦርድ ላይ የ I2C ወደብ ስጨምር ፣ ከ I2C ወደብ ጋር ለመገናኘት የቅብብሎሽ ሰሌዳውን ዲዛይን ለማድረግ ወሰንኩ። 16 ሰርጥ MCP23017 I/O Port Expander ቺፕ እና የ ULN2803 ትራንዚስተር ድርድርን በመጠቀም በሲፒዩ እና በቅብብሎሽ መካከል ያለውን ግንኙነት ወደ 4 ሽቦዎች ቀነስኩ።

በ 80 x 100 ሚሜ ፒሲቢ ላይ 16 ቅብብሎችን መግጠም ስላልቻልኩ ሁለት ሰሌዳዎችን ለመሥራት ወሰንኩ። እያንዳንዱ MCP23017 ከ 16 ቱ ወደቦች 8 ብቻ ይጠቀማል። ቦርድ 1 8 ውፅዓቶችን ያስተናግዳል ፣ እና ሁለቱን ረዳት ውጤቶች 2 ይሳፈራል። በቦርዶቹ ላይ ያለው ልዩነት የእያንዳንዱ ሰሌዳ አድራሻዎች ብቻ ናቸው። ይህ በቀላሉ በትንሽ ዝላይ ይዘጋጃል። እያንዳንዱ ቦርድ የኃይል እና የ I2C መረጃን ለሌላ ቦርድ ለማቅረብ አያያ hasች አሉት።

ማስታወሻ:

አስፈላጊ ከሆነ ሶፍትዌሩ ሁሉንም 16 ወደቦች ሊጠቀም ለሚችል አንድ ቦርድ ብቻ ዝግጅት ያደርጋል። ሁሉም የውጤት ማስተላለፊያ ውሂብ በመጀመሪያው ሰሌዳ ላይ ይገኛል።

ወረዳው እንደ አማራጭ እና በጣም ቀላል እንደመሆኑ ፣ እኔ ንድፍ አልፈጠርኩም። በቂ ፍላጎት ካለ ፣ በኋላ ላይ ማከል እችላለሁ።

ደረጃ 12 - አማራጭ የ RF አገናኝ

አማራጭ የ RF አገናኝ
አማራጭ የ RF አገናኝ
አማራጭ የ RF አገናኝ
አማራጭ የ RF አገናኝ
አማራጭ የ RF አገናኝ
አማራጭ የ RF አገናኝ

ፕሮጀክቱ ከተጠናቀቀ በኋላ ብዙም ሳይቆይ ብዙ የ 220 ቮ ኤሲ ሽቦን ወደ ሰዓት ቆጣሪ መሳብ እንዳለብኝ ተገነዘብኩ። ሰዓት ቆጣሪው ወደ ቁም ሣጥን ውስጥ እንዲገባ እና የጣሪያው ውስጥ የቅብብሎሽ ሰሌዳዎች ለሁሉም 220 ቮ ሽቦዎች ቅርብ እንዲሆኑ የሚያስችለውን መደበኛ የ 315 ሜኸ ሞጁሎችን በመጠቀም የ RF አገናኝን አዘጋጀሁ።

አገናኙ በ 16 ሜኸ የሚሄድ AtMega328P ን ይጠቀማል። ለሁለቱም አስተላላፊ እና ተቀባዩ ሶፍትዌሩ አንድ ነው ፣ እና ሁነታው በአነስተኛ ዝላይ ተመርጧል።

አስተላላፊ

አስተላላፊው በቀላሉ ወደ ሲፒዩ I2C ወደብ ተሰክቷል። AtMega328P እንደ I2C ቅብብል ሰሌዳዎች ተመሳሳይ ውሂብ ስለሚያዳምጥ ተጨማሪ ማዋቀር አያስፈልግም።

መረጃ በ I2C ወደብ ላይ በሰከንድ አንድ ጊዜ ይዘምናል ፣ እና አስተላላፊው ይህንን መረጃ በ RF አገናኝ ላይ ይልካል። አስተላላፊው የ I2C መረጃን ለ 30 ሰከንዶች ያህል የማይቀበል ከሆነ አስተላላፊው ሁሉንም ማስተላለፊያዎች ወደ ተቀባዩ አሃድ ለማጥፋት መረጃውን ያለማቋረጥ ያስተላልፋል።

ወደ አስተላላፊው ሞጁል ኃይል በፒሲ ቦርድ ላይ በትንሽ ዝላይ በ 12 ቮ እና 5 ቮ መካከል ሊመረጥ ይችላል። እኔ 12 ቮን በመጠቀም አስተላላፊዬን ኃይል እሰጣለሁ።

ተቀባይ

ተቀባዩ ከአስተላላፊው የኮድ መረጃን ያዳምጣል ፣ እና ውሂቡን በ I2C ወደብ ላይ ያስቀምጣል። የቅብብሎሽ ሰሌዳው በቀላሉ በዚህ ወደብ ላይ ይሰካል ፣ እና በሲፒዩ ቦርድ ውስጥ እንደተሰካ ተመሳሳይ ይሠራል።

ተቀባዩ ለ 30 ሰከንዶች ትክክለኛ ውሂብን የማይቀበል ከሆነ ፣ በቅብብሎሽ ሰሌዳዎች ላይ ያሉትን ሁሉንም ማስተላለፊያዎች ለማጥፋት ተቀባዩ በ I2C ወደብ ላይ ያለማቋረጥ መረጃ ይልካል።

መርሃግብሮች

አንድ ቀን ፣ ለእሱ ፍላጎት ካለ። የአርዱዲኖ ንድፍ የወረዳ ንድፍ ሳይኖር ወረዳውን ለመገንባት ሁሉንም አስፈላጊ መረጃዎች ይ doesል።

ክልል

በእኔ ጭነት ውስጥ አስተላላፊው እና ተቀባዩ ወደ 10 ሜትር ያህል ርቀት ላይ ናቸው። ሰዓት ቆጣሪው በእቃ መጫኛ ሳጥኑ ውስጥ ነው ፣ እና የማስተላለፊያ አሃዱ በጣሪያው አናት ላይ ነው።

ደረጃ 13 የመጨረሻ ምርት

የመጨረሻ ምርት
የመጨረሻ ምርት
የመጨረሻ ምርት
የመጨረሻ ምርት
የመጨረሻ ምርት
የመጨረሻ ምርት

ዋናው ክፍል በአሮጌ የፕሮጀክት ሳጥን ውስጥ ተጭኗል። የሚከተሉትን ይ containsል።

- 220V/12V ትራንስፎርመር

- የኃይል አቅርቦት ቦርድ

- ሲፒዩ ቦርድ

- ኤልሲዲ ማሳያ

- የቁልፍ ሰሌዳ

- የ RF አገናኝ አስተላላፊ

- በርቀት መቆጣጠሪያው በኩል መብራቶችን/ማብራት/ማብራት እንዲችሉ ተጨማሪ የቤት የርቀት መቀበያ ክፍል

የቅብብሎሽ ክፍሉ የሚከተሉትን ያጠቃልላል

- 220V/12V ትራንስፎርመር

- የኃይል አቅርቦት ቦርድ

- የ RF አገናኝ ተቀባይ

- 2 x I2C ቅብብል ቦርዶች

ሁሉም ሰሌዳዎች እሱ ተመሳሳይ በሆነ ስፋት የተነደፉ ሲሆን ይህም በ 3 ሚሜ ስፔሰሮች እርስ በእርስ በላያቸው ላይ መደርደር ቀላል ያደርገዋል።

የሚመከር: