ዝርዝር ሁኔታ:

Nixie Bargraph ሰዓት: 6 ደረጃዎች (ከስዕሎች ጋር)
Nixie Bargraph ሰዓት: 6 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: Nixie Bargraph ሰዓት: 6 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: Nixie Bargraph ሰዓት: 6 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: IN9-Nixie Bargraph Thermometer 2024, ሀምሌ
Anonim
Nixie Bargraph ሰዓት
Nixie Bargraph ሰዓት
Nixie Bargraph ሰዓት
Nixie Bargraph ሰዓት

በ Kickstarter እገዛ አሁን ለዚህ የሰዓት ኪት ኪት አወጣሁ! የመንጃ ቦርድ እና 2 Nixie IN-9 ቱቦዎችን ያካትታል። ማከል የሚያስፈልግዎት ነገር ቢኖር የራስዎ አርዱዲኖ/Raspberry Pi/ሌላ ነው። ኪት ሊገኝ ይችላል ግን በዚህ አገናኝ ላይ ጠቅ ያድርጉ!

ስለዚህ በመስመር ላይ ብዙ የኒክስ ሰዓቶችን አይቻለሁ እና እነሱ በጣም ጥሩ ይመስሉ ነበር ፣ ሆኖም ግን ቱቦዎችን እንኳን በማይጨምር ሰዓት ላይ $ 100+ ማውጣት አልፈልግም ነበር! እና ወረዳዎች። በአጠቃላይ በጣም ተመሳሳይ ከሚመስሉ የኒክስ ሰዓቶች ወደ ትልቅ ክልል ትንሽ የተለየ ነገር ለማድረግ ፈልጌ ነበር። በመጨረሻ የ Nixie IN-9 ባርግራፍ ቱቦዎችን ለመጠቀም መርጫለሁ። እነዚህ ረዥም ቀጭን ቱቦዎች ናቸው እና የሚያብረቀርቅ ፕላዝማ ቁመት በቧንቧዎቹ በኩል ባለው የአሁኑ ላይ የተመሠረተ ነው። በግራ በኩል ያለው ቱቦ በሰዓት ጭማሪ ሲሆን በቀኝ በኩል ያለው ቱቦ በደቂቃዎች ውስጥ ነው። እነሱ ሁለት እርሳሶች ብቻ አሏቸው እና ስለዚህ ወረዳውን የበለጠ ቀጥታ ወደ ፊት ያደርጉታል። በዚህ ንድፍ ውስጥ የአንድ ሰዓት እና የአንድ ደቂቃ ቱቦ አለ ፣ በእያንዳንዱ ቱቦ ውስጥ የፕላዝማው ከፍታ የአሁኑን ጊዜ ይወክላል። ጊዜው የአዳፍ ፍሬ ትሪኬት ማይክሮ መቆጣጠሪያ እና የእውነተኛ ሰዓት ሰዓት (RTC) በመጠቀም ይቀመጣል።

ደረጃ 1: ክፍሎቹን መሰብሰብ

ክፍሎቹን ማቀናጀት
ክፍሎቹን ማቀናጀት

ሁለት ክፍሎች አሉ ፣ የመጀመሪያው ኤሌክትሮኒክስ እና ሁለተኛው መጫኛ እና ማጠናቀቅ። የሚያስፈልጉት የኤሌክትሮኒክስ ክፍሎች - አዳፍ ፍሬው ትሪኔት 5 ቪ - 7.95 ዶላር (www.adafruit.com/products/1501) Adafruit RTC - $ 9 (www.adafruit.com/products/264) 2x Nixie IN -9 bargraph ~ $ 3 በአንድ ቱቦ በ eBay 1x Nixie 140v የኃይል አቅርቦት ~ $ 12 በ eBay 4x 47 uF ኤሌክትሮላይት capacitors 4x 3.9 kOhm resistors 2x 1 kOhm potentiometer 2x ትራንዚስተር MJE340 NPN ከፍተኛ ቮልቴጅ ~ $ 1 እያንዳንዱ 1x LM7805 5v ተቆጣጣሪ ~ $ 1 1x 2.1mm ሶኬት ~ $ 1 1x የፕሮጀክት ሳጥን በፒሲቢ ~ $ 5 12v የዲሲ የኃይል አቅርቦት (ከረጅም ጊዜ ከተረሳ መግብር አንድ አሮጌ አገኘሁ) ፣ ማያያዣ ሽቦ ፣ ወዘተ መጫኛ - ኤሌክትሮኒክስን በትንሽ ጥቁር የፕላስቲክ ፕሮጀክት ሳጥን ውስጥ ለመጫን ወሰንኩ ፣ ከዚያም ቱቦዎቹን በጥንታዊ የሰዓት እንቅስቃሴ ላይ ለመጫን ወሰንኩ። ሰዓቱን እና ደቂቃዎቹን ለማመልከት በቧንቧዎቹ ዙሪያ የታሸገ የመዳብ ሽቦ እጠቀማለሁ። የመጫኛ ክፍሎች - ጥንታዊ የሰዓት እንቅስቃሴ - $ 10 የ eBay የመዳብ ሽቦ - $ 3 eBay ሙቅ ሙጫ ጠመንጃ

