INHOUDSOPGAWE:
- Stap 1: materiaal en gereedskap
- Stap 2: Berei die ATTINY85 voor
- Stap 3: Monteer die stroombaan
- Stap 4: Toets
- Stap 5: Volgende stappe
Video: IOT123 - I2C 2CH RELAY BRICK: 5 Stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Die IOT123 BRICKS is DIY -modulêre eenhede wat met ander IOT123 BRICKS gekombineer kan word om funksionaliteit by 'n knoop of draagbare te voeg. Hulle is gebaseer op die duim vierkantige, dubbelzijdige protoborde met onderling verbind gate.
Na verwagting sal 'n aantal van hierdie BRICKS op 'n webwerf op verskeie nodes (Master MCU's - ESP8266 of ATTINY84) wees. Die MCU benodig geen voorafgaande kennis van die sensor se doel of sagtewarebehoeftes nie. Dit soek na I2C -nodusse en versoek dan 'n eiendomsstorting (sensordata) van elke slaaf. Hierdie BRICK's bied 5.0V, 3.3V en nog 'n AUX -lyn wat aanpasbaar is.
Hierdie I2C 2CH RELAY BRICK brei die funksionaliteit van die I2C KY019 BRICK uit en het twee lees/skryf -eienskappe:
2CH RELAYS [0] (waar/onwaar)
2CH RELAYS [1] (waar/onwaar)
Die deurgate langs die ATTINY85 is ongebruik gelaat om 'n pogo-penprogrammeerder moontlik te maak terwyl die DIP8 aan die PCB gesoldeer is. 'N Verdere abstraksie, wat die BRICKS verpak in klein silinders wat by 'n D1M WIFI BLOCK -hub aansluit, wat die waardes na 'n MQTT -bediener pomp, word ontwikkel.
Stap 1: materiaal en gereedskap
Daar is 'n volledige lys van materiaal en verkrygings.
- 2 kanaal aflos (1)
- ATTINY85 20PU (1)
- 1 "dubbelzijdige protobord (1)
- Manlike kop 90º (3P, 3P)
- Manlike kop (2P, 2P)
- Trui Shunt (1)
- Aansluitdraad (~ 7)
- Soldeer en yster (1)
Stap 2: Berei die ATTINY85 voor
LET WEL: As u van plan is om Crouton -integrasie te hê, gebruik die biblioteek van hier af en gebruik die voorbeeld geïnstalleer "attiny_2ch_relay".
AttinyCore van die direksiebestuurder is nodig. Brand selflaaiprogram "EEPROM behou", "8mHZ intern" (al die konfigurasies word hierbo getoon).
Die kodebewaarplek kan hier gevind word.
'N Poskode van die biblioteek kan hier gevind word.
Instruksies vir die invoer van 'n zip -biblioteek hier.
Sodra die biblioteek geïnstalleer is, kan u die voorbeeld "attiny_2ch_relay" oopmaak.
Om die firmware na die ATTINY85 op te laai, vind u meer inligting in hierdie instruksies:
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-…
Dit is die beste om dit op 'n broodbord te toets voordat u verder gaan.
As u bestaande ASSIMILATE SENSORS het, maak seker dat die slaafadres anders is op 'n SENSOR/MCU Host -kombinasie, dit wil sê dat alle Relay -akteurs dieselfde adres kan hê, solank u slegs een Relay -akteur op 'n MCU/node het.
Stap 3: Monteer die stroombaan
- Plaas die komponente ATTINY85 (1), 3P 90deg male headers (2) (3), 3P male headers (4) (5) en soldeer aan die agterkant.
- Trek agter 'n geel draad van GEEL1 na GEEL2 en soldeer.
- Trek agter 'n oranje draad van ORANGE1 na ORANGE2 en soldeer.
- Trek agter 'n blou draad van BLUE1 na BLUE2 en soldeer.
- Aan die agterkant spoor 'n groen draad van GREEN1 na GREEN2 en soldeer.
- Trek agter 'n swart draad van BLACK1 na BLACK2 en soldeer.
- Trek agter 'n swart draad van BLACK3 na BLACK4 en soldeer.
- Trek agter 'n rooi draad van RED1 na RED2 en soldeer.
- Aan die agterkant spoor 'n kaal draad van RED3 tot RED4 en soldeer.
- Trek agter 'n kaal draad van SILVER1 na SILVER2 en soldeer.
- Voeg 'n trui by die 5V of 3V3 lyn.
Die aflos kan nou direk via sy penne aan die printplaat of via drade gekoppel word aan die punte wat in die penkontrak aangedui word.
Stap 4: Toets
'N Aantal van hierdie BRICKS sal na verwagting op verskeie knope (MCU's - ESP8266 of ATTINY84) in 'n omgewing wees. Dit is 'n eenheidstoets: stuur I2C -opdragte van die UNO na die ATTINY wat die relais oopmaak of sluit.
Ons het voorheen 'n I2C SHIELD vir Arduino gebou.
As jy dit eerder wil broodplank:
- Koppel die 5.0V op UNO aan 'n VCC op BRICK.
- Koppel die GND op UNO aan GND op BRICK.
- Koppel die A5 op UNO aan SCL op BRICK.
- Koppel die A4 op UNO aan SDA op BRICK.
- Koppel 'n 4K7-optrekweerstand van SDA na VCC.
- Koppel 'n optrekweerstand van 4K7 van SCL na VCC.
Doen die toets
- Koppel u UNO aan u Dev PC met USB.
- Laai die kode op na die UNO.
- Maak die Arduino -konsole oop.
- Kies 9600 baud (herbegin die UNO en heropen die konsole indien nodig).
- Die adres van die slaaf sal na die konsole gedruk word.
-
Wanneer, voer die stuurkassie 2 0: 1 (dus 15 2 0: 1) in, en die CH1 -aflos skakel aan.
- Wanneer, voer die stuurkas 2 0: 0 (dus 15 2 0: 0) in, en die CH1 -aflos skakel af.
- Wanneer, voer die stuurkas 2 1: 1 (dus 15 2 1: 1) in, en die CH2 -aflos skakel aan.
- Wanneer, voer die stuurkas 2 1: 0 (dus 15 2 0: 0) in, en die CH2 -aflos skakel af.
I2C BRICK adhoc -opdragte vir slawe van UNO -meester
#insluit |
const byte _num_chars = 32; |
char _received_chars [_num_chars]; // 'n skikking om die ontvangde data te stoor |
boolean _has_new_data = vals; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println ("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR"); |
Serial.println ("verseker dat nuwe lyn in die konsole -venster gekies is"); |
Serial.println (); |
Serial.println ("ADRES 1 BEVESTIG METADATA -ONTVANGS Nvt (VIR M2M)"); |
Serial.println ("ADRES 2 Akteur OPDRAG"); |
Serial.println (); |
Serial.println ("ADRES OP DIE BUS:"); |
scan_i2c_addresses (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int device_count = 0; |
vir (byte adres = 8; adres <127; adres ++) |
{ |
Wire.beginTransmission (adres); |
const byte fout = Wire.endTransmission (); |
as (fout == 0) |
{ |
Serial.println (adres); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
statiese greep ndx = 0; |
char end_marker = '\ n'; |
char rc; |
terwyl (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
as (rc! = end_marker) { |
_ontvang_tekens [ndx] = rc; |
ndx ++; |
as (ndx> = _num_chars) { |
ndx = _num_chars - 1; |
} |
} |
anders { |
_received_chars [ndx] = '\ 0'; // eindig die string |
ndx = 0; |
_has_new_data = waar; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const String received_string = String (_received_chars); |
as (_has_new_data == waar) { |
int idx1 = ontvangen_string.indexOf (''); |
Stringadres = received_string.substring (0, idx1); |
int address_int = address.toInt (); |
as (address_int <8 || address_int> 127) { |
Serial.println ("Ongeldige adresinvoer:"); |
Serial.println (adres); |
terugkeer; |
} |
int idx2 = received_string.indexOf ('', idx1+1); |
String kode; |
as (idx2 == -1) { |
kode = ontvangen_string.substring (idx1+1); |
} anders { |
kode = ontvangen_string.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
as (code_int <0 || code_int> 5) { |
Serial.println ("INGELDIGE KODE -INVOER:"); |
Serial.println (kode); |
terugkeer; |
} |
bool has_parameter = idx2> -1; |
String parameter; |
as (has_parameter) { |
parameter = ontvangen_string.substring (idx2 + 1, idx2 + 17); // 16 karakters maks |
as (parameter.length () <1) { |
Serial.println ("PARTAMETER MIN. LENGTE 1"); |
_has_new_data = vals; |
terugkeer; |
} |
} anders { |
as (code_int> 1) { |
Serial.println ("PARAMETER VEREIS!"); |
_has_new_data = vals; |
terugkeer; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (ontvangen_reeks); |
Serial.print ("adres ="); |
Serial.println (adres); |
Serial.print ("kode ="); |
Serial.println (kode); |
Serial.print ("parameter ="); |
Serial.println (parameter); |
// STUUR VIA I2C |
Wire.beginTransmission (address_int); |
Wire.write (code_int); |
as (has_parameter) { |
parameter.trim (); |
strcpy (param_buf, parameter.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println ("SENT VIA I2C!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = vals; |
} |
} |
sien rawuno_i2c_command_input.ino aangebied deur ❤ deur GitHub
Stap 5: Volgende stappe
Die opvolg ASSIMILATE ACTOR: 2CH RELAY wat hierdie baksteen gebruik, het outomatiese konfigurasie vir Crouton via die metadata wat reeds in die ATTINY85 hier geïnstalleer is. Die JSON -pakkie wat na Crouton gestuur word, word gestuur via die nuutste firmware vir die ICOS10. U kan 'n bewys van konsep op 'n gewone ESP8266 doen, as die bou vir eers te veel is.
Die UNO -skets wat in toetsing gebruik word, het 'n funksie om 'n nuwe slawe -adres in EEPROM op die ATTINY85 op te slaan, as u 'n botsing op u doel I2C -bus het. Daar is 'n paar skemas bygevoeg, maar daar is verskillende maniere om die stroomafwaartse stroombaan te bedraad, afhangende van wat u wil bereik, so ek laat dit aan u oor:)
Aanbeveel:
Hoe om op tuis gebaseerde outomatisering op IoT te sorg met NodeMCU Sensors Control Relay: 14 stappe (met foto's)
Hoe om 'n huis-outomatisering op IoT te maak met NodeMCU Sensors Control Relay: In hierdie IoT-gebaseerde projek het ek Home Automation gemaak met Blynk- en NodeMCU-kontrolerelaismodule met real-time terugvoer. In die handmatige modus kan hierdie aflosmodule beheer word vanaf 'n selfoon of 'n slimfoon en 'n handmatige skakelaar. In die outomatiese modus is hierdie smar
Hoe om 'n slim huis te maak met behulp van Arduino Control Relay Module - Tuis outomatisering idees: 15 stappe (met foto's)
Hoe om 'n slim huis te maak met behulp van Arduino Control Relay Module | Tuisautomatiseringsidees: In hierdie tuisautomatiseringsprojek ontwerp ons 'n slim huis -aflosmodule wat 5 huistoestelle kan beheer. Hierdie aflosmodule kan beheer word vanaf mobiele of slimfoon, IR -afstandsbediening of TV -afstandsbediening, handskakelaar. Hierdie slim aflos kan ook die r
Klik op Brick Switch vir Makey Makey: 4 stappe (met foto's)
Klik op Brick Switch vir Makey Makey: Met hierdie 3D -gedrukte skakelaar kan die gebruiker van 'n Makey Makey 'n " vingerskuif " vir 'n " klik " in die spel of kan die pyltjies regs/links wees om deur aanbiedings te blaai. Die toevoeging van regter- en linker terminale houers vir die
LED Strip Blinker Circuit Met 12V Relay: 7 Stappe (met foto's)
LED Strip Blinker Circuit Met 12V Relay: Hii vriend, vandag gaan ek 'n stroombaan van LED Strip Blinker maak met 12V Relay en kapasitors. Kom ons begin
Super maklike rekenaarbeheer van 110 Vac met 'n Crydom Solid-State Relay: 3 stappe (met foto's)
Super maklike rekenaarbeheer van 110 Vac met behulp van 'n Crydom Solid-State Relay: ek maak gereed om 'n warm plaat soldeer te probeer. Daarom het ek 'n manier nodig om 110Vac vanaf my rekenaar te beheer. Hierdie instruksies wys hoe u 110Vac maklik kan beheer vanaf 'n seriële uitvoerpoort op 'n rekenaar. Die reekspoort wat ek gebruik het, was 'n USB -tipe