ዝርዝር ሁኔታ:
- ደረጃ 1: ቁሳቁሶች እና መሳሪያዎች
- ደረጃ 2 ATTINY85 ን ያዘጋጁ
- ደረጃ 3 አመላካቾችን መሰብሰብ
- ደረጃ 4 - ዋናውን ወረዳ መሰብሰብ
- ደረጃ 5: ሙከራ
- ደረጃ 6: ቀጣይ እርምጃዎች
ቪዲዮ: IOT123 - I2C የልብ ምት ጡብ: 6 ደረጃዎች
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 HEARTBEAT BRICK የ ATTINY ባሪያ በሕይወት እንዳለ ፣ እንዲሁም የ I2C ትራፊክ እና አንድ ንብረት እንዳለው ያመለክታል።
ሁኔታ (“ሕያው”)
PB1 (ነጭ) የ ATTINY ጤናን ያመለክታል።
PB3 (ቢጫ) ከጌታው I2C ጥያቄዎች ጋር ይቀያይራል።
PB4 (ብርቱካንማ) ከ I2C ከጌታው በመቀበል ይቀይራል።
DIP8 ወደ ፒሲቢ በሚሸጥበት ጊዜ የፖጎ ፒን ፕሮግራም አዘጋጅን ለማንቃት ከ ATTINY85 አቅራቢያ ያሉት ቀዳዳዎች ጥቅም ላይ አልዋሉም። አንድ ተጨማሪ ረቂቅ ፣ እሴቶቹን ወደ MQTT አገልጋይ በማፍሰስ በ D1M WIFI BLOCK ማዕከል ውስጥ በሚሰኩ ትናንሽ ሲሊንደሮች ውስጥ BRICKS ን በማሸግ ላይ እየተገነባ ነው።
ደረጃ 1: ቁሳቁሶች እና መሳሪያዎች
ሙሉ የቁሳቁስ እና የመረጃ ምንጭ ዝርዝር አለ።
- የወረቀት ፒሲቢ (7 x 7 ቀዳዳዎች)
- LEDS (ቀይ ፣ አረንጓዴ ፣ ሰማያዊ)
- ተከላካዮች (3 ኪ 1 ኪ)
- ATTINY85 20PU (1)
- 1 "ባለ ሁለት ጎን ፕሮቶቦር (1)
- ወንድ ራስጌ 90º (3 ፒ ፣ 3 ፒ)
- ወንድ ራስጌ (2 ፒ ፣ 2 ፒ)
- Jumper Shunt (1)
- የሚገጣጠም ሽቦ (~ 7)
- ብረት እና ብረት (1)
ደረጃ 2 ATTINY85 ን ያዘጋጁ
ማሳሰቢያ - የ Crouton ውህደት እንዲኖርዎት ከፈለጉ እባክዎን ቤተ -መጽሐፍቱን ከዚህ ይጠቀሙ እና “attiny_heartbeat” የተጫነውን ምሳሌ ይጠቀሙ።
AttinyCore ከቦርዶች ሥራ አስኪያጅ ያስፈልጋል። የማስነሻ ጫloadውን “EEPROM እንደያዘ” ፣ “8mHZ ውስጣዊ” (ከላይ የሚታየው ሁሉም ውቅር) ያቃጥሉ።
የኮድ ማከማቻ እዚህ ይገኛል።
የቤተ መፃህፍት ዚፕ እዚህ ይገኛል።
የ «ዚፕ ቤተ -መጽሐፍትን ማስመጣት» መመሪያዎች እዚህ።
ቤተ -መጽሐፍቱ አንዴ ከተጫነ “attiny_heartbeat” የሚለውን ምሳሌ መክፈት ይችላሉ።
Firmware ን ወደ ATTINY85 ለመስቀል በእነዚህ ዝርዝሮች ውስጥ ተጨማሪ ዝርዝሮችን ማግኘት ይችላሉ-
www.instructables.com/id/Programming-the-….
www.instructables.com/id/ እንዴት-በፕሮግራም-ሀ…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/ እንዴት-በፕሮግራም-ሀ…
www.instructables.com/id/Programming-the-…
ከመቀጠልዎ በፊት በዳቦ ሰሌዳ በኩል መሞከር የተሻለ ነው።
ነባር ASSIMILATE SENSORS ካሉዎት የባሪያ አድራሻው በ SENSOR/MCU አስተናጋጅ ጥምር ላይ የተለየ መሆኑን ያረጋግጡ። በ MCU/node ላይ አንድ Relay ተዋናይ እስካለዎት ድረስ ሁሉም የ Relay ተዋናዮች ተመሳሳይ አድራሻ ሊኖራቸው ይችላል።
ደረጃ 3 አመላካቾችን መሰብሰብ
ጠቋሚዎቹ ሙሉ በሙሉ ሊበጁ የሚችሉ ናቸው። እንደ የልብ ምት የሚታየው ከዋናው ወረዳ የመጡ የክስተት ምልክቶች ናቸው። ለዚህ ግንባታ እኛ የ LED አመልካቾችን እንጠቀማለን ፤ ግንባታዎ ቅብብሎሾችን (አዎ ቪሲሲው ተሰብሯል) ወይም ሌላ በእይታ/በምልክት ላይ የተመሠረተ አመላካች መጠቀም ይችላል። የተቃዋሚ እሴቶች እርስዎ በሚፈልጉት ብሩህነት ላይ በግል ምርጫቸው ላይ ይወሰናሉ።
- ከላይ ፣ ሰማያዊ LED ን ወደ RED1 (+) እና BLACK1 (G) ፣ እና ከታች በሻጭ ያስገቡ።
- ከታች ፣ እርሳሱን ከ RED1 ጎን በማጠፍ በ SILVER8 ላይ ያለውን የመዳብ ንጣፍ ይንኩ እና ይከርክሙት።
- ከታች ፣ ከ BLACK1 በላይ ከመሸጫ በላይ እርሳስ።
- ከላይ ፣ አረንጓዴ LED ን ወደ RED2 (+) እና BLACK2 (G) ፣ እና ከታች በሻጭ ያስገቡ።
- ከታች ፣ እርሳሱን ከ RED2 ጎን በማጠፍ በ SILVER9 ላይ ያለውን የመዳብ ንጣፍ ይንኩ እና ይከርክሙት።
- ከታች ፣ ከ BLACK2 በላይ ከመሸጫ በላይ እርሳስ።
- ከላይ ፣ ቀይ LED ን ወደ RED3 (+) እና BLACK3 (G) ፣ እና ከታች በሻጭ ያስገቡ።
- ከታች ፣ እርሳሱን ከ RED3 ጎን በማጠፍ በ SILVER10 ላይ ያለውን የመዳብ ንጣፍ ይንኩ እና ይከርክሙት።
- ከታች ፣ ከ BLACK3 በላይ ከመሸጫ በላይ እርሳስ።
- ከላይ ፣ 1 ኬ resistor ወደ ቀዳዳ ቀዳዳዎች SILVER1 እና SILVER4 ያስገቡ።
- ከታች ፣ ከ SILVER1 በ BLACK1 ላይ ዱካ ፣ ማሳጠር እና የመሸጫ እርሳስ።
- ከላይ ፣ 1 ኬ resistor ወደ ቀዳዳዎቹ SILVER2 እና SILVER4 ውስጥ ያስገቡ።
- ከታች ፣ ከ SILVER2 በ BLACK2 ላይ ዱካ ፣ ማሳጠር እና የመሸጫ እርሳስ።
- ከላይ ፣ 1 ኬ resistor ወደ ቀዳዳዎቹ SILVER3 እና SILVER4 ውስጥ ያስገቡ።
- ከታች ፣ ከ SILVER3 በ BLACK3 ላይ ዱካ ፣ ማሳጠር እና የመሸጫ እርሳስ።
- ከታች ፣ በ SILVER4 ላይ የሽያጭ ሽቦዎች እና ወደ 5 ሚሜ ያህል በማራዘም ይከርክሙ።
- ከታች ፣ ጥቁር ሽቦን በ SILVER4 ላይ ሸጡት።
- ከታች ፣ ከ RED1 የመምራት ቀጣይነትን በማረጋገጥ አንድ ነጭ ሽቦን ወደ SILVER5 ሸጡ።
- ከታች ፣ ከ RED2 የመምራት ቀጣይነትን በማረጋገጥ ወደ ቢጫ ሽቦ ወደ SILVER6 ይሸጡ።
- ከታች ፣ ከ RED3 የመምራት ቀጣይነትን በማረጋገጥ የብርቱካን ሽቦን ወደ SILVER7 ይሸጡ።
ደረጃ 4 - ዋናውን ወረዳ መሰብሰብ
ስብሰባ
- ከፊት ለፊት ፣ አካላቶቹን ATTINY85 (1) ፣ 3P 90deg ወንድ ራስጌዎች (2) (3) ፣ 3 ፒ ወንድ ራስጌዎች (4) (5) እና በኋለኛው ላይ እንዲሸጡ ያድርጉ።
- ከኋላው ፣ ቢጫ ሽቦን ከ YELLOW1 እስከ YELLOW2 እና solder ይከታተሉ።
- ከኋላዎ ፣ የብርቱካን ሽቦን ከ ORANGE1 ወደ ORANGE2 እና በሻጩ ይከታተሉ።
- ከኋላው ፣ ሰማያዊ ሽቦን ከ BLUE1 ወደ BLUE2 እና በሻጩ ይከታተሉ።
- ከኋላ ፣ አረንጓዴ ሽቦን ከ GREEN1 እስከ GREEN2 እና በሻጩ ይከታተሉ።
- ከኋላው ፣ ከ WHITE1 እስከ WHITE2 እና ከሻጩ ላይ አንድ ነጭ ሽቦን ይከታተሉ።
- ከኋላው ፣ ጥቁር ሽቦን ከ BLACK1 ወደ BLACK2 እና በሻጩ ይከታተሉ።
- ከኋላው ፣ ጥቁር ሽቦን ከ BLACK3 እስከ BLACK4 እና solder ይከታተሉ።
- ከኋላው ፣ ቀይ ሽቦን ከ RED1 ወደ RED2 እና በሻጩ ይከታተሉ።
- ከኋላ በኩል ከ RED3 እስከ RED4 እና ብየዳውን ባዶ ሽቦ ይከታተሉ።
- ከኋላው ፣ ከ SILVER1 እስከ SILVER2 እና በሻጩ ላይ ባዶ ሽቦን ይከታተሉ።
- በ 5 ቮ ወይም 3 ቪ 3 መስመር ላይ ዝላይን ያክሉ።
ከላይ ያሉትን ጠቋሚዎች የሚጠቀሙ ከሆነ (የፒኖት ዲያግራምን ይመልከቱ)
- ከኋላው ፣ ነጩን ሽቦ ወደ PB1 ይሸጡ።
- ከኋላ ፣ ቢጫ ሽቦውን ወደ PB3 ይሸጡ።
- ከኋላ ፣ የብርቱካኑን ሽቦ ወደ PB4 ይሸጡ።
- ከኋላ ፣ ጥቁር ሽቦውን ወደ GND ይሸጡ።
ደረጃ 5: ሙከራ
ከእነዚህ ውስጥ በርካታ ቁጥቋጦዎች በአንድ አካባቢ ውስጥ በበርካታ መስቀሎች (MCUs - ESP8266 ወይም ATTINY84) ላይ እንደሚገኙ ይጠበቃል። ይህ የአሀድ ሙከራ ነው - የ I2C ትዕዛዞችን ከ UNO ወደ ATTINY ይልካል ይህም ተቀባዩን LED ይቀይራል። ATTINY ALIVE LED እንደበራ ይቆያል።
ከዚህ በፊት ለአርዱዲኖ 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 1 ውስጥ ይግቡ (ስለዚህ 16 2 1) ፣ እና ተቀባዩ ኤልዲ ያበራል።
- መቼ ፣ በመላኪያ ሳጥኑ 2 0 (ስለዚህ 16 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 ን ይመልከቱ
ደረጃ 6: ቀጣይ እርምጃዎች
ተከታይ ASSIMILATE ACTOR: HEARTBEAT እዚህ ATTINY85 ውስጥ በተጫነው ሜታዳታ በኩል ለ Crouton አውቶማቲክ ውቅር አለው። ለ Crouton የተላከው የ JSON ፓኬት ለ ICOS10 የቅርብ ጊዜ firmware በኩል ይላካል። ግንባታው ለአሁን በጣም ብዙ ከሆነ በተለመደው ESP8266 ላይ የማረጋገጫ-ፅንሰ-ሀሳብ ማድረግ ይችላሉ።
በ I2C አውቶቡስ ላይ ግጭት ካጋጠመዎት በፈተና ውስጥ ጥቅም ላይ የዋለው የ UNO ንድፍ አዲስ የባሪያን አድራሻ በ EETOM በ ATTINY85 ላይ የማስቀመጥ ተግባር አለው።
የሚመከር:
አርዱዲኖን በመጠቀም የልብ ምት ዳሳሽ (የልብ ምት መቆጣጠሪያ) 3 ደረጃዎች
አርዱዲኖን በመጠቀም የልብ ምት ዳሳሽ (የልብ ምት መቆጣጠሪያ) - የልብ ምት ዳሳሽ የልብ ምት ማለትም የልብ ምት ፍጥነት ለመለካት የሚያገለግል ኤሌክትሮኒክ መሣሪያ ነው። ጤንነታችንን ለመጠበቅ የሰውነት ሙቀት ፣ የልብ ምት እና የደም ግፊትን መከታተል እኛ የምናደርጋቸው መሠረታዊ ነገሮች ናቸው። የልብ ምት ዋጋ
በ “STONE LCD” ላይ የልብ ምጣኔን ከ Ar ጋር እንዴት ማሳየት እንደሚቻል: 31 ደረጃዎች
በ STONE LCD ላይ ከ Ar ጋር የልብ ምጣኔን እንዴት ማሳየት እንደሚቻል አጭር መግለጫ ከጥቂት ጊዜ በፊት በመስመር ላይ በግዢ ውስጥ የልብ ምት ዳሳሽ ሞጁል MAX30100 አግኝቻለሁ። ይህ ሞጁል የተጠቃሚ ኦክስጅንን እና የልብ ምት መረጃን መሰብሰብ ይችላል ፣ ይህም ለአጠቃቀም ቀላል እና ምቹ ነው። በመረጃው መሠረት እዚያ እንዳገኘሁ
የ LED የልብ ፎቶ ፍሬም - ፍጹም የቫለንታይን ወይም የልደት ቀን የአሁኑን ያድርጉ - 7 ደረጃዎች (ከስዕሎች ጋር)
የ LED የልብ ፎቶ ፍሬም - ፍጹም የቫለንታይን ወይም የልደት ቀንን ያድርጉ - ሰላም! በዚህ አስተማሪ ውስጥ ይህንን አስደናቂ የ LED ልብ ፎቶ ፍሬም እንዴት ማድረግ እንደሚችሉ ያሳዩዎታል። ለሁሉም የኤሌክትሮኒክስ አፍቃሪዎች! ለሚወዷቸው ሰዎች ፍጹም የቫለንታይን ፣ የልደት ቀን ወይም የልደት ቀን ያዘጋጁ! የዚህን ማሳያ ቪዲዮ ማየት ይችላሉ
የ LED የልብ ፓስተሮች -6 ደረጃዎች (ከስዕሎች ጋር)
የ LED የልብ ፓስተሮች - የ LED ልብ ፓስተሮች ለራሳቸው ይናገራሉ። እነሱ የግድ የዕለት ተዕለት መልበስ ባይሆኑም ፣ ያ ልዩ አጋጣሚዎች ሲከሰቱ (ወይም በሚያስፈልገው ጊዜ) በቦዲዎ ውስጥ በማግኘታቸው ይደሰታሉ። የልብስ ስፌት እና የኤሌክትሮኒክ ተሞክሮ ካለዎት እነዚህ ኮርሶች
IOT123 - አስገዳጅ ተዋናይ: የልብ ምት: 4 ደረጃዎች
IOT123 - ASSIMILATE ACTOR: HEARTBEAT: የ ATTINY ፣ I2C እና MQTT ትራፊክ ጤናን ያመለክታል። ይህ ግንባታ በ I2C HEARTBEAT BRICK ላይ የተመሠረተ ነው። ASSIMILATE ACTORS/SENSORS የተጨማሪ ሃርድዌር እና የሶፍትዌር ረቂቅ ንብርብር ያላቸው የአካባቢ ተዋናዮች/ዳሳሾች ናቸው ፣ ይህም ለ