ደረጃ 2 - ወረዳ

ወረዳ
ወረዳ
ወረዳ
ወረዳ
ወረዳ
ወረዳ
ወረዳ
ወረዳ

የመጀመሪያው እርምጃ የኒክሲ የኃይል አቅርቦትን መገንባት ነው። ይህ ከ eBay እንደ ትንሽ ትንሽ ኪት ሆኖ መጣ ፣ ትንሽ ፒሲቢን ጨምሮ እና ለቦርዱ እንዲሸጡ የሚያስፈልጉትን ክፍሎች ብቻ ይፈልጋል። ይህ ልዩ አቅርቦት በቦርዱ ላይ ካለው ትንሽ ማሰሮ ጋር በ 110-180 ቪ መካከል ተለዋዋጭ ነው። አነስተኛ የሾፌር ሾፌር በመጠቀም ውጤቱን ወደ ~ 140v ያስተካክሉት። ወደ ሙሉው መንገድ ከመሄዴ በፊት የኒሲዬ ቱቦዎቼን ለመፈተሽ ፈለግኩ ፣ ይህንን ለማድረግ አንድ ቱቦ ፣ ትራንዚስተር እና በዙሪያዬ ያኖርኩትን 10 ኪ potentiometer በመጠቀም ቀለል ያለ የሙከራ ወረዳ ሠራሁ። በመጀመሪያው አኃዝ ውስጥ እንደሚታየው ፣ የ 140 ቪ አቅርቦት ከቱቦ አኖድ (የቀኝ እግር) ጋር ተያይ isል። ከዚያ ካቶድ (የግራ እግር) ከ MJE340 ትራንዚስተር ሰብሳቢ እግር ጋር ተገናኝቷል። የ 5 ቪ አቅርቦት ወደ ትራንዚስተር መሠረት ከመሬት ከሚከፈል 10 ኪ ማሰሮ ጋር ተገናኝቷል። በመጨረሻም ትራንዚስተር አመንጪው በ 300 ohm የአሁኑ የመገደብ ተከላካይ ወደ መሬት በኩል ይገናኛል። ትራንዚስተሮችን እና የኤሌክትሮኒክስ ዕቃዎችን የማያውቁ ከሆነ ምንም ፋይዳ የለውም ፣ ሽቦ ብቻ ያድርጉት እና የፕላዝማውን ቁመት ከድስት ማሰሮ ይለውጡ! ያ አንዴ እየሰራ እኛ የእኛን ሰዓት መስራት መመልከት እንችላለን። የሙሉ ሰዓት ዑደት በሁለተኛው የወረዳ ዲያግራም ውስጥ ሊታይ ይችላል። ከአንዳንድ ምርምር በኋላ እኔ ማድረግ የፈለኩትን በትክክል እያደረገ በአዳፍ ፍሬም መማር ድርጣቢያ ላይ ፍጹም አጋዥ አገኘሁ። ትምህርቱ እዚህ ይገኛል https://learn.adafruit.com/trinket-powered-analog-m… ይህ መማሪያ ሁለት የአናሎግ አምፖሎችን ለመቆጣጠር የ Trinket መቆጣጠሪያ እና RTC ን ይጠቀማል። የመርፌውን ማዞር ለመቆጣጠር የ pulse width modulation (PWM) በመጠቀም። የኤምኤፒ ሜትር ጠመዝማዛ PWM ን ወደ ውጤታማ የዲሲ ምልክት ያስተላልፋል። ሆኖም ቱቦዎቹን ለማሽከርከር በቀጥታ PWM ን የምንጠቀም ከሆነ ከፍተኛ ድግግሞሽ ማወዛወዝ የፕላዝማ አሞሌ ወደ ቱቦው መሠረት “ተጣብቆ” ይቆያል እና የሚያንዣብብ አሞሌ ይኖርዎታል። ይህንን ለማስቀረት የዲ.ሲ.ሲ ምልክት ለማግኘት ረጅም የማለፊያ ማጣሪያን በመጠቀም ዝቅተኛ የማለፊያ ማጣሪያን በመጠቀም PWM ን በአማካይ አገኘሁት። ይህ የ 0.8 Hz የመቁረጫ ድግግሞሽ አለው ፣ የሰዓት ሰዓቱን በየ 5 ሰከንዶች ብቻ በማዘመን ላይ ይህ ጥሩ ነው። በተጨማሪም የባርፎግራፎች ውስን የሕይወት ዘመን ስላላቸው እና መተካት ሊያስፈልጋቸው ስለሚችል እና እያንዳንዱ ቱቦ በትክክል አንድ አይነት አይደለም ከቧንቧው በኋላ 1 ኪ ድስት አካትቻለሁ። ይህ መለዋወጥ ለሁለቱ ቱቦዎች የፕላዝማውን ቁመት ለማስተካከል ያስችላል። ትሪኬትን ከእውነተኛ ሰዓት ሰዓት (RCT) ጋር ለማገናኘት ትሪኔት-ፒን 0 ን ከ RTC-SDA ፣ ትሪኔት-ፒን 2 ከ RTC-SCL እና ትሪኔት -5 ቮ ወደ RTC-5v እና ትሪኔት GND ን ወደ RTC መሬት ያገናኙ። ለዚህ ክፍል የአዳፍ ፍሬ የሰዓት መመሪያን ፣ https://learn.adafruit.com/trinket-powered-analog-… የሚለውን መመልከት ጠቃሚ ሊሆን ይችላል። አንዴ ትሪኔት እና አርኤቲሲ በትክክል ከተገጠሙ ፣ የወረዳውን ንድፍ በጥንቃቄ በመከተል የኒክስ ቱቦዎችን ፣ ትራንዚስተሮችን ፣ ማጣሪያዎችን ወዘተ በዳቦ ሰሌዳ ላይ ያሽጉ።

RTC እና ትሪኔት እያወሩ ለማግኘት በመጀመሪያ ትክክለኛውን ቤተ -መጽሐፍትን ከአዳፍ ፍሬው ጊቱብ ማውረድ ያስፈልግዎታል። TinyWireM.h እና TInyRTClib.h ያስፈልግዎታል። በመጀመሪያ ቱቦዎቹን ማመጣጠን እንፈልጋለን ፣ በዚህ አስተማሪ መጨረሻ ላይ የመለኪያውን ንድፍ ይስቀሉ። በመጨረሻው ላይ ያሉት ሁለቱም ንድፎች ካልሠሩ ታዲያ የአዳፍ ፍሬው የሰዓት ንድፍን ይሞክሩ። ከኒክስ ቱቦዎች ጋር በጣም ውጤታማ በሆነ መልኩ እንዲሠራ የአዳፍ ፍሬው የሰዓት ንድፍን አስተካክዬአለሁ ፣ ግን የአዳፍሬው ረቂቅ በጥሩ ሁኔታ ይሠራል።

ደረጃ 3: መለካት

መለካት
መለካት

አንዴ የመለኪያ ንድፉን ከሰቀሉ ምረቃዎቹ ምልክት መደረግ አለባቸው።

ለካሊብሬሽን ሦስት ሁነታዎች አሉ ፣ የመጀመሪያው ሁለቱንም የኒክስ ቧንቧዎች ወደ ከፍተኛው ውጤት ያዘጋጃል። በሁለቱም ቱቦዎች ውስጥ ያለው የፕላዝማ ቁመት አንድ እንዲሆን እና ከከፍተኛው ከፍታ ትንሽ በታች እንዲሆን ድስቱን ለማስተካከል ይህንን ይጠቀሙ። ይህ ምላሹ በጠቅላላው የሰዓት ክልል ላይ መስመራዊ መሆኑን ያረጋግጣል።

