ዝርዝር ሁኔታ:

AVR/Arduino በ Raspberry Pi: 3 ደረጃዎች (ከስዕሎች ጋር)
AVR/Arduino በ Raspberry Pi: 3 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: AVR/Arduino በ Raspberry Pi: 3 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: AVR/Arduino በ Raspberry Pi: 3 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: Marlin Firmware - VScode PlatformIO Install - Build Basics 2024, ሀምሌ
Anonim
AVR/Arduino ብልጭ ድርግም ከ Raspberry Pi ጋር
AVR/Arduino ብልጭ ድርግም ከ Raspberry Pi ጋር

በስርዓት ውስጥ ፕሮግራም አውጪ (አይኤስፒ) ብዙ ማይክሮ መቆጣጠሪያዎችን ለማቀድ የሚጠቀሙበት መሣሪያ ነው ፣ ለምሳሌ የአርዲኖ ዩኖ አዕምሮ የሆነው ATMega328p። እንደ USBtinyISP ያለ ነገር መግዛት ይችላሉ ፣ ወይም አርዱዲኖን እንኳን መጠቀም ይችላሉ። ይህ አስተማሪ Raspberry Pi ን እንደ አይኤስፒ እንዴት እንደሚጠቀሙበት ያሳየዎታል።

የአርዱዲኖ አይዲኢ ቺፕስ ለማንፀባረቅ በመከለያው ስር የሚጠቀምበት የ avrdude ፕሮግራም ከብዙ ፕሮግራም አድራጊዎች ጋር ሊያገለግል ይችላል። ከአማራጮቹ አንዱ በፒ ማስፋፊያ ወደብ ላይ የ SPI ፒኖችን መጠቀም ነው። እኔ ቺፕ ብልጭታ በሚፈልጉበት ጊዜ ሁሉ ሽቦውን እንደገና እንዳይሰሩ ፣ እና እንዴት avrdude ን እንደሚጭኑ እና እንደሚጠቀሙ ፣ ተገቢዎቹን ግንኙነቶች እንዴት እንደሚሠሩ ፣ ቀለል ያለ ወረዳ በወረቀት ላይ ያኑሩ። እንዲሁም ይህንን ዘዴ በመጠቀም እንደ አርሜዲኖ አይዲኢን በ AVR ቺፕ ላይ እንደ ኤትሜጋ ወይም አቲኒ በመጠቀም የተጠናቀሩ ፕሮግራሞችን እንዴት እንደሚያገኙ አሳያችኋለሁ።

የሚያስፈልጉ ነገሮች ፦

  • Raspberry Pi ከቅርብ ጊዜ Raspbian ጋር ተጭኗል
  • 40-ሚስማር የወንድ ራስጌ ሶኬት (ወይም በዕድሜ ፒ ካለዎት 26-ፒን)
  • ከእርስዎ ፒ ጋር ለመገናኘት የ IDE ገመድ
  • 16 ሜኸ ክሪስታል አስተጋባ
  • 22 pF capacitors (2)
  • LED (1) የፕሮግራም አድራጊውን ሁኔታ ለማመልከት
  • ለማንፀባረቅ በሚፈልጉት የቺፕስ ቅርፅ ላይ በመመስረት 8 ፣ 14 እና/ወይም 28 ፒን አይሲ ሶኬቶች
  • አንዳንድ የሽቦ ሰሌዳ ፣ ሽቦዎች ፣ መሸጫ

ደረጃ 1 የህንፃ ኮብል አባሪ

የህንፃ ኮብል አባሪ
የህንፃ ኮብል አባሪ
የህንፃ ኮብል አባሪ
የህንፃ ኮብል አባሪ
የህንፃ ኮብል አባሪ
የህንፃ ኮብል አባሪ

