ዝርዝር ሁኔታ:

ብጁ ቁምፊ ጀነሬተር (Adafruit HT16k33 ማትሪክስ) - 3 ደረጃዎች
ብጁ ቁምፊ ጀነሬተር (Adafruit HT16k33 ማትሪክስ) - 3 ደረጃዎች

ቪዲዮ: ብጁ ቁምፊ ጀነሬተር (Adafruit HT16k33 ማትሪክስ) - 3 ደረጃዎች

ቪዲዮ: ብጁ ቁምፊ ጀነሬተር (Adafruit HT16k33 ማትሪክስ) - 3 ደረጃዎች
ቪዲዮ: ነፃ AI አኒሜሽን ጀነሬተር፡ CARTOON ፊልም ከChatGPT AI ጋር ይፍጠሩ 2024, ህዳር
Anonim
ብጁ ቁምፊ ጀነሬተር (Adafruit HT16k33 ማትሪክስ)
ብጁ ቁምፊ ጀነሬተር (Adafruit HT16k33 ማትሪክስ)

በኤልሲዲዎች እና በሊድ ማትሪክስ ላይ ልዩ ቁምፊዎችን ማተም ትልቅ ደስታ ነው። ልዩ ቁምፊዎችን ወይም ብጁ ገጸ -ባህሪያትን የማተም ሂደት ለእያንዳንዱ ረድፍ እና አምድ በሁለትዮሽ እሴቶች ድርድርን መፍጠር ነው። ለማንኛውም ብጁ ገጸ -ባህሪ ትክክለኛውን ኮድ ማግኘት በጣም አድካሚ ሊሆን ይችላል ፣ ስለሆነም ፣ ይህ ፕሮጀክት ለ 8x8 መሪ ማትሪክስ ኮድ በራስ -ሰር ይሠራል እና ያመነጫል እንዲሁም ብጁ ገጸ -ባህሪውን በአዳፍሪት HT16k33 8x8 Bicolor ማትሪክስ ላይ ያትማል።

Adafruit HT16k33 ፣ 1.2”8x8 Bicolor Led Matrix በ I2C የግንኙነት ፕሮቶኮል በኩል ከአርዱዲኖ ጋር ይገናኛል።

በአዳፍሮት መሠረት “ይህ የ LED ቦርሳ ቦርሳ ስሪት ለ 1.2” 8x8 ማትሪክስ የተነደፈ ነው። እነሱ የሚለኩት 1.2 "x1.2" ብቻ ስለሆነ እሱን ለመቆጣጠር እጅግ በጣም ብዙ ቺፕስ መጠቀሙ ነውር ነው። ይህ የከረጢት ቦርሳ I2C የማያቋርጥ የአሁኑ ማትሪክስ ተቆጣጣሪ በፒሲቢ ጀርባ ላይ በጥሩ ሁኔታ እንዲቀመጥ በማድረግ 16 ፒኖችን ወይም የቺፕስ ስብስቦችን የመጠቀምን ብስጭት ይፈታል። የመቆጣጠሪያው ቺፕ ሁሉንም 64 LEDs ከበስተጀርባ በመሳል ሁሉንም ነገር ይንከባከባል። ማድረግ ያለብዎት ባለ2-ሚስማር I2C በይነገጽን በመጠቀም መረጃ መጻፍ ነው። ከእነዚህ ውስጥ እስከ 8 የሚደርሱትን በአንድ ባለ 2-ፒን I2C አውቶቡስ (እንዲሁም ሌላ ማንኛውም የ I2C ቺፕስ ወይም የሚወዱትን ዳሳሾች) ለመቆጣጠር ከ 8 አድራሻዎች አንዱን መምረጥ እንዲችሉ ሁለት የአድራሻ መምረጫዎች አሉ። የአሽከርካሪው ቺፕ በ 1/16 ኛ ደረጃዎች ውስጥ ከ 1/16 ብሩህነት እስከ ሙሉ ብሩህነት መላውን ማሳያ 'ማደብዘዝ' ይችላል። እሱ ነጠላ ኤልኢዲዎችን ማደብዘዝ አይችልም ፣ መላውን ማሳያ በአንድ ጊዜ ብቻ ነው።

በዚህ አስተማሪ ውስጥ ፣ ለማንኛውም ብጁ ገጸ -ባህሪ በእውነተኛ ጊዜ ኮዱን እንዴት እንደሚያገኙ እና ያንን ገጸ -ባህሪ በሊድ ማትሪክስ ላይ እንደሚያትሙ እነግርዎታለሁ።

ደረጃ 1: አካላት

ይህ አስተማሪ በአዳፍሪት HT16k33 ማትሪክስ ላይ መሠረታዊ ፕሮጀክት ነው። ትፈልጋለህ:

  1. Adafruit HT16k33 1.2 '' x 1.2 '' 8x8 Bicolor Led ማትሪክስ።
  2. አርዱዲኖ (ማንኛውም ተለዋጭ ግን ኡኖ ተመራጭ ነው)።
  3. የዳቦ ሰሌዳ
  4. ገቢ ኤሌክትሪክ

