Përmbajtje:
- Hapi 1: Materialet dhe Mjetet
- Hapi 2: Përgatitni ATTINY85
- Hapi 3: Mblidhni qarkun
- Hapi 4: Testimi
- Hapi 5: Hapat e ardhshëm
Video: TOTA IOT123 - I2C 2CH RELAY: 5 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:26
TULLA IOT123 janë njësi modulare DIY që mund të përzihen me Tulla të tjera IOT123, për të shtuar funksionalitetin në një nyje ose të veshshme. Ato bazohen në protoboards katrore të inçit, të dyanshëm me ndërlidhje përmes vrimave.
Një numër i këtyre Tullave pritet të jenë në nyje të shumta (Master MCUs - ESP8266 ose ATTINY84) në një sit. MCU nuk ka nevojë për njohuri paraprake për qëllimin e sensorëve ose nevojat e softuerit. Ai skanon për nyjet I2C pastaj kërkon një deponim të pronës (të dhëna të sensorit) nga secili skllav. Këto Tulla furnizojnë 5.0V, 3.3V dhe një linjë tjetër AUX e cila është e personalizueshme.
Kjo TULL I2C 2CH RELAY shtrin funksionalitetin e TURS I2C KY019 dhe ka dy veti leximi/shkrimi:
2CH RELAYS [0] (e vërtetë/e rreme)
2CH RELAYS [1] (e vërtetë/e rreme)
Vrimat ngjitur me ATTINY85 janë lënë të papërdorura, për të mundësuar një programues pogo pin ndërsa DIP8 është ngjitur në PCB. Një abstraksion i mëtejshëm, paketimi i Tullave në cilindra të vegjël që futen në një shpërndarës D1M WIFI BLOCK, duke pompuar vlerat në një server MQTT, është duke u zhvilluar.
Hapi 1: Materialet dhe Mjetet
Ekziston një listë e plotë e Faturave të Materialeve dhe Burimeve.
- Stafetë me 2 kanale (1)
- ATTINY85 20PU (1)
- Protoboard me 1 anë (1)
- Koka e meshkujve 90º (3P, 3P)
- Koka e burrave (2P, 2P)
- Jumper Shunt (1)
- Teli lidhës (7 ~)
- Ngjitës dhe hekur (1)
Hapi 2: Përgatitni ATTINY85
SHENIM: Nëse keni ndërmend të keni integrim në Crouton, ju lutemi përdorni bibliotekën nga këtu dhe përdorni shembullin e instaluar "attiny_2ch_relay".
Nevojitet AttinyCore nga Menaxheri i Bordeve. Djeg bootloader "EEPROM Retained", "8mHZ Interior" (të gjitha konfigurimet e treguara më lart).
Depoja e kodeve mund të gjendet këtu.
Një ZIP i bibliotekës mund të gjendet këtu.
Udhëzimet për "Importimi i një biblioteke ZIP" këtu.
Pasi të jetë instaluar biblioteka, mund të hapni shembullin "attiny_2ch_relay".
Për të ngarkuar firmware-in në ATTINY85, mund të gjeni më shumë detaje në këto udhëzime:
www.instructables.com/id/How-to-Program-A…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
Më së miri për të provuar përmes bordit të bukës para se të vazhdoni.
Nëse keni Sensorë ASSIMILATE ekzistues, sigurohuni që adresa e skllavit të jetë e ndryshme në një kombinim SENSOR/MCU Host dmth. Të gjithë aktorët e Relay mund të kenë të njëjtën adresë për sa kohë që keni vetëm një aktor Relay në një MCU/nyje.
Hapi 3: Mblidhni qarkun
- Në pjesën e përparme, futni përbërësit ATTINY85 (1), titujt meshkuj 3P 90deg (2) (3), titujt meshkuj 3P (4) (5) dhe ngjitini në pjesën e pasme.
- Në pjesën e pasme, gjurmoni një tel të verdhë nga YELLOW1 në YELLOW2 dhe lidhni.
- Në pjesën e pasme, gjurmoni një tel portokalli nga ORANGE1 në ORANGE2 dhe lidhni.
- Në pjesën e pasme, gjurmoni një tel blu nga BLUE1 në BLUE2 dhe ngjiteni.
- Në pjesën e pasme, gjurmoni një tel të gjelbër nga GREEN1 në GREEN2 dhe lidhni.
- Në pjesën e pasme, gjurmoni një tel të zi nga BLACK1 në BLACK2 dhe ngjiteni.
- Në pjesën e pasme, gjurmoni një tel të zi nga BLACK3 në BLACK4 dhe ngjiteni.
- Në pjesën e pasme, gjurmoni një tel të kuq nga RED1 në RED2 dhe lidhni.
- Në pjesën e pasme, gjurmoni një tel të zhveshur nga RED3 në RED4 dhe lidhni.
- Në pjesën e pasme, gjurmoni një tel të zhveshur nga SILVER1 në SILVER2 dhe ngjiteni.
- Shtoni një bluzë në linjën 5V ose 3V3.
Stafeta tani mund të lidhet drejtpërdrejt nëpërmjet kunjave të saj në PCB ose nëpërmjet telave, në pikat e treguara në kontratën e kunjave.
Hapi 4: Testimi
Një numër i këtyre Tullave pritet të jenë në nyje të shumta (MCUs - ESP8266 ose ATTINY84) në një mjedis. Ky është një test njësie: dërgon komanda I2C nga UNO në ATTINY e cila hap ose mbyll reletë.
Ne kemi ndërtuar më parë një I2C SHIELD për Arduino.
Nëse dëshironi ta vendosni atë në vend:
- Lidhni 5.0V në UNO me një VCC në BRICK.
- Lidhni GND në UNO me GND në Tulla.
- Lidhni A5 në UNO me SCL në Tulla.
- Lidhni A4 në UNO me SDA në BRICK.
- Lidhni një rezistencë tërheqëse 4K7 nga SDA në VCC.
- Lidhni një rezistencë tërheqëse 4K7 nga SCL në VCC.
Drejtimi i testit
- Lidhni UNO -në tuaj me kompjuterin tuaj Dev me USB.
- Ngarko kodin në UNO.
- Hapni tastierën Arduino.
- Zgjidhni 9600 baud (rinisni UNO dhe rihapni tastierën nëse është e nevojshme).
- Adresa e skllavit do të printohet në tastierë.
-
Kur, futni në kutinë e dërgimit 2 0: 1 (pra 15 2 0: 1), dhe stafeta CH1 ndizet.
- Kur, futni në kutinë e dërgimit 2 0: 0 (pra 15 2 0: 0), dhe stafeta CH1 fiket.
- Kur, futni në kutinë e dërgimit 2 1: 1 (pra 15 2 1: 1), dhe stafeta CH2 ndizet.
- Kur, futni në kutinë e dërgimit 2 1: 0 (pra 15 2 0: 0), dhe stafeta CH2 fiket.
Komandat adhoc të I2C BRICK për skllevërit nga masteri i UNO
#përfshi |
const byte _num_chars = 32; |
char _marrë_chars [_num_chars]; // një grup për të ruajtur të dhënat e marra |
boolean _has_new_data = false; |
voidsetup () { |
Serial.filloj (9600); |
Serial.println (); |
Serial.println ("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR"); |
Serial.println ("siguro që linja e re e zgjedhur në dritaren e tastierës"); |
Serial.println (); |
Serial.println ("ADRESA 1 KONFIRMIMI I PETRFSHIRJES SET METADATAVE N/A (P MR M2M)"); |
Serial.println ("ADRESA 2 KOMANDA E AKTORIT"); |
Serial.println (); |
Serial.println ("Adresat në autobus:"); |
scan_i2c_adresa (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_adresat () { |
int pajisja_numër = 0; |
për (adresa e bajtit = 8; adresa <127; adresa ++) |
{ |
Wire.beginTransmetimi (adresa); |
const byte error = Wire.endTransmission (); |
nëse (gabim == 0) |
{ |
Serial.println (adresa); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
bajt statik ndx = 0; |
fundi_shënues = '\ n'; |
char rc; |
ndërsa (Serial. i disponueshëm ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
nëse (rc! = shënuesi i fundit) { |
_marrë_chars [ndx] = rc; |
ndx ++; |
nëse (ndx> = _num_chars) { |
ndx = _num_chars - 1; |
} |
} |
tjeter { |
_rriten_chars [ndx] = '\ 0'; // përfundoni vargun |
ndx = 0; |
_has_new_data = e vërtetë; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const Vija e pranuar_string = String (_cipat_ e marra); |
nëse (_has_new_data == vërtetë) { |
int idx1 = marrë_string.indexOf (''); |
Adresa e vargut = marrë_string.substring (0, idx1); |
int address_int = adresa.toInt (); |
nëse (adresa_int <8 || adresa_int> 127) { |
Serial.println ("HYRJA E ADRESS SV INVALIDIT:"); |
Serial.println (adresa); |
kthim; |
} |
int idx2 = marrë_string.indexOf ('', idx1+1); |
Kodi i vargut; |
nëse (idx2 == -1) { |
kodi = marrë_string.substring (idx1+1); |
} tjetër { |
kodi = marrë_string.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
nëse (code_int <0 || code_int> 5) { |
Serial.println ("HYRJA E KODIT TV INVALIDUAR:"); |
Serial.println (kodi); |
kthim; |
} |
bool has_parameter = idx2> -1; |
Parametri i vargut; |
nëse (ka_parametër) { |
parametër = marrë_string.substring (idx2 + 1, idx2 + 17); // 16 karaktere max |
if (parametri.length () <1) { |
Serial.println ("PARTAMETRI MIN. Gjatësia 1"); |
_has_new_data = false; |
kthim; |
} |
} tjetër { |
nëse (code_int> 1) { |
Serial.println ("PARAMETRI I KERKESUAR!"); |
_has_new_data = false; |
kthim; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (vargu i marrë); |
Serial.print ("adresa ="); |
Serial.println (adresa); |
Serial.print ("code ="); |
Serial.println (kodi); |
Serial.print ("parametri ="); |
Serial.println (parametri); |
// D SRGIMI VIA I2C |
Wire.beginTransmission (adresa_int); |
Wire.write (code_int); |
nëse (ka_parametër) { |
parametër.trim (); |
strcpy (param_buf, parametër.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println ("DENTRGUAR NGA I2C!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = false; |
} |
} |
shikoni rawuno_i2c_command_input.ino të pritur me ❤ nga GitHub
Hapi 5: Hapat e ardhshëm
Vazhdimi ASTIMILATOR ACTOR: 2CH RELAY i cili përdor këtë tullë ka konfigurim automatik për Crouton nëpërmjet meta të dhënave të instaluara tashmë në ATTINY85 këtu. Paketa JSON e dërguar në Crouton dërgohet përmes firmuerit më të fundit për ICOS10. Ju mund të bëni një Proof-of-concept në një ESP8266 të zakonshëm, nëse ndërtimi është shumë për tani.
Skica UNO e përdorur në Testim ka një funksion për të ruajtur një adresë të re skllave në EEPROM në ATTINY85, nëse keni një përplasje në autobusin tuaj të synuar I2C. Janë shtuar disa skema, por ka mënyra të ndryshme për të lidhur qarkun në rrjedhën e poshtme në varësi të asaj që dëshironi të arrini, kështu që unë do ta lë atë për ju:)
Recommended:
Komplet çelës DIY Remote Control nga 2262/2272 M4 Bread Board & Relay for Maker: 4 hapa (me fotografi)
Komplet çelës DIY Remote Control nga 2262/2272 M4 Bread Board & Relay for Maker: shtëpia e zgjuar po vjen në jetën tonë. nëse duam që shtëpia e zgjuar të bëhet e vërtetë, ne kemi nevojë për shumë ndërprerës të telekomandës. sot do të bëjmë një provë, bëjmë një qark të lehtë për të mësuar teorinë e kalimit të telekomandës. ky dizajn i kompletit nga SONONING ROBOT
Si të çmontoni një kompjuter me hapa të thjeshtë dhe fotografi: 13 hapa (me fotografi)
Si të çmontoni një kompjuter me hapa dhe fotografi të lehta: Ky është një udhëzim se si të çmontoni një kompjuter. Shumica e përbërësve bazë janë modularë dhe hiqen lehtë. Sidoqoftë, është e rëndësishme që të jeni të organizuar në lidhje me të. Kjo do t'ju ndihmojë të mos humbni pjesë, dhe gjithashtu në bërjen e ri -montimit
TOTA IOT123 - LIR2032 BATTERY: 4 hapa
TOTA IOT123 - LIR2032 BATTERY: Tullat IOT123 janë njësi modulare DIY që mund të përzihen me Tulla të tjera IOT123, për të shtuar funksionalitetin në një nyje ose të veshshme. Ato bazohen në protoboardë katrorë me inç, të dyanshëm me vrima të ndërlidhura. Edhe pse udhëzimet
Raspberry Pi DIY Relay Board: 3 hapa (me fotografi)
Raspberry Pi DIY Relay Board: Për disa projekte me mjedër dhe arduino më të vegjël më duhet të ndërroj disa stafetë. Për shkak të nivelit të prodhimit GPIO (3,3V) është e vështirë të gjesh disa stafetë që janë në gjendje të ndërrojnë ngarkesa më të mëdha dhe që mund të funksionojnë drejtpërdrejt me 3,3 voltët e dhënë. Pra, unë
NODEMCU 1.0 (ESP8266) RELAY I KONTROLLUAR P USR PRDORIM BLYNK (NVER UEB): 5 hapa (me fotografi)
NODEMCU 1.0 (ESP8266) RELAY I KONTROLLUAR PINGR PRDORIM BLYNK (NVER UEB): HI GUYS EMRI I IM PSHT P STEVEN LYLE JYOTHI DHE KJO INSHT UDHUCTZIMI I MI I PAR SI T KONTROLLOJM RELAYST N TH GROJMONC VN GROJMETRO GROVE SONY ANGLISHTI IM I KEQ