Serial Peripheral Interface (SPI) ፣ እንዲሁም አራት ሽቦ ተከታታይ ተብሎ የሚጠራው ፣ በአንድ ዋና መሣሪያ እና በአንድ ወይም በብዙ ባሪያ መሣሪያዎች መካከል የመገናኛ መንገድ ነው። እኛ ፒን እንደ ዋና እና ቺፕ እንደ ባሪያ ፣ ቺፖችን ለማብራት ይህንን እንጠቀማለን። በ Pi እና በቺፕዎ መካከል የሚከተሉትን ግንኙነቶች ያደርጋሉ (የትኞቹ ፒኖች የትኞቹ እንደሆኑ ለማወቅ ለተለያዩ AVRs እና Pi ማስፋፊያ ወደቦች ከላይ ያሉትን ፒኖቹን ይመልከቱ)

  • MOSI (ዋና-ባሪያ-ውስጥ) ፒኖችን አንድ ላይ ያገናኙ
  • SCLK (የጋራ ሰዓት) ፒኖችን አንድ ላይ ያገናኙ
  • ፒኢን ከማንኛውም ያልተጠበቀ ከፍተኛ ቮልቴጅ ከቺፕ ለመጠበቅ MISO (ዋና-ባሪያ-ውጭ) ፒኖችን ከ 220 Ohm resistor ጋር ያገናኙ።
  • GPIO 25 ን በ Pi ላይ በቀጥታ በቺፕ ላይ ካለው የ RESET ፒን ጋር ያገናኙ። ፒ (ፒ) በፕሮግራም ጊዜ ይህንን ፒን ዝቅ ያደርገዋል ፣ ስለሆነም በፕሮግራም በማይሆንበት ጊዜ ከፍ ለማድረግ 10 ኪ resistor ን እንጠቀማለን ፣ እና 1 ኪ ኬ መከላከያ ተከላካይ ያለው ኤልዲኤም ወደ አወንታዊ voltage ልቴጅ በሚሮጥበት ጊዜ ጥሩ የእይታ ግብረመልስ ይሰጠናል።

እኛ በፒ እና በፕሮግራም በምናስፈልገው ቺፕስ መካከል መሬትን እና ኃይልን (3.3V) ፒኖችን እናገናኛለን። እርስዎ አስቀድመው የማያውቁ ከሆነ ፣ የ Raspberry Pi ፒኖች 5V ታጋሽ አይደሉም - ከ 3.3 ቪ በላይ በላያቸው ላይ ከታየ ይጎዳሉ። በፕሮግራም የተቀረጹት ቺፖች በሆነ ምክንያት የ 5 ቪ ኃይል የሚያስፈልጋቸው ከሆነ የፒን ፒኖችን ለመጠበቅ ደረጃ የመቀየሪያ ቺፕ ልንጠቀም እንችላለን ፣ ግን 3.3 ቪን በመጠቀም ምንም ችግሮች አልገጥሙኝም - ስለዚህ ደህንነቱ በተጠበቀ ሁኔታ እንዲጫወት እና በክፍሎች ላይ እንዲቆጠብ እመክራለሁ።

በመጨረሻ ፣ እኛ በ ‹XPAL› ፒኖች ላይ የ 16MHz ክሪስታል ማወዛወዝን እናገናኛለን ፣ እኛ ደግሞ በ 22pF capacitors ሁለት በኩል ከመሬት ጋር እናገናኛለን። የ AVR ቺፕስ በተለያዩ ድግግሞሽዎች ላይ እንዲሠራ ሊዘጋጅ ይችላል ፣ እና ያንን ድግግሞሽ ለመወሰን የውስጥ ወይም የውጭ ምንጭን እንዲጠቀም ሊቀናጅ ይችላል። የእርስዎ ቺፕ ውጫዊ ክሪስታል እንደ ተደጋጋሚው ምንጭ ለመጠቀም ከተዋቀረ ያለ እሱ እንደገና ማተም አይችሉም። ያለበለዚያ እሱ ካለ ምንም አይደለም።

በመጨረሻው ምስል ላይ የወረዳውን ንድፍ (ኮምፕሌተር) አባሪዎን በመጥረቢያ ሰሌዳ ላይ ለመገጣጠም እንደ መመሪያ አድርገው መጠቀም ይችላሉ። የፈለጉትን ያህል ብዙ ወይም ጥቂት የተለያዩ የ IC መሰኪያዎች ቅርጾች ሊኖሩዎት ይችላሉ ፣ ተገቢዎቹን ፒኖች ከፒ እና ክሪስታል ጋር በትይዩ ያገናኙ። N. B. ባልተዛመዱ ምክንያቶች በፒ ላይ ፒኖችን መድረስ እንድችል የእኔን ፕሮቶታይፕ ምስል እንደ መመሪያ ከተጠቀሙ አንዳንድ ተጨማሪ የራስጌ ፒኖችን እና ሶኬቶችን እንደጨመርኩ ልብ ይበሉ።

ደረጃ 2 - Avrdude ን መጫን እና መጠቀም

Avrdude ን መጫን እና መጠቀም
Avrdude ን መጫን እና መጠቀም
Avrdude ን መጫን እና መጠቀም
Avrdude ን መጫን እና መጠቀም
Avrdude ን መጫን እና መጠቀም
Avrdude ን መጫን እና መጠቀም
Avrdude ን መጫን እና መጠቀም
Avrdude ን መጫን እና መጠቀም

በእርስዎ Pi ላይ avrdude ን ለመጫን በቀላሉ ይተይቡ

sudo apt-get install avrdude

ከዚያ አስቀድሞ ካልበራ የ SPI በይነገጽን ማንቃት ያስፈልግዎታል። ይህንን ለማድረግ የትእዛዝ-መስመር መንገድ አለ ፣ ግን የ Raspberry Pi ውቅረት መሣሪያን መጠቀም በጣም ቀላል ነው። ዓይነት

sudo raspi-config

እና SPI ን ለማብራት ወደ በይነገጽ አማራጮች ይሂዱ።

ቺፕዎን ለማንፀባረቅ ፣ ከፓይዎ ሪባን ገመዱን በፔፐርቦርዱ ወረዳ ላይ ወዳለው አያያዥ ያያይዙ እና ቺፕውን ወደ ተገቢው የ IC ሶኬት ውስጥ ያስገቡ (በትክክለኛው መንገድ ፊት ለፊት መሆኑን ያረጋግጡ)።

አንድን ፕሮግራም በሚያበሩበት ጊዜ ፊውዶችን በቺፕ ውስጥ በትክክል ማቀናበሩን ማረጋገጥ አለብዎት። እነዚህ በእውነቱ እርስዎ ቺፕ በሚጽፉበት ጊዜ EEPROM ን ለመሰረዝ ፣ ምን ያህል የሰዓት ፍጥነት እንደሚሠራ እንዲነግሩት ባዘጋጁት ቺፕ ውስጥ ቢት ናቸው። በ engbedded.com/fusecalc ላይ የቀረበውን የፊውዝ ካልኩሌተር መጠቀም በጣም ቀላል ነው። እርስዎ የሚጠቀሙበትን የ AVR ክፍል ስም ይምረጡ እና በ “የባህሪ ምርጫ” አካባቢ ውስጥ የሚፈልጉትን አማራጮች ይምረጡ። እኔ ብዙውን ጊዜ የሰዓት ቅንጅቶች ትክክል መሆናቸውን አረጋግጣለሁ እና ሌሎቹን ነገሮች በነባሪነት ይተዋሉ። ሁልጊዜ “ተከታታይ መርሃ ግብር ነቅቷል” ተፈትሾ እና “ተሰናክሏል ዳግም አስጀምር” ን ያልተለቀቀ መተው ይፈልጋሉ - አለበለዚያ ቺፕውን እንደገና ማረም አይችሉም። ትክክለኛ ቅንጅቶች ሲኖርዎት “የአሁኑ ቅንብሮች” አካባቢን ወደ ታች ማሸብለል እና በምስሉ ላይ እንደሚታየው የ AVRDUDE ክርክሮችን መቅዳት ይችላሉ።