ደረጃ 2: መርሃግብር

ንድፍታዊ
ንድፍታዊ
ንድፍታዊ
ንድፍታዊ

ለ I2C መሣሪያዎች እንደምናደርገው የሰዓት እና የውሂብ ፒን ማገናኘት ስለምንፈልግ ሽቦው Adafruit HT16k33 Led ማትሪክስ በጣም ቀላል ነው። ግንኙነቶች እንደዚህ ይሆናሉ

  1. SCL (የማትሪክስ የሰዓት ፒን) ከ A5 ጋር ተገናኝቷል (የአርዱዲኖ ዩኖ የሰዓት ፒን። ለሌሎች የአርዱዲኖ ተለዋጮች የውሂብ ሉህ ይመልከቱ)
  2. ኤስዲኤ (የማትሪክስ መረጃ ፒን) ከ A4 ጋር ተገናኝቷል። (ለሌሎች የአርዱዲኖ ልዩነቶች የውሂብ ሉህ ይመልከቱ)
  3. ቪሲሲ ከ 5 ቪ ጋር ተገናኝቷል።
  4. GND ከ 0V ጋር ተገናኝቷል።

እንዲሁም በስዕሉ ላይ የሚታየውን መርሃግብር ማማከር ይችላሉ።

ደረጃ 3 ኮድ

ኮድ
ኮድ
ኮድ
ኮድ

የአርዱዲኖ ኮድ

በመጀመሪያ ፣ የሚያስፈልጉትን ቤተ -መጻህፍት ሁሉ እናካትታለን።

  1. Wire.h:- ለ I2C ግንኙነት
  2. Adafruit_LedBackPack
  3. Adafruit_GFX

እነዚህ ሁሉ ቤተ -መጻሕፍት በአርዱዲኖ አይዲኢ ውስጥ ይገኛሉ። እነሱን ከቤተ -መጽሐፍት አቀናባሪ ብቻ መጫን አለብዎት። ንድፍ >> ቤተ -መጽሐፍትን ያካትቱ >> ቤተ -ፍርግሞችን ያስተዳድሩ

የማዋቀር ተግባር ()

ያልተመዘገበ ኢንቲጀር 8-ቢት ድርድርን ወደ 8 ረድፎች ፣ እያንዳንዳቸው 8 ቢት (8 ዓምዶች) ለ 8 ረድፎች ሁለትዮሽ እሴቶችን ማዘጋጀት። አድራሻውን ለ I2C ግንኙነት ያዘጋጁ።

የሉፕ ተግባር ()

ገጸ -ባህሪውን ማተም እንደምንፈልግ ፣ ለባህሪው ኮዱን በእውነተኛ ጊዜ እንፈልጋለን። በጣም ምቹ ዘዴ ኮዱን በተከታታይ መላክ እና አርዱዲኖ ተከታታይ መረጃን ያነባል እና ገጸ -ባህሪያቱን በዚህ መሠረት ያትማል። ድርድርን በተከታታይ መላክ አድካሚ ሥራ ሊሆን ይችላል ፣ ስለሆነም ከ 8 ኮዶች (እያንዳንዳቸው 8 ቢት) በኮማ የተለዩ ሕብረቁምፊ መላክ እንችላለን።

የንባብ ተከታታይ ሕብረቁምፊ;

ከሆነ (Serial.available ()> 0) {data = Serial.readStringUntil ('\ n'); Serial.println (ውሂብ); }

ጽሑፉን ካነበቡ በኋላ ይህንን ሕብረቁምፊ መፍታት እና የሁለትዮሽ እሴቶችን መመለስ አለብን። እንደምናውቀው ፣ የግብዓት ሕብረቁምፊ ቅርጸት ሁል ጊዜ ተመሳሳይ ይሆናል። ንዑስ ጽሑፎችን ለማግኘት እና ሕብረቁምፊዎቹን ወደ አስርዮሽ ተመጣጣኝ እሴቶቻቸው ለመለወጥ ኮድ ልንሰጠው እንችላለን። ከዚያ ገጸ -ባህሪውን በማትሪክስ ላይ ለማተም የመነጨውን የአስርዮሽ ድርድር (uint8_t) እናልፋለን።

የ 8 ቢት ሕብረቁምፊን ወደ አስርዮሽ መለወጥ

int val (String str) {int v = 0; ለ (int i = 0; i <8; i ++) {ከሆነ (str == '1') {v = v+power (2, (7-i))); }} መመለስ v; }

የኃይል ተግባርን (ፓው ()) በመጠቀም የአስርዮሽ እኩልነትን ለመገምገም ፣ የሁለት ዓይነት እሴቶችን መቋቋም ያስፈልግዎታል እና ስለዚህ እኛ የራሳችንን የኃይል ተግባር እንደሚከተለው መጻፍ እንችላለን-

