ዝርዝር ሁኔታ:
ቪዲዮ: IOT123 - I2C KY019 BRICK: 5 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:32
IOT123 BRICKS በመስቀለኛ መንገድ ወይም በሚለብስ ተግባር ላይ ለመጨመር ከሌሎች IOT123 BRICKS ጋር ሊደባለቁ የሚችሉ DIY ሞዱል አሃዶች ናቸው። እነሱ በ ኢንች ካሬ ፣ ባለ ሁለት ጎን ፕሮቶቦርዶች ቀዳዳዎች በኩል እርስ በእርስ የተገናኙ ናቸው።
የእነዚህ BRICKS ብዛት በአንድ ጣቢያ ላይ በበርካታ መስቀሎች (ማስተር MCUs - ESP8266 ወይም ATTINY84) ላይ እንደሚሆን ይጠበቃል። MCU ስለ ዳሳሾች ዓላማ ወይም የሶፍትዌር ፍላጎቶች ቅድመ ዕውቀት አያስፈልገውም። ለ I2C አንጓዎች ይቃኛል ከዚያም ከእያንዳንዱ ባሪያ የንብረት መጣል (ዳሳሽ መረጃ) ይጠይቃል። እነዚህ BRICKs 5.0V ፣ 3.3V እና ሊበጅ የሚችል ሌላ የ AUX መስመር ይሰጣሉ።
ይህ I2C KY019 BRICK ከተዋንያን የመጀመሪያው ነው ፣ እና አንድ የንባብ/የመፃፍ ንብረት አለው-
ቀይር (እውነት/ሐሰት)።
የቪታሚኖች (ተጨማሪ ክፍሎች ያስፈልጋሉ) ተካትተው በአንፃራዊነት ቼፕ ስለሆኑ የ Keyes ዓይነት ዳሳሽ ጡቦች በመጀመሪያ ረቂቅ ይሆናሉ (37 ለ 10AUD ገዛሁ)። ሌሎች ቦርዶች/ወረዳዎች ከ I2C BRICKS ጋር ይተዋወቃሉ።
DIP8 ወደ ፒሲቢ በሚሸጥበት ጊዜ የፖጎ ፒን ፕሮግራም አዘጋጅን ለማንቃት ከ ATTINY85 አቅራቢያ ያሉት ቀዳዳዎች ጥቅም ላይ አልዋሉም። አንድ ተጨማሪ ረቂቅ ፣ እሴቶቹን ወደ MQTT አገልጋይ በማፍሰስ በ D1M WIFI BLOCK ማዕከል ውስጥ በሚሰኩ ትናንሽ ሲሊንደሮች ውስጥ BRICKS ን በማሸግ ላይ እየተገነባ ነው።
ደረጃ 1: ቁሳቁሶች እና መሳሪያዎች
ሙሉ የቁሳቁስ እና የመረጃ ምንጭ ዝርዝር አለ።
- KY-019 Relay (1)
- ATTINY85 20PU (1)
- 1 "ባለ ሁለት ጎን ፕሮቶቦር (1)
- ወንድ ራስጌ 90º (3 ፒ ፣ 3 ፒ)
- የሚገጣጠም ሽቦ (~ 7)
- ብረት እና ብረት (1)
ደረጃ 2 ATTINY85 ን ያዘጋጁ
ማሳሰቢያ - የ Crouton ውህደት እንዲኖርዎት ከፈለጉ እባክዎን ቤተ -መጽሐፍቱን ከዚህ ይጠቀሙ እና “attiny_ky019” የተጫነውን ምሳሌ ይጠቀሙ።
AttinyCore ከቦርዶች ሥራ አስኪያጅ ያስፈልጋል። የማስነሻ ጫloadውን “EEPROM እንደያዘ” ፣ “8mHZ ውስጣዊ” (ከላይ የሚታየው ሁሉም ውቅር) ያቃጥሉ።
የኮድ ማከማቻ እዚህ ይገኛል።
የቤተ መፃህፍት ዚፕ እዚህ ይገኛል።
የ «ዚፕ ቤተ -መጽሐፍትን ማስመጣት» መመሪያዎች እዚህ።
ቤተ -መጽሐፍቱ አንዴ ከተጫነ “attiny_ky019” የሚለውን ምሳሌ መክፈት ይችላሉ።
Firmware ን ወደ ATTINY85 ለመስቀል በእነዚህ ዝርዝሮች ውስጥ ተጨማሪ ዝርዝሮችን ማግኘት ይችላሉ-
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/ እንዴት-በፕሮግራም-AT…
www.instructables.com/id/ እንዴት-በፕሮግራም-th…
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/Programming-an-At…
ከመቀጠልዎ በፊት በዳቦ ሰሌዳ በኩል መሞከር የተሻለ ነው።
ነባር ASSIMILATE SENSORS ካሉዎት ፣ በ MCU/node ላይ አንድ የ Relay ተዋናይ እስካለዎት ድረስ የባሪያ አድራሻው በ SENSOR/MCU አስተናጋጅ ጥምረት ላይ የተለየ መሆኑን ያረጋግጡ።
ደረጃ 3 ወረዳውን ይሰብስቡ
- ከፊት በኩል ፣ ATTINY85 (1) ፣ 3P 90deg የወንድ ራስጌዎች (2) (3) ፣ እና ከኋላ በኩል የሚሸጡትን ክፍሎች ያስገቡ።
- ከኋላው ፣ ቢጫ ሽቦን ከ YELLOW1 እስከ YELLOW2 እና solder ይከታተሉ።
- ከኋላው ፣ ሰማያዊ ሽቦን ከ BLUE1 ወደ BLUE2 እና በሻጩ ይከታተሉ።
- ከኋላ ፣ አረንጓዴ ሽቦን ከ GREEN1 እስከ GREEN2 እና በሻጩ ይከታተሉ።
- ከኋላው ፣ ጥቁር ሽቦን ከ BLACK1 ወደ BLACK2 እና በሻጩ ይከታተሉ።
- ከኋላው ፣ ጥቁር ሽቦን ከ BLACK3 እስከ BLACK4 እና solder ይከታተሉ።
- ከኋላው ፣ ቀይ ሽቦን ከ RED1 ወደ RED2 እና በሻጩ ይከታተሉ።
- ከኋላዎ ፣ ቀይ ሽቦን ከ RED3 ወደ RED4 እና በሻጩ ይከታተሉ።
ማስተላለፊያው አሁን በፒን ኮንትራቱ ላይ ወደሚታዩት ነጥቦች በቀጥታ በፒሲቢው ወይም በሽቦዎች በኩል ሊገናኝ ይችላል።
ደረጃ 4: ሙከራ
ከእነዚህ ውስጥ በርካታ ቁጥቋጦዎች በአንድ አካባቢ ውስጥ በበርካታ መስቀሎች (MCUs - ESP8266 ወይም ATTINY84) ላይ እንደሚገኙ ይጠበቃል። ይህ የአሃድ ሙከራ ነው - I2C ትዕዛዞችን ከ UNO ወደ ATTINY ይልካል ወይም ቅብብሉን ይዘጋል።
ከዚህ በፊት ለአርዱዲኖ I2C SHIELD ገንብተናል።
በምትኩ የዳቦ ሰሌዳውን ከፈለጉ -
- 5.0V በ UNO ላይ ከ VCC ጋር በብሪክ ላይ ያገናኙ።
- GND ን ከ UNO ወደ GND በብሪክ ላይ ያገናኙ።
- A5 ን በ UNO ላይ ከ SCL ጋር በብሪክ ላይ ያገናኙ።
- A4 ን በ UNO ላይ ከ SDA ጋር በብሪክ ላይ ያገናኙ።
- የ 4K7 መጎተቻ ተከላካይ ከ SDA ወደ VCC ያገናኙ።
- የ 4K7 መጎተቻ ተከላካይ ከ SCL ወደ VCC ያገናኙ።
ፈተናውን ማካሄድ።
- በዩኤስቢ የእርስዎን UNO ከእርስዎ Dev PC ጋር ያገናኙ።
- ኮዱን ወደ UNO ይስቀሉ።
- የ Arduino Console ን ይክፈቱ። 9600 baud ን ይምረጡ (UNO ን እንደገና ያስጀምሩ እና ካስፈለገዎት ኮንሶሉን እንደገና ይክፈቱ)።
- የባሪያው አድራሻ ለማጽናኛ ያትማል።
- መቼ ፣ በመላኪያ ሳጥኑ 2 1 ውስጥ ይግቡ (ስለዚህ 12 2 1) ፣ እና ቅብብላው በርቷል።
- መቼ ፣ በመላኪያ ሳጥኑ 2 0 (ስለዚህ 12 2 0) ውስጥ ያስገቡ ፣ እና ቅብብላው ይጠፋል።
I2C BRICK adhoc ከ UNO ጌታ ለባሮች ትእዛዝ ይሰጣል።
#ያካትቱ |
const byte _num_chars = 32; |
ቻር _የተቀበሉ_ሻር [_num_chars]; // የተቀበለውን ውሂብ ለማከማቸት ድርድር |
ቡሊያን _አዲስ_ዳታ = ሐሰት; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println ("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR"); |
Serial.println (“በኮንሶል መስኮት ውስጥ የተመረጠውን አዲስ መስመር ያረጋግጡ”); |
Serial.println (); |
ተከታታይ። |
Serial.println ("አድራሻ 2 ተዋናይ ትዕዛዝ"); |
Serial.println (); |
Serial.println ("በአውቶቡስ ላይ አድራሻዎች:"); |
scan_i2c_addresses (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int device_count = 0; |
ለ (ባይት አድራሻ = 8 ፤ አድራሻ <127 ፤ አድራሻ ++) |
{ |
Wire.begin ማስተላለፊያ (አድራሻ); |
const ባይት ስህተት = Wire.endTransmission (); |
ከሆነ (ስህተት == 0) |
{ |
Serial.println (አድራሻ); |
} |
} |
} |
voidloop () { |
recv_w_marker () ጋር; |
ላክ_to_i2c (); |
} |
voidrecv_with_end_marker () { |
የማይንቀሳቀስ ባይት ndx = 0; |
char end_marker = '\ n'; |
char rc; |
ሳለ (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
ከሆነ (rc! = end_marker) { |
_የተቀበሉ_ሸቀጦች [ndx] = rc; |
ndx ++; |
ከሆነ (ndx> = _num_chars) { |
ndx = _num_chars - 1; |
} |
} |
ሌላ { |
_የተቀበሉ_ሸቀጦች [ndx] = '\ 0'; // ሕብረቁምፊውን ያቋርጡ |
ndx = 0; |
_አዲስ_ዳታ = እውነት; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const String received_string = String (_received_chars); |
ከሆነ (_has_new_data == እውነት) { |
int idx1 = received_string.indexOf (''); |
ሕብረቁምፊ አድራሻ = የተቀበለው_string.substring (0 ፣ idx1); |
int address_int = address.toInt (); |
ከሆነ (address_int <8 || address_int> 127) { |
Serial.println ("ልክ ያልሆነ የአድራሻ ግብዓት:"); |
Serial.println (አድራሻ); |
መመለስ; |
} |
int idx2 = received_string.indexOf ('', idx1+1); |
ሕብረቁምፊ ኮድ; |
ከሆነ (idx2 == -1) { |
ኮድ = የተቀበለው_ገመድ.substring (idx1+1); |
} ሌላ { |
ኮድ = የተቀበለው_ገመድ.substring (idx1+1 ፣ idx2+1); |
} |
int code_int = code.toInt (); |
ከሆነ (code_int <0 || code_int> 5) { |
Serial.println ("ልክ ያልሆነ ኮድ ማስገቢያ:"); |
Serial.println (ኮድ); |
መመለስ; |
} |
bool has_parameter = idx2> -1; |
ሕብረቁምፊ መለኪያ; |
(ካለ_ፓራሜትር) { |
መለኪያ = የተቀበለው_ገመድ.substring (idx2 + 1 ፣ idx2 + 17); // 16 chars ቢበዛ |
ከሆነ (መለኪያ። ርዝመት () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1"); |
_አዲስ_ዳታ = ሐሰት; |
መመለስ; |
} |
} ሌላ { |
ከሆነ (code_int> 1) { |
Serial.println ("PARAMETER ያስፈልጋል!"); |
_አዲስ_ዳታ = ሐሰት; |
መመለስ; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (የተቀበለው_ገመድ); |
Serial.print ("አድራሻ ="); |
Serial.println (አድራሻ); |
Serial.print ("ኮድ ="); |
Serial.println (ኮድ); |
Serial.print ("መለኪያ ="); |
Serial.println (መለኪያ); |
// በ I2C በኩል ይላኩ |
Wire.begin ማስተላለፊያ (address_int); |
Wire.write (code_int); |
(ካለ_ፓራሜትር) { |
መለኪያ.ትሪም (); |
strcpy (param_buf ፣ parameter.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println ("በ I2C በኩል ተልኳል!"); |
Serial.println (); |
Serial.println (""); |
_አዲስ_ዳታ = ሐሰት; |
} |
} |
በ GitHub የተስተናገደ rawuno_i2c_command_input.ino ን ይመልከቱ
ደረጃ 5: ቀጣይ እርምጃዎች
ተከታይ ASSIMILATE ACTOR: KY019 ይህንን ጡብ የሚጠቀም ቀደም ሲል እዚህ ATTINY85 ውስጥ በተጫነው ሜታዳታ በኩል ለ Crouton አውቶማቲክ ውቅር አለው። ለ Crouton የተላከው የ JSON ፓኬት ለ ICOS10 የቅርብ ጊዜ firmware በኩል ይላካል። ግንባታው ለአሁን በጣም ብዙ ከሆነ በተለመደው ESP8266 ላይ የማረጋገጫ-ፅንሰ-ሀሳብ ማድረግ ይችላሉ።
በ I2C አውቶቡስ ላይ ግጭት ካጋጠመዎት በፈተና ውስጥ ጥቅም ላይ የዋለው የ UNO ንድፍ አዲስ የባሪያን አድራሻ በ EETOM በ ATTINY85 ላይ የማስቀመጥ ተግባር አለው።
ጥቂት መርሃግብሮች ተጨምረዋል ፣ ግን ሊያገኙት በሚፈልጉት ላይ በመመስረት የታችኛውን ተፋሰስ ወረዳ ለማገናኘት የተለያዩ መንገዶች አሉ ፣ ስለዚህ ያንን እተውልዎታለሁ:)
የሚመከር:
500 LED-Pixel RGB-Brick: 9 ደረጃዎች (ከስዕሎች ጋር)
500 LED-Pixel RGB-Brick: ከጥቂት ጊዜ በፊት ከእነዚህ የ WS2812 LED ዎች ጋር 10x10 LED-Coffetable እሠራለሁ ፣ ግን የድሮ ትምህርት ቤት ጨዋታን እባብ ከእሱ ጋር በተገናኘ ስማርትፎን መጫወት ቢቻል እንኳን ፣ የበለጠ ነገር እፈልጋለሁ ልዩ። ስለዚህ ጥቂት ተጨማሪ ሊድዎችን በላዩ ላይ ለማድረግ ወሰንኩ ፣
IOT123 - D1M BLOCK - 2xAMUX ስብሰባ 7 ደረጃዎች (ከስዕሎች ጋር)
IOT123 - D1M BLOCK - 2xAMUX ስብሰባ: D1M ብሎኮች ለታዋቂው ዌሞስ D1 Mini SOC/ጋሻዎች/ክሎኖች ንክኪ ጉዳዮችን ፣ መለያዎችን ፣ የዋልታ መመሪያዎችን እና መሰባበርን ያክላሉ። ከ ESP8266 ቺፕ ጋር ካሉት ችግሮች አንዱ የሚገኘው አንድ የአናሎግ አይኦ ፒን ብቻ ነው። ይህ አስተማሪ 2xA እንዴት እንደሚሰበሰብ ያሳያል
IOT123 - D1M BLOCK - RFTXRX ስብሰባ: 8 ደረጃዎች
IOT123 - D1M BLOCK - RFTXRX ስብሰባ - D1M ብሎኮች ለታዋቂው ዌሞስ D1 Mini SOC/ጋሻዎች/ክሎኖች ንክኪ ጉዳዮችን ፣ መለያዎችን ፣ የዋልታ መመሪያዎችን እና መሰባበርን ያክሉ። የ RF አስተላላፊዎች/ተቀባዮች ESP8266 ነባር የቤት/የኢንዱስትሪ አውቶማቲክን እንዲደርስ ይፈቅዳሉ። ይህ መያዣ ለ 433
IOT123 - D1M BLOCK - GY521 ጉባኤ 8 ደረጃዎች
IOT123 - D1M BLOCK - GY521 ስብሰባ - D1M ብሎኮች ለታዋቂው ዌሞስ D1 Mini SOC/ጋሻዎች/ክሎኖች ንክኪ ጉዳዮችን ፣ መለያዎችን ፣ የዋልታ መመሪያዎችን እና መለያየቶችን ያክላሉ። ይህ የ D1M BLOCK በ Wemos D1 Mini እና በ GY-521 ሞዱል መካከል ቀላል ግንኙነትን ይሰጣል (አድራሻው እና ማቋረጫ ፒኖቹ ሊጣበቁ ይችላሉ
IOT123 - አስገዳጅ ተዋናይ - KY019: 4 ደረጃዎች
IOT123 - ASSIMILATE ACTOR: KY019: የዲሲ / ኤሲ ምልክትን መቆጣጠር ከሚችል 5V TIL መቆጣጠሪያ ምልክት ጋር ነው። ይህ ግንባታ በ I2C KY019 BRICK ላይ የተመሠረተ ነው። 2 ሰርጦች ከፈለጉ ፣ ይህንን ተዋናይ ለ 2CH RELAY BRICK እንዲለውጡ እመክራለሁ። ተመጣጣኝ ተዋናዮች/ዳሳሾች የአካባቢ ተዋንያን/senso ናቸው