ሁለተኛው ቅንብር የደቂቃዎች ቱቦውን ያስተካክላል። በየ 5 ሰከንዶች በ 0 ፣ 15 ፣ 30 ፣ 45 እና 60 ደቂቃዎች መካከል ይለወጣል።

የመጨረሻው ቅንብር ይህንን ለእያንዳንዱ ሰዓት ጭማሪ ይደግማል። ከአዳፍ ፍሬው ሰዓት በተቃራኒ የሰዓት አመልካች በየሰዓቱ አንድ ጊዜ በቋሚ ጭማሪዎች ይንቀሳቀሳል። የአናሎግ ቆጣሪ በሚጠቀሙበት ጊዜ ለእያንዳንዱ ሰዓት መስመራዊ ምላሽ ማግኘት አስቸጋሪ ነበር።

አንዴ ድስቱን ካስተካከሉ በኋላ ለደቂቃዎች ለመለካት ንድፉን ይስቀሉ። ቀጭን የመዳብ ሽቦ ይውሰዱ እና አጭር ርዝመት ይቁረጡ። ይህንን በቱቦ ዙሪያ ጠቅልለው ሁለቱን ጫፎች አንድ ላይ ያጣምሩት። ይህንን ወደ ትክክለኛው ቦታ ያንሸራትቱ እና ትኩስ ሙጫ ጠመንጃ በመጠቀም በትክክለኛው ቦታ ላይ ለማቆየት ትንሽ ሙጫ ያስቀምጡ። ለእያንዳንዱ ደቂቃ እና ሰዓት ጭማሪ ይህንን ይድገሙት።

የዚህን ሂደት ማንኛውንም ፎቶግራፎች ማንሳት ረሳሁ ግን ሽቦው እንዴት እንደተያያዘ ከስዕሎቹ ማየት ይችላሉ። ሽቦውን ለማያያዝ ብቻ በጣም ያነሰ ሙጫ ብጠቀምም።

ደረጃ 4: መጫኛ እና ማጠናቀቅ

መጫኛ እና ማጠናቀቅ
መጫኛ እና ማጠናቀቅ
መጫኛ እና ማጠናቀቅ
መጫኛ እና ማጠናቀቅ
መጫኛ እና ማጠናቀቅ
መጫኛ እና ማጠናቀቅ

ቱቦዎቹ አንዴ ከተስተካከሉ እና ሲሠሩ ወረዳውን በቋሚነት ለመስራት እና በሆነ መሠረት ላይ ለመጫን ጊዜው አሁን ነው። የጥንት ፣ የ 60 ዎቹ እና የዘመናዊ ቴክኖሎጂን ድብልቅ እንደወደድኩ የጥንት የሰዓት እንቅስቃሴን እመርጣለሁ። ከዳቦ ሰሌዳ ወደ እርቃን ሰሌዳ ሲሸጋገሩ በጣም ይጠንቀቁ እና ሁሉም ግንኙነቶች መገናኘታቸውን ለማረጋገጥ ጊዜዎን ይውሰዱ። የገዛሁት ሣጥን ትንሽ ነበር ነገር ግን አንዳንድ ጥንቃቄ በተሞላበት ምደባ እና በጥቂቱ በማስገደድ ሁሉንም ለማስማማት ችዬ ነበር። ለኃይል አቅርቦቱ በጎን በኩል ጉድጓድ ቆፍሬ ሌላ ለኒክስ እርሳሶች። ምንም አጫጭር ነገሮችን ላለማስቀረት የኒክስ ሽቦዎችን በሙቀት መቀነስ ሸፈንኩ። ኤሌክትሮኒክስ በሳጥኑ ውስጥ ሲሰካ ከሰዓት እንቅስቃሴው ጀርባ ጋር ያያይዙት። ቱቦዎቹን ለመትከል ትኩስ ሙጫ ተጠቅሜ የተጠማዘዘ ሽቦ ነጥቦቹን በቀጥታ ከብረት ጋር አጣበቅኩ። ምናልባት ብዙ ሙጫ እጠቀም ነበር ፣ ግን ብዙም ትኩረት የሚስብ አይደለም። ለወደፊቱ ሊሻሻል የሚችል ነገር ሊሆን ይችላል። ሁሉም ከፍ ሲል ፣ በዚህ አስተማሪ መጨረሻ ላይ የኒክስ ሰዓት ንድፍን ይጫኑ እና የእርስዎን ተወዳጅ አዲስ ሰዓት ያደንቁ!

ደረጃ 5: አርዱዲኖ ንድፍ - መለካት

#በስርዓት GPIO #1 ላይ በ PWM በኩል የ HOUR_PIN 1 // የሰዓት ማሳያ

#መግለፅ MINUTE_PIN 4 // ደቂቃ ማሳያ በ PWM በኩል በ Trinket GPIO #4 (በሰዓት ቆጣሪ 1 ጥሪዎች በኩል)

int ሰዓታት = 57; int ደቂቃዎች = 57; // ዝቅተኛ pwm ን ያዘጋጁ

ባዶነት ማዋቀር () {pinMode (HOUR_PIN ፣ OUTPUT) ፤ pinMode (MINUTE_PIN ፣ OUTPUT); PWM4_init (); // የ PWM ውጤቶችን ያዋቅሩ

}

ባዶነት loop () {// ከፍተኛው የቧንቧ ቁመት ከአናሎግ ጋር የሚዛመድ መሆኑን ለማረጋገጥ የኒክስ ማሰሮዎችን ለማስተካከል ይህንን ይጠቀሙ (HOUR_PIN ፣ 255) ፤ analogWrite4 (255); // የደቂቃ ጭማሪዎችን ለማስተካከል ይህንን ይጠቀሙ

/*

analogWrite4 (57); // ደቂቃ 0 መዘግየት (5000); analogWrite4 (107); // ደቂቃ 15 መዘግየት (5000); analogWrite4 (156); // ደቂቃ 30 መዘግየት (5000); analogWrite4 (206); // ደቂቃ 45 መዘግየት (5000); analogWrite4 (255); // ደቂቃ 60 መዘግየት (5000);

*/

// የሰዓት ጭማሪዎችን /* ለማስተካከል ይህንን ይጠቀሙ /*

አናሎግ ፃፍ (HOUR_PIN ፣ 57); // 57 ዝቅተኛው ውጤት ሲሆን ከጠዋቱ 1 ሰዓት/ከሰዓት መዘግየት (4000) ጋር ይዛመዳል። // መዘግየት 4 ሰከንዶች አናሎግ ጻፍ (HOUR_PIN ፣ 75); // 75 ከጠዋቱ 2 ሰዓት/ከሰዓት መዘግየት (4000) ጋር የሚዛመድ ውጤት ነው። አናሎግ ፃፍ (HOUR_PIN ፣ 93); // 93 ከ 3 ጥዋት/ከሰዓት መዘግየት (4000) ጋር የሚዛመድ ውፅዓት ነው። አናሎግ ፃፍ (HOUR_PIN ፣ 111); // 111 ከጠዋቱ 4 ሰዓት/ከሰዓት መዘግየት (4000) ጋር የሚዛመድ ውፅዓት ነው። አናሎግ ፃፍ (HOUR_PIN ፣ 129); // 129 ከ 5 ጥዋት/ከሰዓት መዘግየት (4000) ጋር የሚዛመድ ውፅዓት ነው። አናሎግ ፃፍ (HOUR_PIN ፣ 147); // 147 ከ 6 ጥዋት/ከሰዓት መዘግየት (4000) ጋር የሚዛመድ ውፅዓት ነው። አናሎግ ፃፍ (HOUR_PIN ፣ 165); // 165 ከ 7 ጥዋት/ከሰዓት መዘግየት (4000) ጋር የሚዛመድ ውፅዓት ነው። አናሎግ ፃፍ (HOUR_PIN ፣ 183); // 183 ከ 8 ጥዋት/ከሰዓት መዘግየት (4000) ጋር የሚዛመድ ውፅዓት ነው። አናሎግ ፃፍ (HOUR_PIN ፣ 201); // 201 ከ 9 ጥዋት/ከሰዓት መዘግየት (4000) ጋር የሚዛመድ ውፅዓት ነው። አናሎግ ፃፍ (HOUR_PIN ፣ 219); // 219 ከ 10 ጥዋት/ከሰዓት መዘግየት (4000) ጋር የሚዛመድ ውፅዓት ነው። አናሎግ ፃፍ (HOUR_PIN ፣ 237); // 237 ከ 11 ጥዋት/ከሰዓት መዘግየት (4000) ጋር የሚዛመድ ውፅዓት ነው። አናሎግ ፃፍ (HOUR_PIN ፣ 255); // 255 ከጠዋቱ 12 ሰዓት/ከሰዓት ጋር የሚዛመድ ውፅዓት ነው

*/

}

ባዶ PWM4_init () {// ሰዓት ቆጣሪ 1 TCCR1 = _BV (CS10) ን በመጠቀም በ Trinket GPIO #4 (PB4 ፣ pin 3) ላይ PWM ን ያዋቅሩ ፤ // ምንም ቅድመ -ጠባቂ GTCCR = _BV (COM1B1) | _BV (PWM1B); // በማነፃፀር OC1B ን ያፅዱ OCR1B = 127; // የግዴታ ዑደት ወደ 50% OCR1C = 255 ይጀምራል። // ድግግሞሽ}

// በአናሎግ ጽሁፍ በ Trinket GPIO #4 ላይ ባዶ analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // ግዴታ ከ 0 እስከ 255 (ከ 0 እስከ 100%)} ሊሆን ይችላል

ደረጃ 6: አርዱዲኖ ንድፍ - ሰዓት

// Adafruit Trinket የአናሎግ ሜትር ሰዓት

// በ I2C እና በ TinyWireM lib በኩል የተገናኘ DS1307 RTC ን በመጠቀም የቀን እና የጊዜ ተግባራት

// እነዚህን ቤተ -መጻሕፍት ከአዳፍ ፍሬቱ ጊቱብ ማከማቻ ያውርዱ እና // በአርዱዲኖ ቤተ -መጽሐፍት ማውጫዎ ውስጥ ይጫኑ #ያካትቱ #ያካትቱ

// ለማረም ፣ ለማይታወቅ ተከታታይ ኮድ ፣ ከፒን 3 ጋር የተገናኘውን የ RX ፒኑን በመጠቀም የኤፍቲዲአይ ጓደኛን ይጠቀሙ/በ ‹000000› ወደ የኤፍቲዲአይ ወዳጁ የዩኤስቢ ወደብ የተቀመጠ ተርሚናል ፕሮግራም (እንደ ፍሪዌር PuTTY ለዊንዶውስ) ያስፈልግዎታል። ባውድ። Uncomment out ተከታታይ ትዕዛዞችን ምን እንደሆነ ለማየት // #HOUR_PIN 1 // የሰዓት ማሳያ በ PWM በኩል በ Trinket GPIO #1 #ዲፊኔ MINUTE_PIN 4 // ደቂቃ ማሳያ በ PWM በኩል በ Trinket GPIO #4 (በሰዓት ቆጣሪ 1 ጥሪዎች) // SendOnlySoftwareSial Serial (3); // በትሪኔት ፒን 3 RTC_DS1307 rtc ላይ ተከታታይ ስርጭት; // የእውነተኛ ሰዓት ሰዓት ያዘጋጁ

ባዶነት ማዋቀር () {pinMode (HOUR_PIN ፣ OUTPUT) ፤ // የ PWM ሜትር ፒኖችን እንደ ውፅዓት ፒን ሞዶ (MINUTE_PIN ፣ OUTPUT) ይግለጹ ፤ PWM4_init (); // በትሪኔት ፒን 4 TinyWireM.begin () ላይ PWM እንዲሠራ ሰዓት ቆጣሪ 1 ን ያዘጋጁ። // I2C rtc.begin () ይጀምሩ; // DS1307 የእውነተኛ ሰዓት ሰዓት //Serial.begin(9600) ይጀምሩ; // (! Rtc.isrunning ()) {//Serial.println("RTC እያሄደ አይደለም! ") ከሆነ ተከታታይ ክትትል በ 9600 ባውድ ይጀምሩ። // የሚከተለው መስመር RTC ን ወደ rtc.adjust (DateTime (_ DATE_ ፣ _TIME_)) የተሰበሰበበትን ቀን እና ሰዓት RTC ያዘጋጃል። }}

ባዶነት loop () {uint8_t ሰዓት ዋጋ ፣ ደቂቃ ዋጋ; uint8_t የሰዓት ቮልቴጅ ፣ የደቂቃ ኃይል;

DateTime now = rtc.now (); // የ RTC መረጃ ሰዓት ዋጋን = now.hour () ያግኙ ፤ // ሰዓቱን ያግኙ (የሰዓት ዋጋ> 12) የሰዓት ዋጋ -= 12; // ይህ ሰዓት የ 12 ሰዓት ደቂቃ ዋጋ = አሁን። ደቂቃ (); // ደቂቃዎቹን ያግኙ

ደቂቃ ቮልቴጅ = ካርታ (ደቂቃ እሴት ፣ 1 ፣ 60 ፣ 57 ፣ 255); // ደቂቃዎችን ወደ PWM የግዴታ ዑደት ይለውጡ

ከሆነ (የሰዓት እሴት == 1) {analogWrite (HOUR_PIN ፣ 57) ፤ } ከሆነ (የሰዓት እሴት == 2) {analogWrite (HOUR_PIN ፣ 75) ፤ // እያንዳንዱ ሰዓት ከ +18} ጋር ይዛመዳል (hourvalue == 3) {analogWrite (HOUR_PIN ፣ 91) ፤ }

ከሆነ (የሰዓት እሴት == 4) {analogWrite (HOUR_PIN ፣ 111) ፤ } ከሆነ (የሰዓት እሴት == 5) {analogWrite (HOUR_PIN ፣ 126) ፤ } ከሆነ (የሰዓት እሴት == 6) {analogWrite (HOUR_PIN ፣ 147) ፤ } ከሆነ (የሰዓት እሴት == 7) {analogWrite (HOUR_PIN ፣ 165) ፤ } ከሆነ (የሰዓት እሴት == 8) {analogWrite (HOUR_PIN ፣ 183) ፤ } ከሆነ (የሰዓት እሴት == 9) {analogWrite (HOUR_PIN ፣ 201) ፤ } ከሆነ (የሰዓት እሴት == 10) {analogWrite (HOUR_PIN ፣ 215) ፤ } ከሆነ (የሰዓት እሴት == 11) {analogWrite (HOUR_PIN ፣ 237) ፤ } ከሆነ (የሰዓት እሴት == 12) {analogWrite (HOUR_PIN ፣ 255) ፤ }

analogWrite4 (ደቂቃ ቮልቴጅ); // ደቂቃ አናሎግ መጻፍ እንደ ካርታ ሥራው ተመሳሳይ ሆኖ ሊቆይ ይችላል/ ፕሮጄክተሩ እንዲተኛ ለማድረግ ኮዱ ተመራጭ ሊሆን ይችላል - መዘግየትን እንዘገያለን (5000) ፤ // በየ 5 ሰከንዶች ጊዜን ይፈትሹ። ይህንን መለወጥ ይችላሉ። }

ባዶ PWM4_init () {// ሰዓት ቆጣሪ 1 TCCR1 = _BV (CS10) ን በመጠቀም በ Trinket GPIO #4 (PB4 ፣ pin 3) ላይ PWM ን ያዋቅሩ ፤ // ምንም ቅድመ -ጠባቂ GTCCR = _BV (COM1B1) | _BV (PWM1B); // በማነጻጸር OC1B ን ያፅዱ OCR1B = 127; // የግዴታ ዑደት ወደ 50% OCR1C = 255 ይጀምራል። // ድግግሞሽ}

// በአናሎግ ፃፍ በ Trinket GPIO #4 ላይ ባዶ analogWrite4 (uint8_t duty_value) {OCR1B = ግዴታ_ቫል; // ግዴታ ከ 0 እስከ 255 (ከ 0 እስከ 100%)} ሊሆን ይችላል

የሚመከር: