ዝርዝር ሁኔታ:
ቪዲዮ: IOT123 - I2C 2CH RELAY BRICK: 5 ደረጃዎች (ከስዕሎች ጋር)
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:33
IOT123 BRICKS በመስቀለኛ መንገድ ወይም በሚለብስ ተግባር ላይ ለመጨመር ከሌሎች IOT123 BRICKS ጋር ሊደባለቁ የሚችሉ DIY ሞዱል አሃዶች ናቸው። እነሱ በ ኢንች ካሬ ፣ ባለ ሁለት ጎን ፕሮቶቦርዶች ቀዳዳዎች በኩል እርስ በእርስ የተገናኙ ናቸው።
የእነዚህ BRICKS ብዛት በአንድ ጣቢያ ላይ በበርካታ መስቀሎች (ማስተር MCUs - ESP8266 ወይም ATTINY84) ላይ እንደሚሆን ይጠበቃል። MCU ስለ ዳሳሾች ዓላማ ወይም የሶፍትዌር ፍላጎቶች ቅድመ ዕውቀት አያስፈልገውም። ለ I2C አንጓዎች ይቃኛል ከዚያም ከእያንዳንዱ ባሪያ የንብረት መጣል (ዳሳሽ መረጃ) ይጠይቃል። እነዚህ BRICKs 5.0V ፣ 3.3V እና ሊበጅ የሚችል ሌላ የ AUX መስመር ይሰጣሉ።
ይህ I2C 2CH RELAY BRICK የ I2C KY019 BRICK ተግባራዊነትን ያሰፋዋል ፣ እና ሁለት የንባብ/የመፃፍ ባህሪዎች አሉት
2CH RELAYS [0] (እውነት/ሐሰት)።
2CH RELAYS [1] (እውነት/ሐሰት)።
DIP8 ወደ ፒሲቢ በሚሸጥበት ጊዜ የፖጎ ፒን ፕሮግራም አዘጋጅን ለማንቃት ከ ATTINY85 አቅራቢያ ያሉት ቀዳዳዎች ጥቅም ላይ አልዋሉም። አንድ ተጨማሪ ረቂቅ ፣ እሴቶቹን ወደ MQTT አገልጋይ በማፍሰስ በ D1M WIFI BLOCK ማዕከል ውስጥ በሚሰኩ ትናንሽ ሲሊንደሮች ውስጥ BRICKS ን በማሸግ ላይ እየተገነባ ነው።
ደረጃ 1: ቁሳቁሶች እና መሳሪያዎች
ሙሉ የቁሳቁስ እና የመረጃ ምንጭ ዝርዝር አለ።
- 2 የሰርጥ ማስተላለፊያ (1)
- ATTINY85 20PU (1)
- 1 "ባለ ሁለት ጎን ፕሮቶቦር (1)
- ወንድ ራስጌ 90º (3 ፒ ፣ 3 ፒ)
- ወንድ ራስጌ (2 ፒ ፣ 2 ፒ)
- Jumper Shunt (1)
- የሚገጣጠም ሽቦ (~ 7)
- ብረት እና ብረት (1)
ደረጃ 2 ATTINY85 ን ያዘጋጁ
ማሳሰቢያ - የ Crouton ውህደት እንዲኖርዎት ከፈለጉ እባክዎን ቤተ -መጽሐፍቱን ከዚህ ይጠቀሙ እና የተጫነውን “attiny_2ch_relay” ይጠቀሙ።
AttinyCore ከቦርዶች ሥራ አስኪያጅ ያስፈልጋል። የማስነሻ ጫloadውን “EEPROM እንደያዘ” ፣ “8mHZ ውስጣዊ” (ከላይ የሚታየው ሁሉም ውቅር) ያቃጥሉ።
የኮድ ማከማቻ እዚህ ይገኛል።
የቤተ መፃህፍት ዚፕ እዚህ ይገኛል።
የ «ዚፕ ቤተ -መጽሐፍትን ማስመጣት» መመሪያዎች እዚህ።
ቤተ -መጽሐፍቱ አንዴ ከተጫነ “attiny_2ch_relay” የሚለውን ምሳሌ መክፈት ይችላሉ።
Firmware ን ወደ ATTINY85 ለመስቀል በእነዚህ ዝርዝሮች ውስጥ ተጨማሪ ዝርዝሮችን ማግኘት ይችላሉ-
www.instructables.com/id/ እንዴት-በፕሮግራም-ሀ…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
ከመቀጠልዎ በፊት በዳቦ ሰሌዳ በኩል መሞከር የተሻለ ነው።
ነባር ASSIMILATE SENSORS ካሉዎት ፣ በ MCU/node ላይ አንድ የ Relay ተዋናይ እስካለዎት ድረስ የባሪያ አድራሻው በ SENSOR/MCU አስተናጋጅ ጥምረት ላይ የተለየ መሆኑን ያረጋግጡ።
ደረጃ 3 ወረዳውን ይሰብስቡ
- ከፊት ለፊት ፣ አካላቶቹን ATTINY85 (1) ፣ 3P 90deg ወንድ ራስጌዎች (2) (3) ፣ 3 ፒ ወንድ ራስጌዎች (4) (5) እና በኋለኛው ላይ እንዲሸጡ ያድርጉ።
- ከኋላው ፣ ቢጫ ሽቦን ከ YELLOW1 እስከ YELLOW2 እና solder ይከታተሉ።
- ከኋላዎ ፣ የብርቱካን ሽቦን ከ ORANGE1 ወደ ORANGE2 እና በሻጩ ይከታተሉ።
- ከኋላው ፣ ሰማያዊ ሽቦን ከ BLUE1 ወደ BLUE2 እና በሻጩ ይከታተሉ።
- ከኋላ ፣ አረንጓዴ ሽቦን ከ GREEN1 እስከ GREEN2 እና በሻጩ ይከታተሉ።
- ከኋላው ፣ ጥቁር ሽቦን ከ BLACK1 ወደ BLACK2 እና በሻጩ ይከታተሉ።
- ከኋላው ፣ ጥቁር ሽቦን ከ BLACK3 እስከ BLACK4 እና solder ይከታተሉ።
- ከኋላው ፣ ቀይ ሽቦን ከ RED1 ወደ RED2 እና በሻጩ ይከታተሉ።
- ከኋላ በኩል ከ RED3 እስከ RED4 እና ብየዳውን ባዶ ሽቦ ይከታተሉ።
- ከኋላው ፣ ከ SILVER1 እስከ SILVER2 እና በሻጩ ላይ ባዶ ሽቦን ይከታተሉ።
- በ 5 ቮ ወይም 3 ቪ 3 መስመር ላይ ዝላይን ያክሉ።
ማስተላለፊያው አሁን በፒን ኮንትራቱ ላይ ወደሚታዩት ነጥቦች በቀጥታ በፒሲቢው ወይም በሽቦዎች በኩል ሊገናኝ ይችላል።
ደረጃ 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 ይስቀሉ።
- አርዱዲኖ ኮንሶልን ይክፈቱ።
- 9600 baud ን ይምረጡ (UNO ን እንደገና ያስጀምሩ እና ካስፈለገዎት ኮንሶሉን እንደገና ይክፈቱ)።
- የባሪያው አድራሻ ወደ ኮንሶል ያትማል።
-
መቼ ፣ በመላኪያ ሳጥኑ 2 0: 1 (ስለዚህ 15 2 0: 1) ውስጥ ያስገቡ ፣ እና የ CH1 ቅብብል በርቷል።
- መቼ ፣ በመላኪያ ሳጥኑ 2 0: 0 (ስለዚህ 15 2 0: 0) ውስጥ ያስገቡ ፣ እና የ CH1 ቅብብል ይጠፋል።
- መቼ ፣ በመላኪያ ሳጥኑ 2 1: 1 ውስጥ ያስገቡ (ስለዚህ 15 2 1: 1) ፣ እና የ CH2 ቅብብል በርቷል።
- መቼ ፣ በመላኪያ ሳጥኑ 2 1: 0 (ስለዚህ 15 2 0: 0) ውስጥ ያስገቡ ፣ እና የ CH2 ቅብብል ይጠፋል።
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: 2CH RELAY ይህንን ጡብ የሚጠቀም ቀድሞውኑ በ ATTINY85 ውስጥ በተጫነው ሜታዳታ በኩል ለ Crouton አውቶማቲክ ውቅር አለው። ለ Crouton የተላከው የ JSON ፓኬት ለ ICOS10 የቅርብ ጊዜ firmware በኩል ይላካል። ግንባታው ለአሁን በጣም ብዙ ከሆነ በተለመደው ESP8266 ላይ የማረጋገጫ-ፅንሰ-ሀሳብ ማድረግ ይችላሉ።
በ I2C አውቶቡስ ላይ ግጭት ካጋጠመዎት በፈተና ውስጥ ጥቅም ላይ የዋለው የ UNO ንድፍ አዲስ የባሪያን አድራሻ በ EETOM በ ATTINY85 ላይ የማስቀመጥ ተግባር አለው። ጥቂት መርሃግብሮች ተጨምረዋል ፣ ግን ሊያገኙት በሚፈልጉት ላይ በመመስረት የታችኛውን ተፋሰስ ወረዳ ለማገናኘት የተለያዩ መንገዶች አሉ ፣ ስለዚህ ያንን እተውልዎታለሁ:)
የሚመከር:
WI-Fi ቁጥጥር የሚደረግበት 4CH Relay ሞዱል ለቤት አውቶሜሽን 7 ደረጃዎች (ከስዕሎች ጋር)
WI-Fi ቁጥጥር የሚደረግበት የ 4CH Relay ሞዱል ለቤት አውቶሜሽን-ቀደም ሲል በአጥፊ ማብሪያ / ማጥፊያዎች ላይ በመመርኮዝ ብዙ WI-FI ን እጠቀም ነበር። ነገር ግን እነዚህ ከእኔ መስፈርቶች ጋር አይስማሙም። ለዚያም ነው የራሴን መገንባት የፈለግኩት ፣ ያለ ምንም ማሻሻያዎች መደበኛውን የግድግዳ መቀየሪያ ሶኬቶች መተካት ይችላል። ESP8266 ቺፕ Wifi ን ማንቃት ነው
የአርዱዲኖ አጋዥ ስልጠና - BLYNK Styled Button እና ESP -01 Relay Module: 3 ደረጃዎች (ከስዕሎች ጋር)
የአርዱዲኖ ማጠናከሪያ - BLYNK Styled Button እና ESP -01 Relay ሞዱል - በእኛ ሰርጥ ላይ ወደ ሌላ መማሪያ እንኳን በደህና መጡ ፣ ይህ ለ IoT ስርዓቶች የሚወሰን የዚህ የወቅቱ የመጀመሪያ አጋዥ ስልጠና ነው ፣ እዚህ አንዳንድ የመሣሪያዎቹን ባህሪዎች እና ተግባራት እንገልፃለን። በዚህ ዓይነት ስርዓቶች ውስጥ ጥቅም ላይ ውሏል። እነዚህን ለመፍጠር
500 LED-Pixel RGB-Brick: 9 ደረጃዎች (ከስዕሎች ጋር)
500 LED-Pixel RGB-Brick: ከጥቂት ጊዜ በፊት ከእነዚህ የ WS2812 LED ዎች ጋር 10x10 LED-Coffetable እሠራለሁ ፣ ግን የድሮ ትምህርት ቤት ጨዋታን እባብ ከእሱ ጋር በተገናኘ ስማርትፎን መጫወት ቢቻል እንኳን ፣ የበለጠ ነገር እፈልጋለሁ ልዩ። ስለዚህ ጥቂት ተጨማሪ ሊድዎችን በላዩ ላይ ለማድረግ ወሰንኩ ፣
ESP8266 Relay-control: 3 ደረጃዎች (ከስዕሎች ጋር)
ESP8266 Relay-control: Update (07.02.2017) ፦ የእርስዎን ESP8266 ለመቆጣጠር የፕሮግራሙን ዊንዶውስ-ስሪት አዘምነዋለሁ። እኔ “ትንሽ መስኮት” ን ጨምሬያለሁ-ሞዴ (" SW ")-እርስዎ እንዲችሉ በግራ በኩል ካለው የተግባር አሞሌዎ በላይ የፕሮግራሙን ማይክሮ-ስሪት ይዘጋል
8 የ Relay ቁጥጥር በ NodeMCU እና IR መቀበያ አማካኝነት WiFi እና IR የርቀት እና የ Android መተግበሪያን በመጠቀም 5 ደረጃዎች (ከስዕሎች ጋር)
8 በ NodeMCU እና IR Receiver አማካኝነት WiFi እና IR የርቀት እና የ Android መተግበሪያን በመጠቀም - በኖይድ እና በኢር ርቀት እና በ android መተግበሪያ ላይ nodemcu እና ir መቀበያ በመጠቀም የ 8 ቅብብል መቀየሪያዎችን መቆጣጠር። የርቀት መቆጣጠሪያው ከ wifi ግንኙነት ነፃ ነው። እዚህ የተሻሻለ የክፍያ ጠቅታ ነው እዚህ