ዝርዝር ሁኔታ:
- ደረጃ 1 የመመዝገቢያ አድራሻዎችን መወሰን
- ደረጃ 2 - ድርድሮች እና ዓለም አቀፍ ተለዋዋጮች
- ደረጃ 3 የ “serial.begin” ተግባር
- ደረጃ 4 “የ serial.available” ተግባር
- ደረጃ 5 የ “serial.read” ተግባር
- ደረጃ 6 “የ serial.write” ተግባር
- ደረጃ 7 - የማዋቀሪያ ተግባር
- ደረጃ 8 - የሉፕ እና የ ISR ተግባራት
- ደረጃ 9 ሽቦ
- ደረጃ 10 - ሁሉንም በአንድ ላይ ማዋሃድ
ቪዲዮ: የአርዱዲኖ ቶን ጄኔሬተር ያለ ቤተ -መጽሐፍት ወይም ተከታታይ ተግባራት (በመቋረጦች) 10 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:33
ይህ በተለምዶ እኔ የማስተምረው ነገር አይደለም ፣ የብረት ሥራዬን እመርጣለሁ ፣ ግን እኔ የኤሌክትሪክ ምህንድስና ተማሪ እንደመሆኔ እና በማይክሮ መቆጣጠሪያዎች (የተከተተ ሲስተም ዲዛይን) ላይ ክፍል መውሰድ ስላለብኝ ፣ እኔ አስተማሪ እሠራለሁ ብዬ አሰብኩ ከኔ ፕሮጀክቶች አንዱ። እኔ መጀመሪያ ፕሮጀክቱን እና ሌሎችን ለዚህ ክፍል በምሠራበት ጊዜ ፣ የአርዱዲኖ ቤተመፃሕፍት ተግባራትን ወይም ተከታታይ ተግባሮችን የማይጠቀሙ አጋዥ ሥልጠናዎች በጣም ጥቂቶች እንደሆኑ አገኘሁ ፣ ይህ እኔ ጥሩ አስተማሪ ይሆናል ብዬ ያሰብኩበት ሌላ ምክንያት ነው።
ይህ ኮድ ለአትሜጋ 2560 ማይክሮ መቆጣጠሪያ የተቀየሰ ነው ፣ ስለዚህ በሌላ ሰሌዳ ላይ ለመተግበር ከፈለጉ በተቆጣጣሪዎችዎ የተጠቃሚ መመሪያ ላይ በመመስረት በኮዱ ውስጥ ያለውን የአድራሻ መመዝገቢያዎች መለወጥ ያስፈልግዎታል። ከኮዱ በስተጀርባ ያለው መሠረታዊ ሀሳብ በቁልፍ ሰሌዳው ላይ ቁልፍን ወደ ተከታታይ ሞኒተር በገቡ ቁጥር አርዱዲኖ ሜጋ በየትኛው ቁልፍ ላይ በመጫን ‹q› ን እንደገና በማስጀመር የተወሰነ ድግግሞሽ ያወጣል። ነገሩ እንዲህ መሆኑን አደረገ "አንድ" ፈቃድ ውጽዓት ወደ አንድ ጠፍጣፋ ድግግሞሽ እና, እና የመሳሰሉት ሲ ሹል ለ ሐ ጠፍጣፋ ለ "ሀ" ፈቃድ ውጽዓት ወደ ስለታም ድግግሞሽ, "ለ" outputting ቢ ጠፍጣፋ, "C", "C". ሙሉው ኮድ በመጨረሻው ላይ ይሰቀላል ፣ ግን እያንዳንዱ እርምጃ ኮዱን ወደ ቁርጥራጮች ይሰብራል ስለዚህ ለማብራራት ቀላል ይሆናል።
ደረጃ 1 የመመዝገቢያ አድራሻዎችን መወሰን
ይህ እርምጃ ቀላል ነው ፣ atmega 2560 ን የሚጠቀሙ ከሆነ ፣ እኔ የተጠቀምኩባቸውን አድራሻዎች ብቻ መጠቀም ያስፈልግዎታል ፣ ምንም እንኳን የተለየ ቺፕ ያለው ሰሌዳ ቢጠቀሙ ፣ ለእያንዳንዳቸው ለእነዚህ መመዝገቢያዎች አድራሻዎችን ማግኘት ያስፈልግዎታል። ቺፕስ የተጠቃሚ መመሪያ። ከላይ ያሉት ትርጓሜዎች በኋላ ላይ ለተግባሮቻችን የሚያገለግሉ ቋሚ ናቸው። አድራሻዎቹን እንደ ተለዋዋጭ ያልተፈረመ እንገልፃለን ምክንያቱም አጠናቃሪው ከእነሱ ጋር እንዲዛባ ስለማንፈልግ ነው።
ደረጃ 2 - ድርድሮች እና ዓለም አቀፍ ተለዋዋጮች
እያንዳንዱ ቁልፍ ሊያወጣቸው የሚገቡትን ድግግሞሽ ሁሉ የሚይዝበትን የድግግሞሽ ድርድር እዚህ እንፈልጋለን። እነዚህ እሴቶች ከእውነተኛ የማስታወሻ ድግግሞሾች ይሰላሉ ፣ እና በእውነቱ እኔ እንዴት እንዳገኘኋቸው ረስቼአለሁ ፣ ግን ለማረጋገጥ በ oscilloscope ላይ እንደሞከርኳቸው ትክክለኛዎቹ እሴቶች ናቸው። እንዲሁም ለእያንዳንዱ ቃና ለመጫን ሁሉንም ቁልፎች ፣ እንዲሁም ለቀጣይ ተግባሮቻችን የምንፈልጋቸውን ተለዋዋጮች የያዘውን የማስታወሻ ድርድር እንገልጻለን።
ደረጃ 3 የ “serial.begin” ተግባር
እኛ “serial.begin” ተግባርን U0init () የሚባዛውን የእኛን ብጁ ተግባር እንጠራዋለን። ተፈላጊውን ባውድሬተር እንደ ግብዓት ወስዶ በዚያ ባውደር ላይ ተከታታይ ወደቡን ይጀምራል።
ደረጃ 4 “የ serial.available” ተግባር
“Serial.available” U0kbhit () ን የሚከተለውን ተግባር እንጠራዋለን። ግብዓት አይወስድም ፣ ግን ይልቁንስ የ RDA ሁኔታ ቢትን በመጠቀም በቁልፍ ሰሌዳው ላይ የተደረገው ለውጥ ካለ ይለወጣል እና ለውጥ ሲታወቅ እውነት ይመለሳል።
ደረጃ 5 የ “serial.read” ተግባር
በ UDR0 መመዝገቢያ ውስጥ በተቀመጠው በቁልፍ ሰሌዳው ላይ ምንም ዓይነት ለውጥ ቢደረግ ግብዓት የማይወስደውን እና “serial.read” ተግባርን U0getchar () የሚመስል ተግባር እንጠራዋለን።
ደረጃ 6 “የ serial.write” ተግባር
ለውጥ በሚታወቅበት እና በሚከማችበት ጊዜ ውሂቡን ከ UDR0 መዝገብ የሚወስድ እና ወደ ተከታታይ ማሳያ የሚለወጡ ውጤቶችን የሚወስደውን “serial.write” U0putchar () የሚመስል ተግባር እንጠራዋለን።
ደረጃ 7 - የማዋቀሪያ ተግባር
ይህ ተከታታይ ወደብ ለመጀመር የእኛን “serial.begin” አስመሳይን የሚጠቀም እና ለጊዜ ቆጣሪ መመዝገቢያዎች የእኛን ቢት ቅንብሮችን የሚያስጀምር እና ድምጾቻችንን ለማውጣት PB6 ን የሚያዘጋጅ መሠረታዊ የማዋቀሪያ ተግባር ነው።
ደረጃ 8 - የሉፕ እና የ ISR ተግባራት
ሉፕው እንደዚያ ይሠራል - በእኛ “serial.available” ተግባር ላይ ለውጥ ከተገኘ ፣ የእኛ “serial.read” ተግባር ይለወጣል ፣ እና የእኛ “serial.write” ተግባር ያንን ለውጥ ወደ ተከታታይ ተቆጣጣሪ ያደርገዋል። ተለዋዋጭ i ከድግግሞሽ ድርድር መጠን ያነሰ እስከሆነ ድረስ በዚያ ቦታ ላይ ድግግሞሹን በማውጣት ውጤቱን በዚያ ድርድር ውስጥ የ i ቦታ እንዲሆን ያደርገዋል። ISR እንደ ዳግም ማስጀመሪያ ይሠራል ፣ የት ድግግሞሽ ድርድር አቀማመጥ 0 እኩል ካልሆነ (በሌላ አገላለጽ “q” ካልተጫነ) ፣ ድግግሞሹን ያወጣል ፣ ግን “q” ሲጫን እንደገና ይጀመራል። እባክዎን ያስተውሉ ይህ ኮድ ማቋረጫዎችን ይጠቀማል ፣ ግን በተቋረጡ የአካል ጉዳተኞች ሊከናወን ይችላል። ለእሱ ምንም ጥያቄ ካገኘሁ ያለማቋረጥ ኮዱን እለጥፋለሁ ፣ የተቋረጠው ሥሪት የበለጠ አስደሳች ይመስለኛል።
ደረጃ 9 ሽቦ
ለዚህ ኮድ ሽቦው እጅግ በጣም ቀላል ነው ፣ በቀላሉ ከ PB6 ወደ የዳቦ ሰሌዳ የውጤት ሽቦ ያስቀምጡ ፣ ከዚያ በርከት ያለ ድምጽ ማጉያ ወይም ድምጽ ማጉያውን ያገናኙ እና መልሰው መሬት ላይ ያገናኙት። ማሳሰቢያ - ድምጽ ማጉያ የሚጠቀሙ ከሆነ ከድምጽ ማጉያው በፊት ትንሽ ተከላካይ ያስገቡ። እርስዎ ውጤቱን ማየት ብቻ ካልሰሙት ፣ PB6 ን ከአ oscilloscope ቀይ እርሳስ እና ጥቁር መሪውን ከመሬት ጋር ያገናኙት።
ደረጃ 10 - ሁሉንም በአንድ ላይ ማዋሃድ
ቀደም ባሉት ደረጃዎች ሁሉንም ክፍሎቹን ስለገለጽኩ ሙሉውን ኮድ በዚህ ደረጃ ላይ አክዬአለሁ። ለተለያዩ ድግግሞሾች የቁልፍ ሰሌዳ ግብዓት ብቻ ይወስዳል እና ያንን ድግግሞሽ ለ PB6 ያወጣል። ከ IDE ጋር ኮድ ለማድረግ የተለየ መንገድ በማንበብ እንደተደሰቱ ተስፋ ያድርጉ!
እንዲሁም ፣ በማይክሮ መቆጣጠሪያ ተቆጣጣሪ ውድድር ውስጥ እባክዎን ለዚህ ድምጽ ይስጡ - ዲ
የሚመከር:
በአየር ሁኔታ ላይ የተመሠረተ የሙዚቃ ጄኔሬተር (ESP8266 የተመሠረተ ሚዲ ጄኔሬተር) 4 ደረጃዎች (ከስዕሎች ጋር)
በአየር ሁኔታ ላይ የተመሠረተ የሙዚቃ ጄኔሬተር (ESP8266 የተመሠረተ ሚዲ ጄኔሬተር) - ሠላም ፣ ዛሬ የራስዎን ትንሽ የአየር ሁኔታ ላይ የተመሠረተ የሙዚቃ ጄኔሬተር እንዴት እንደሚሠሩ እገልጻለሁ። እሱ እንደ አርዱዲኖ ዓይነት በሆነው ESP8266 ላይ የተመሠረተ ሲሆን ለሙቀት ፣ ለዝናብ ምላሽ ይሰጣል እና የብርሃን ጥንካሬ። ሙሉ ዘፈኖችን ወይም ዘፋኝ ፕሮግሮን ያደርጋል ብለው አይጠብቁ
“ዝግጁ ሰሪ” - በ “ሌጎ የኃይል ተግባራት” ፕሮጀክት ላይ ቁጥጥር - 9 ደረጃዎች
“ዝግጁ ሰሪ” - በ “ሌጎ የኃይል ተግባራት” ፕሮጀክት ላይ ይቆጣጠሩ - ሌጎ እንዴት መቆጣጠር እንደሚቻል ይማሩ " የኃይል ተግባሮችን " ክፍሎች ከአርዱዲኖ ቦርድ ጋር እና ፕሮጀክትዎን በ ‹ዝግጁ ሰሪ› ውስጥ ይገንቡ። አርታዒ (ኮድ አያስፈልግም) የእርስዎን ሞዴል በርቀት ለመቆጣጠር
ጄኔሬተር - ዲድ ጄኔሬተር የሸምበቆ መቀየሪያን በመጠቀም - 3 ደረጃዎች
የጄኔሬተር - የዲ ኤን ጄኔሬተር የሸምበቆ መቀየሪያን በመጠቀም - ቀላል የዲሲ ጄኔሬተር ቀጥታ የአሁኑ (ዲሲ) ጄኔሬተር ሜካኒካዊ ኃይልን ወደ ቀጥታ የአሁኑ ኤሌክትሪክ የሚቀይር የኤሌክትሪክ ማሽን ነው። አስፈላጊ - ቀጥተኛ የአሁኑ (ዲሲ) ጄኔሬተር እንደ ግንባታ ዲሲ ሞተር ሆኖ ሊያገለግል ይችላል። ለውጦች
CH340 UART ተከታታይ መለወጫ ገመድ በመጠቀም - 4 ደረጃዎች ወደ Arduino Pro Mini ፕሮግራም ወይም ኮድ እንዴት እንደሚጫኑ
CH340 UART ተከታታይ መለወጫ ገመድ በመጠቀም ፕሮግራም ወይም ኮድ ወደ Arduino Pro Mini እንዴት እንደሚሰቀል የዩኤስቢ TTL ተከታታይ ኬብሎች በዩኤስቢ እና በተከታታይ UART በይነገጾች መካከል ግንኙነትን የሚያቀርቡ የዩኤስቢ ወደ ተከታታይ መለወጫ ኬብሎች ናቸው። በ 5 ቮልት ፣ 3.3 ቮልት ወይም በተጠቀሱት የምልክት ደረጃዎች wi
ያለ ማንኛውም የዲሲ ጄኔሬተር ፣ የአቅም ማከፋፈያ ባንክ ወይም ባትሪ - 5 ደረጃዎች (ከሥዕሎች ጋር) ያለ አማራጭን እራስን ያስደስቱ
ያለ ማንኛውም የዲሲ ጄኔሬተር ፣ የአቅም ማከፋፈያ ባንክ ወይም ባትሪ ሳይኖር እራስን ያስደስተዋል-ይህ አስተማሪ የመስክ ቀስቃሽ ተለዋጭ ወደ እራስ ወዳድነት ለመለወጥ ነው። በ 12 ቮልት ባትሪ ያለው ተለዋጭ ነገር ግን በምትኩ እርስዎ እራስዎ እንዲበራ ያደርገዋል