ፊውዶችን ለማዘጋጀት ትዕዛዙን ያስገቡ

sudo avrdude -c linuxspi -P /dev/spidev0.0 -p

የፓርቲ ስም ከሚጠቀሙበት ቺፕ ጋር የሚዛመድበት። Sudo ardude -c linuxspi -p? Type በመግባት የክፍል ስሞችን ዝርዝር ማግኘት ይችላሉ። ፕሮግራምዎን ለማብራት ፣ አሁን ባለው ማውጫዎ ውስጥ መሆኑን ያረጋግጡ እና ያስገቡ

sudo avrdude -c linuxspi -P /dev/spidev0.0 -p -U ብልጭታ: w:: i

ከሁለቱም ትዕዛዞች በኋላ ቺ chip እየተስተካከለ እያለ ኤልኢዲ ያበራል።

ደረጃ 3: የአርዲኖ ፕሮግራሞችን ወደ AVR ዎች ማግኘት

የአርዲኖ ፕሮግራሞችን ወደ AVR ዎች ማግኘት
የአርዲኖ ፕሮግራሞችን ወደ AVR ዎች ማግኘት
የአርዲኖ ፕሮግራሞችን ወደ AVR ዎች ማግኘት
የአርዲኖ ፕሮግራሞችን ወደ AVR ዎች ማግኘት
የአርዲኖ ፕሮግራሞችን ወደ AVR ዎች ማግኘት
የአርዲኖ ፕሮግራሞችን ወደ AVR ዎች ማግኘት

የዚህ አስተማሪ ዋና ትኩረት ቀድሞውኑ የተጠናቀሩ ፕሮግራሞችን በቺፕስ ላይ ማብራት ነው ፣ እንዴት እንደሚፃፉ ወይም እንደሚያጠናቅቁ አይደለም። ሆኖም ፣ አርዱዲኖ ለመማር በአንፃራዊነት ቀላል ስለሆነ እና ብዙ ትምህርቶች እና ምሳሌዎች ስላሉ ፣ አርዱዲኖ አይዲኢን በመጠቀም እንዴት ሁለትዮሽዎችን ማጠናቀር እና ይህንን ዘዴ በመጠቀም ወደ ባዶ የኤቪአር ቺፖች ማስገባት እንደሚችሉ ለማብራራት ፈልጌ ነበር።

በመጀመሪያ ፣ አይዲኢ ለእነሱ እንዴት ማጠናቀር እንዳለበት እንዲያውቅ ስለሚያንጸባርቁት ስለ AVR ቺፕስ መረጃ ማከል ያስፈልግዎታል። ጄምስ ስሌማን በጊትብ ላይ የሚገኙትን አንዳንድ የማዋቀሪያ ፋይሎችን በአንድ ላይ አሰባስቧል። እነሱን ለመጠቀም በአርዱዲኖ አይዲኢ ውስጥ የ “ምርጫዎች” ምናሌን ይክፈቱ እና ከ “ተጨማሪ የቦርዶች አቀናባሪ ዩአርኤሎች” መስክ ቀጥሎ ያለውን ሳጥን ጠቅ ያድርጉ። በሚታየው የንግግር ሳጥን ውስጥ የሚከተሉትን ዩአርኤሎች ይቅዱ እና ይለጥፉ

ከዚያ ወደ “መሣሪያዎች” ምናሌ ይሂዱ እና በ “ቦርድ” ንዑስ ምናሌ ውስጥ “የቦርዶች አስተዳዳሪ…” የሚለውን አማራጭ ያግኙ። በቦርዶች አቀናባሪ የንግግር ሳጥን ውስጥ ወደ ዝርዝሩ ታች ወደ ታች ይሸብልሉ እና DIY ATmega እና DIY ATtiny ቦርዶችን ይጫኑ።

ፕሮግራሞችዎን ለማጠናቀር በመጀመሪያ በ “ፕሮሰሰር” ምናሌ ውስጥ ትክክለኛውን ቺፕ ፣ እንዲሁም ትክክለኛውን የሂደት ፍጥነት መምረጥዎን ያረጋግጡ። እኛ በቀጥታ ከፒ (ፒ) ጋር ስለምንጭን እና በመደበኛነት በአርዲኖ ጫኝ ጫኝ የሚወስደውን ተጨማሪ ቦታ መጠቀም ስለምንችል “Bootloader: No” የሚለውን አማራጭ ይምረጡ። አሁን “አረጋግጥ” ቁልፍን (የማረጋገጫ ምልክቱን) ጠቅ ያድርጉ። እሱን ለመጫን ሳይሞክሩ ይህ ፕሮግራምዎን ያጠናቅቃል (እርስዎ ያንን እርምጃ እርስዎ እራስዎ ስለሚያደርጉት)።

ሁሉም ነገር መልካም እንደሚሆን በመገመት ፣ አሁን የተጠናቀረውን ፕሮግራም ወደ የእርስዎ ፒ ማግኘት አለብዎት። እሱ ራሱ ፕሮግራሞችን ለመስቀል የተነደፈ ስለሆነ አይዲኢ በጊዜያዊ ቦታ ይደብቃቸዋል። በዊንዶውስ ላይ ፣ በ ‹arduino_build› በሚጀምር አቃፊ ውስጥ ፣ በተጠቃሚ ማውጫዎ ውስጥ በ AppData/Local/Temp ውስጥ ነው።. Hex ፋይልን ይፈልጉ - ያ የእርስዎ ፕሮግራም ነው! በኤፍቲፒ ወይም በዩኤስቢ ዱላ ወደ እርስዎ Pi ይላኩት ፣ እና እርስዎ ንግድ ውስጥ ነዎት።

ይህንን ለማድረግ ፕሮግራሞችዎን ለማጠናቀር የዊንዶውስ ፒሲ ወይም ማክ እንዲኖርዎት ይጠይቃል ፣ ከዚያ ወደ Pi ይልካሉ። ይህንን በራሱ በፓይ ላይ ማድረግ መቻል በጣም ብልጥ ይሆናል ፣ ግን እንደ አለመታደል ሆኖ በ Raspbian ማከማቻ ውስጥ የሚገኘው የአርዲኖ አይዲኢ ኦፊሴላዊ ስሪት በጣም ያረጀ እና የቦርድ ሥራ አስኪያጅ የለውም። ያለዚህ ፣ ባዶ ለሆኑ AVR ዎች ለማጠናቀር ተገቢውን ቅንጅቶች ማከል ትንሽ ተንኮለኛ ነው። በጣም የቅርብ ጊዜውን የአርዲኖን ስሪት በእርስዎ ፒ ላይ ለማጠናቀር መማሪያዎች አሉ - እርስዎ ማድረግ የሚፈልጉት ከሆነ ፣ ይፈልጉዋቸው! እኔ ደግሞ ከ IDE ራሱ (ማለትም “ማውረድ” ቁልፍን በመጠቀም) ቺፕ እንዲያበራ የሊኑክስፒፒ ፕሮግራመርን ለመጠቀም IDE ን ማግኘት የሚቻል ይመስለኛል ፣ ግን ይህ ከእኔ ትዕግስት እና የክህሎት ደረጃ በላይ ነው - የሚያውቁት ከሆነ መንገድ ፣ በአስተያየቶቹ ውስጥ ይለጥፉት! በመጨረሻም ፣ በ AVR-C ውስጥ ፕሮግራሞችን በቀጥታ መፃፍ እና በ “Raspberry Pi” ውስጥ የተሟላ የ AVR ልማት መድረክን በ avr-gcc አማካኝነት በ Pi ላይ ማጠናቀር ይችላሉ። ያንን ትንሽ ሰርቻለሁ ፣ እና ወደዚያ መንገድ መሄድ ከፈለጉ ፣ ሰላም እላለሁ። ብልጭ ድርግም ያግኙ!

የሚመከር: