ዝርዝር ሁኔታ:
- ደረጃ 1 ቁሳቁሶች እና ግንባታ
- ደረጃ 2 - AVR ን ወደ LEDs እና ድምጽ ማጉያ መሸጥ
- ደረጃ 3 - Attiny13a ን ፕሮግራም ማድረግ
- ደረጃ 4: ለማሪዮማን የጽኑዌር መፍጠር
- ደረጃ 5: ማሪዮማን እንዲፈታ መፍቀድ
ቪዲዮ: ብልጭ ድርግም ፣ ዘፈን ፣ ማሪዮማን 5 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:34
የሱፐር ማሪዮ ወንድሞች ጭብጥ ዘፈን የሚጫወት ብልጭ ድርግም የሚል ማሪዮማን ለመፍጠር attiny13a ን ፣ ሁለት ኤልኢዲዎችን እና የሰላምታ ካርድ ድምጽ ማጉያ ይጠቀሙ። ይህ ወደ AVR መርሃ ግብር ለመግባት አስደሳች መንገድ ለሚፈልግ ሁሉ ቀላል ዝቅተኛ ዋጋ ያለው ፕሮጀክት ሊሆን ይችላል! የዘፈኖቹ ማስታወሻዎች የሚመነጩት በ AVR ማይክሮ መቆጣጠሪያ በአንድ ፒን ላይ በሚወጣው የካሬ ሞገድ ነው። በእያንዳንዱ ማስታወሻ ላይ የሚቀያየሩ ኤልኢዲዎች እያንዳንዳቸው ከተመሳሳይ ቺፕ 2 ፒኖች ጋር ተገናኝተዋል።
ደረጃ 1 ቁሳቁሶች እና ግንባታ
1 attiny13a
www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMvu0Nwh4cA1wRKJzS2Lmyk%252bEP0e%2f7dEeq0%3d ዋጋ $ 1.40
- 2 ኤልኢዲዎች - ማንኛውም ኤልኢዲዎች ያደርጉታል
- 1 ሊቲየም ሳንቲም ሴል ባትሪ
www.sparkfun.com/commerce/product_info.php?products_id=338 ዋጋ $ 2.00
1 ሳንቲም ሴል ያዥ
www.sparkfun.com/commerce/product_info.php?products_id=8822 ዋጋ $ 1.25
ከሙዚቃ ሰላምታ ካርድ 1 ትንሽ ተናጋሪ
የቁሳቁሶች ጠቅላላ ዋጋ ~ $ 5 ሁለቱ ኤልኢዲዎች እያንዳንዳቸው attiny13A ላይ በቀጥታ በሁለት ፒን ተያይዘዋል። ለእያንዳንዱ ኤልኢዲ ሁለት ፒኖች ጥቅም ላይ ይውላሉ ፣ ሁለተኛው ፒን እንደ መሬት ግንኙነት ለመጠቀም ዝቅተኛ ነው። በኤአርአይ ላይ ያለው የ I/O ፒኖች የአሁኑ ወሰን ኤልዲዎቹ በጣም እንዳይስሉ ይከለክላል ስለዚህ ተከላካይ ለመገናኘት አስፈላጊ አይደለም። ተጠቀም ተናጋሪው በሙዚቃ ሰላምታ ካርድ ውስጥ ከተገኘው የተለመደ ነው ፣ ማንኛውም ትንሽ ተናጋሪ ያደርገዋል ፣ ይህ የካሬ ሞገድ ድምጽን እያወጣ ስለሆነ ፣ ተናጋሪውን ወይም የድምፅ ጥራት መንዳት መጨነቅ በጣም አስፈላጊ አይደለም።
ደረጃ 2 - AVR ን ወደ LEDs እና ድምጽ ማጉያ መሸጥ
ኤልዲዎቹ እንደ እጆች እንዲዘረጉ አንድ ፒን በእያንዳንዱ ጎን በ AVR ላይ ተጣብቋል። በዚህ መንገድ AVR ን ማዛመድ ግንኙነቱ በሁለቱ የታችኛው ፒኖች ላይ ስለሆነ ከድምጽ ማጉያው (ሁለተኛ ምስል) ጋር መገናኘትን ቀላል ያደርገዋል። ለሥነ -ውበት እርስዎ ቺፕ ፊት ለፊት እንዲፈልጉ ስለሚፈልጉ ተናጋሪው በተመሳሳይ መንገድ እንደሚገጥመው ያረጋግጡ። ተያይ attachedል።
ደረጃ 3 - Attiny13a ን ፕሮግራም ማድረግ
AVRs ን ለማቀናጀት ብዙ አማራጮች አሉ። ለዚህ ፕሮጀክት ዩኤስቢቲን ያገለገለው ከላዳዳ ጣቢያ እንደ ኪት ሆኖ ይገኛል https://www.ladyada.net/make/usbtinyisp/index.html ወይ ሽቦዎችን ከሴቷ ሶኬት ጋር በማያያዝ ወደ የዳቦ ሰሌዳ ላይ ይሰኩ ወይም በተሻለ ሁኔታ እንደዚህ ያለ ርካሽ የ AVR ፕሮግራም አስማሚ ያግኙ።.
ደረጃ 4: ለማሪዮማን የጽኑዌር መፍጠር
Attiny13A 1K በፕሮግራም ሊሠራ የሚችል ብልጭታ ፣ እና 64 ባይት SRAM አለው። የተያያዘው የታር ፋይል ምንጭ ፋይል እንዲሁም ለማውረድ የተጠናከረ firmware አለው። በ ‹ሲ ኮድ› ውስጥ ሶስት ድርድሮች ሙዚቃውን ለማመንጨት ያገለግሉ ነበር።
- freq - የእያንዳንዱ ማስታወሻ ድግግሞሽ
- ርዝመት - የእያንዳንዱ ማስታወሻ ርዝመት
- መዘግየት - በእያንዳንዱ ማስታወሻ መካከል ለአፍታ ያቁሙ
የድግግሞሽ ድርድር ትክክለኛ ድግግሞሾች የሉትም ፣ ግን ይልቁንም በ PTC0 ፒን ፒን ላይ የካሬውን ሞገድ ለማመንጨት በ TTCROB መዝገብ ውስጥ የማስገባት እሴት እዚህ አለ። ለካሬ ሞገድ ትውልድ ስሌቶች እና የፒን ውቅር አጭር ማጠቃለያ እዚህ አለ።
- Attiny13A ወደ 9.6 ሜኸዝ የተቀናጀ ውስጣዊ ማወዛወዝ አለው
- ለ IO ውስጣዊ ሰዓት በ 8 ወይም በ 1.2 ሜኸዝ የተከፋፈለው ማወዛወዝ ነው
- እያንዳንዱ የሰዓት ዑደትን በ 8 ደረጃ ለመቁጠር የውስጥ ሰዓት ቆጣሪ በ 8 ቢት መመዝገቢያ ውስጥ ተዋቅሯል።
- ይህ ከ 1 / (1.2MHz / 8) =.006667ms ጋር እኩል የሆነ አንድ ምልክት ያስከትላል
- Attiny13A በ 8 ቢት TCCR0B መዝገብ ውስጥ ያለውን ነገር ከሰዓት ቆጣሪው ጋር ለማወዳደር እና ሲዛመዱ ፒን ለመቀየር ተዋቅሯል።
- ለምሳሌ ፣ የ 1.908ms ጊዜ ያለው በ 524Hz (ከመካከለኛው C በላይ አንድ ኦክታቭ) ላይ የካሬ ሞገድ ለማመንጨት።
1.908ms = 286 የሰዓት መዥገሮች (1.908/.0067) ፒኑን በ t/2 (286/2 = 143) ለመቀየር 286 ን በ 2 ይከፋፈሉ ይህንን ማስታወሻ ለማመንጨት በ TTCR0B መዝገብ ውስጥ 143 ን ያስቀምጡ። ይህ ሁሉ አስፈላጊው ኮድ ነው። የሰዓት ቆጣሪውን ለማዋቀር ፣ አወዳድር እና ካሬ ሞገድ ያውጡ
TCCR0A | = (1 << WGM01); // ሰዓት ቆጣሪ 1 ለ CTC ሁነታ TCCR0A | = (1 << COM0A0); // በንፅፅር ግጥሚያ ላይ TCR0B | = (1 << CS01) ላይ OC0A ን ይቀያይሩ; // clk/8 prescale TTCR0B = 143; // የካሬ ሞገድ በ 524 HHz ያመነጫልድምጾቹን እና በመካከላቸው ያለውን ለአፍታ ማቆም ለማዘግየት ቀላል የመዘግየት ተግባር ጥቅም ላይ ውሏል
ባዶ እንቅልፍ (int ms) {int cnt; ለ (cnt = 0; cnt <(ms); cnt ++) {int i = 150; ሳለ (i--) {_asm ("NOP"); }}}ይህ እያንዳንዱ የ NOP ዑደት በግምት ከ
const uint8_t freq PROGMEM = {… data} ፤ const uint8_t ርዝመት PROGMEM = {… data} ፤ const uint8_t መዘግየት PROGMEM = {… data} ፤… ሳለ (1) {ለ (cnt = 0; cnt < 156; cnt ++) {OCR0A = pgm_read_byte (& freq [cnt]); output_toggle (PORTB ፣ PB3) ፤ output_toggle (PORTB ፣ PB4) ፤ እንቅልፍ (pgm_read_byte (& ርዝመት [cnt]))); output_toggle (PORTB ፣ PB3) ፤ output_toggle (PORTB ፣ PB4) ፤ // ሰዓት ቆጣሪ TCCR0B = 0; እንቅልፍ (pgm_read_word (& መዘግየት [cnt]))); // ሰዓት ቆጣሪ TCCR0B | = (1 << CS01); // clk/8 prescale}}በድግግሞሽ/ርዝመቶች/መዘግየቶች ድርድሮች ውስጥ 156 አካላት አሉ ፣ ይህ ሉፕ ይተላለፋቸዋል። ፒን PB3 እና PB4 እያንዳንዳቸው ይቀየራሉ ስለዚህ በእያንዳንዱ ማስታወሻ ይለዋወጣሉ የመጀመሪያው እንቅልፍ የ OCR0A መመዝገቢያውን ወደ ተገቢው እሴት ካቀናበርን በኋላ የምንጫወተው የማስታወሻ ርዝመት ነው። ሁለተኛው እንቅልፍ እኛ በምንጫወታቸው ማስታወሻዎች መካከል ለአፍታ ማቆም ነው። ከላይ ባለው ኮድ ውስጥ ሁለቱ ተግባራት pgm_read_byte () እና pgm_read_word () እንዲሁም የቁልፍ ቃል PROGMEM ሊያውቁ ይችላሉ። እንደ ተጣበቀ ቺፕ ጋር የ SRAM መጠን በጣም ውስን ነው ፣ በዚህ ሁኔታ 64 ባይት ብቻ ነው። ለሁሉም የድግግሞሽ/መዘግየት/ርዝመት ውሂብ የምንጠቀምባቸው ድርድሮች ከ 64 ባይት በጣም ትልቅ ስለሆኑ ወደ ማህደረ ትውስታ ሊጫኑ አይችሉም። ልዩ የ PROGMEM avr-gcc መመሪያን በመጠቀም እነዚህ ትላልቅ የውሂብ ድርድሮች ወደ ማህደረ ትውስታ ከመጫን ይከለክላሉ ፣ ይልቁንም ከብልጭታ ይነበባሉ።
ደረጃ 5: ማሪዮማን እንዲፈታ መፍቀድ
ከላይ ያለው ቪዲዮ ማሪዮማን በተግባር ያሳያል። የሊቲየም ሳንቲም ሴሉን ከማፍሰሱ በፊት ለ 10 ሰዓታት ያህል ብልጭ ድርግም ማለት እና ድምፁን ማሰማት ይችላል። ለዚህ ተስማሚ። ማብሪያ / ማጥፊያ ሊታከል ይችላል ፣ ግን ቀለል ለማድረግ ቀላል የሚባል ነገር አለ።
የሚመከር:
ተጓዳኝ ሚኒ ብዙ ቮልታ PSU በዩኤስቢ ፣ ብልጭ ድርግም ፣ ተጓዳኝ ሞካሪ እና ገንቢ-ቻርጅ 6 ደረጃዎች
ተንቀሳቃሽ MINI ብዙ ቮልታ PSU በዩኤስቢ ፣ ብልጭ ድርግም ፣ አብሮ ፈታኝ እና አብሮገነብ ቻርጅ ወደ መጀመሪያው አስተማሪዬ እንኳን በደህና መጡ! በዚህ አስተማሪ (ዶክትሪንግ)/ርካሽ የፀሐይ ኃይል ባንክ (በአንዳንድ ተጨማሪ ክፍሎች) ወደ ጠቃሚ ነገር መለወጥ ይችላሉ። እኔ እንደ እኔ በየቀኑ ሊጠቀሙበት የሚችሉት አንድ ነገር ፣ በእውነት ለመጠቀም በጣም ጥሩ ስለሆነ! አብዛኛው የኤ
Vídeo Tutoriales De Tecnologías Creativas 01: ሰላም ዓለም! ብልጭ ድርግም ፣ Hacemos Parpadear Nuestro Primer Led Con Arduino: 4 ደረጃዎች
Vídeo Tutoriales De Tecnologías Creativas 01: ሰላም ዓለም! ብልጭ ድርግም ፣ Hacemos Parpadear Nuestro Primer Led Con Arduino: En este tutorial vamos a aprender como hacer parpadear (blink) un diodo LED con una placa Arduino Uno. Este ejercicio lo realizaremos mediante simulación y para ello utilizaremos Tinkercad Circuits (utilizando una cuenta gratuita) .A continuación se
StickC M5Stack LED ብልጭ ድርግም: 7 ደረጃዎች
StickC M5Stack LED ብልጭ ድርግም ፦ በዚህ ፕሮጀክት ውስጥ የ M5StickC ESP32 ሞዱልን በመጠቀም እንዴት እንደሚገናኝ እና የ LED ብልጭታ እንደሚሰራ እንማራለን። ቪዲዮውን ይመልከቱ
የ LED ብልጭ ድርግም 555 አይሲን በመጠቀም 5 ደረጃዎች
LED Blinker 555 IC: Hi ጓደኛ ፣ ዛሬ እኔ ሰዓት ቆጣሪ IC 555 ን በመጠቀም የ LED ብልጭ ድርግም እሠራለሁ። እንጀምር ፣
ዘፈን የሚከተል መሪ-ብልጭ ድርግም የሚል ኡሁ-ኦ-ፋኖስ !: 6 ደረጃዎች
ዘፈን-የሚከተል መሪ-ብልጭ ድርግም የሚል ኡሁ-ኦ-ፋኖስ !: ለሚወዱት የሃሎዊን ዘፈን የሚጫወት እና ባለ ብዙ ቀለም ኤልዲዎችን የሚያንፀባርቅ ጃክ-ኦ-ፋኖስ ያድርጉ።