int ኃይል (int base, int exponent) {int c = 1; ለ (int i = 0; i {c = c*base;} መመለስ ሐ;}

አሁን ፣ የ 8 የአስርዮሽ እሴቶችን (ለእያንዳንዱ ረድፍ አንድ) የተፈጠረ ድርድርን በመጠቀም ገጸ -ባህሪውን ለማተም ኮዱን እንጽፋለን።

ባዶ print_emoji (uint8_t ስሜት ገላጭ ምስል ፣ ሕብረቁምፊ ቀለም) {matrix.clear (); ከሆነ (ቀለም == “ቀይ”) {matrix.drawBitmap (0 ፣ 0 ፣ ስሜት ገላጭ ምስል ፣ 8 ፣ 8 ፣ LED_RED); } ሌላ {matrix.drawBitmap (0 ፣ 0 ፣ ስሜት ገላጭ ምስል ፣ 8 ፣ 8 ፣ LED_GREEN) ፤ } matrix.writeDisplay (); መዘግየት (500); }

ማትሪክስን መጀመሪያ ስናጸዳ እና ከዚያ የማትሪክስ.drawBitmap () ተግባርን በመጠቀም የኢሞጂ ድርድርን በመጠቀም ገጸ -ባህሪውን በማሳየት ይህንን ኮድ በቀላሉ ይረዳሉ። ይህ ተግባር በማትሪክስ ላይ እስካሁን የተከናወኑትን ሁሉንም ቅርጸቶች ብቻ ስለሚያሳይ ከሁሉም ቅርጸት በኋላ “matrix.writeDisplay ()” ን መጻፍዎን አይርሱ።

አሁን ሕብረቁምፊውን በሁሉም የኮድ እሴቶች መላክ ይችላሉ እና አርዱinoኖ በማትሪክስ ላይ ገጸ -ባህሪውን ያትማል። የአርዲኖን ኮድ ከዚህ በታች ማውረድ ይችላሉ። ለሙከራ ዓላማ ፣ መጻፍ ይችላሉ

B00111100 ፣ B01000010 ፣ B10100101 ፣ B10000001 ፣ B10100101 ፣ B10011001 ፣ B01000010 ፣ B00111100

ይህ ሕብረቁምፊ በ Serial Monitor ውስጥ እና በማትሪክስ ላይ ያለውን ቁምፊ ማየት ይችላል።

አሁን ፣ “አትም” ቁልፍን ስንጫን ተከታታይ መረጃዎችን ከሶፍትዌር በቀጥታ መላክ አለብን። ይህንን በራስ -ሰር ለማድረግ ፣ ማሳያ 8x8 ማትሪክስ እንሰራለን እና የትኛውን ህዋስ ቀለም መቀባት እንዳለበት እንዲመርጥ ለተጠቃሚው መገልገያ እንሰጣለን ከዚያም ሶፍትዌሩ በራስ -ሰር ኮዱን ያመነጫል እና ውሂቡን በተከታታይ ወደ አርዱinoኖ በገመድ ቅርጸት ይልካል። ለቀሪው ሥራዬ ፕሮሰሲንግን መርጫለሁ። በሂደት ላይ ፣ 64 አዝራሮችን በመጠቀም ማትሪክስ መስራት እንችላለን (የተጫነ ተግባር ያላቸው አራት ማዕዘኖች) እና በመነሻ ላይ አንድ የተወሰነ እሴት እና ቀለም መመደብ እንችላለን (ከ 0 እሴት ጋር ነጭ ቀለም ይሁን)። አሁን ቁልፉ በተጫነ ቁጥር የአዝራሩን ቀለም ወደ ጥቁር እንለውጣለን እና እሴቱን ወደ 1. እናስቀምጣለን። ተጠቃሚው ተመሳሳይ ቁልፍን እንደገና ከተጫነ እሴቱ እንደገና ወደ 0 ይለወጣል እና ቀለም ወደ ነጭ ይለወጣል። ይህ ተጠቃሚው ኮዱን በቀላሉ እና በቀላሉ ለመለወጥ ይረዳል እና መላውን ማትሪክስ ሳይደመስስ በቀላሉ ማሻሻያዎችን ሊያደርግ ይችላል። በ “አትም” ቁልፍ ላይ ጠቅ በማድረግ ፣ ለ ማሳያ ከላይ ከተመለከተው ጋር ተመሳሳይ የሆነ ሕብረቁምፊ እንሠራለን። ከዚያ ሕብረቁምፊው ወደተለየ ተከታታይ ወደብ ይላካል።

የሂደቱን ኮድ ከዚህ በታች ማውረድ ይችላሉ። ይህ በሂደት ላይ ያለ የመጀመሪያው ኮድ ነው። ለተሻሻለው የኮድ ዘዴ ጥቆማዎች በጣም አድናቆት አላቸው።

GUI እንዴት እንደሚመስል እና ስርዓቱን በመጠቀም ባህሪው እንዴት እንደተፈጠረ ማየት ይችላሉ። በማትሪክስ ላይ ተመሳሳይ ገጸ -ባህሪን ለመፍጠር ሰከንዶች አይወስድም።

የዚህን ፕሮጀክት ኮድ እና ምስሎች ከ GitHub ማከማቻዬ ማውረድ ይችላሉ።

የሚመከር: