Sisällysluettelo:
- Vaihe 1: Materiaalit ja työkalut
- Vaihe 2: Valmista ATTINY85
- Vaihe 3: Kokoa piiri
- Vaihe 4: Testaus
- Vaihe 5: Seuraavat vaiheet
Video: IOT123 - I2C 2CH RELE BRICK: 5 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
IOT123 BRICKS ovat DIY -modulaarisia yksiköitä, jotka voidaan murskata muiden IOT123 -tiilien kanssa lisätäkseen toiminnallisuutta solmuun tai puettavaan. Ne perustuvat tuuman neliön muotoisiin kaksipuolisiin protoboardeihin, joissa on toisiinsa yhdistetyt reiät.
Useiden näiden TILIKOIDEN odotetaan olevan sivuston useissa solmuissa (pää MCU: t - ESP8266 tai ATTINY84). MCU ei tarvitse ennakkotietoa antureiden tarkoituksesta tai ohjelmistotarpeista. Se etsii I2C -solmuja ja pyytää sitten ominaisuustodistusta (anturitiedot) jokaiselta orjalta. Nämä BRICK -virtalähteet tarjoavat 5,0 V: n, 3,3 V: n ja toisen AUX -linjan, joka on muokattavissa.
Tämä I2C 2CH RELAY BRICK laajentaa I2C KY019 BRICK: n toimintoja ja sillä on kaksi luku-/kirjoitusominaisuutta:
2CH RELEET [0] (tosi/epätosi)
2CH RELEET [1] (tosi/epätosi)
ATTINY85: n vieressä olevat läpireiät on jätetty käyttämättä, jotta pogo-nastainen ohjelmoija voidaan ottaa käyttöön, kun DIP8 on juotettu piirilevyyn. Jatkuvasti kerrotaan myös BRICKSien pakkaamista pieniin sylintereihin, jotka kytketään D1M WIFI BLOCK -keskittimeen ja pumpataan arvot MQTT -palvelimelle.
Vaihe 1: Materiaalit ja työkalut
Aineiston ja hankintojen luettelo on täynnä.
- 2 -kanavainen rele (1)
- ATTINY85 20PU (1)
- 1 "kaksipuolinen protoboard (1)
- Uros Otsikko 90º (3P, 3P)
- Urosotsikko (2P, 2P)
- Jumper Shunt (1)
- Liitäntäjohto (~ 7)
- Juotos ja rauta (1)
Vaihe 2: Valmista ATTINY85
HUOMAUTUS: Jos aiot käyttää Crouton -integraatiota, käytä täältä saatavaa kirjastoa ja käytä asennettua esimerkkiä "attiny_2ch_relay".
Hallituksen johtajan AttinyCore tarvitaan. Polta käynnistyslatain "EEPROM Retained", "8mHZ Internal" (kaikki kokoonpanot on esitetty yllä).
Koodivarasto löytyy täältä.
ZIP -kirjasto löytyy täältä.
Ohjeet ZIP -kirjaston tuomiseen täältä.
Kun kirjasto on asennettu, voit avata esimerkin "attiny_2ch_relay".
Jos haluat ladata laiteohjelmiston ATTINY85-laitteeseen, saat lisätietoja näistä ohjeista:
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-…
Paras testata leipälevyn kautta ennen kuin jatkat.
Jos sinulla on olemassa ASISIMILAATTI -ANTURIT, varmista, että orjaosoite on eri SENSOR/MCU -isäntäyhdistelmässä eli kaikilla välittäjillä voi olla sama osoite, kunhan sinulla on vain yksi välittäjä MCU: ssa/solmussa.
Vaihe 3: Kokoa piiri
- Aseta etuosaan osat ATTINY85 (1), 3P 90deg urospäät (2) (3), 3P urospäät (4) (5) ja juota pois takaa.
- Jäljitä takana oleva keltainen lanka KELTAISESTA 1 KELTAISEKSI2 ja juota.
- Jäljitä takana oleva oranssi lanka ORANGE1: stä ORANGE2: een ja juota.
- Jäljitä takana oleva sininen johto BLUE1 - BLUE2 ja juotos.
- Jäljitä takana oleva vihreä johto GREEN1: stä GREEN2: een ja juota.
- Jäljitä takana musta johto BLACK1: stä BLACK2: een ja juotos.
- Jäljitä takana musta johto BLACK3: sta BLACK4: ään ja juotos.
- Jäljitä takana oleva punainen johto RED1 - RED2 ja juotos.
- Jäljellä on jäljellä paljas lanka RED3: sta RED4: een ja juotos.
- Jäljellä on jäljellä paljas lanka HOPEA1 - HOPEA2 ja juote.
- Lisää hyppyjohdin 5V- tai 3V3 -linjalle.
Rele voidaan nyt liittää suoraan nastojensa kautta piirilevyyn tai johtojen kautta tappisopimuksessa esitettyihin kohtiin.
Vaihe 4: Testaus
Useiden näiden TILIKOIDEN odotetaan olevan useissa solmuissa (MCU: t - ESP8266 tai ATTINY84) ympäristössä. Tämä on yksikkötesti: lähettää I2C -komentoja UNO: sta ATTINYlle, joka avaa tai sulkee releet.
Olemme aiemmin rakentaneet I2C SHIELD: n Arduinolle.
Jos haluat leikata sen sen sijaan:
- Kytke UNO: n 5,0 V BRICKin VCC: hen.
- Yhdistä GND UNO: lla GND on BRICK.
- Liitä A5 UNO: ssa SCL on BRICK.
- Liitä UNO: n A4 -levy BRICKin SDA -liittimeen.
- Liitä 4K7-vetovastus SDA: sta VCC: hen.
- Liitä 4K7-vetovastus SCL: stä VCC: hen.
Testin suorittaminen
- Yhdistä UNO -laite Dev -tietokoneeseen USB: n avulla.
- Lähetä koodi UNO: hon.
- Avaa Arduino -konsoli.
- Valitse 9600 baudia (käynnistä UNO uudelleen ja avaa konsoli tarvittaessa uudelleen).
- Orjan osoite tulostetaan konsoliin.
-
Kun kirjoitat lähetysruutuun 2 0: 1 (siis 15 2 0: 1), CH1 -rele kytkeytyy päälle.
- Kun kirjoitat lähetysruutuun 2 0: 0 (siis 15 2 0: 0), CH1 -rele sammuu.
- Kun kirjoitat lähetysruutuun 2 1: 1 (siis 15 2 1: 1), CH2 -rele kytkeytyy päälle.
- Kun kirjoitat lähetysruutuun 2 1: 0 (siis 15 2 0: 0), CH2 -rele sammuu.
I2C BRICK adhoc -komennot orjille UNO -isännältä
#sisältää |
const tavu _num_chars = 32; |
char _saapuneet_merkit [_numero_sarjat]; // matriisi vastaanotetun datan tallentamiseksi |
boolean _has_new_data = epätosi; |
voidsetup () { |
Sarja.alku (9600); |
Sarja.println (); |
Serial.println ("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR"); |
Serial.println ("varmista, että uusi rivi on valittu konsoli -ikkunasta"); |
Sarja.println (); |
Serial.println ("OSOITE 1 VAHVISTA METATIETOSUOJA N/A (M2M: lle)"); |
Serial.println ("OSOITE 2 ACTOR COMMAND"); |
Sarja.println (); |
Serial.println ("OSOITTEET BUSSISSA:"); |
scan_i2c_addresses (); |
Sarja.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int laitteen_luku = 0; |
(tavuosoite = 8; osoite <127; osoite ++) |
{ |
Wire.beginTransmission (osoite); |
const tavuvirhe = Wire.endTransmission (); |
jos (virhe == 0) |
{ |
Serial.println (osoite); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
staattinen tavu ndx = 0; |
char end_marker = '\ n'; |
char rc; |
while (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
jos (rc! = end_marker) { |
_vastaanotetut_merkit [ndx] = rc; |
ndx ++; |
jos (ndx> = _numerot) { |
ndx = _luku_merkkiä - 1; |
} |
} |
muu { |
_received_chars [ndx] = '\ 0'; // lopettaa merkkijono |
ndx = 0; |
_has_new_data = tosi; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const Jono vastaanotettu_merkkijono = Merkkijono (_vastaanotetut_merkit); |
jos (_ has_new_data == true) { |
int idx1 = vastaanotettu_merkkijono.indexOf (''); |
Merkkijonon osoite = vastaanotettu_merkkijono.substring (0, idx1); |
int address_int = address.toInt (); |
jos (address_int <8 || address_int> 127) { |
Serial.println ("VÄÄRÄ OSOITTEEN TULO:"); |
Serial.println (osoite); |
palata; |
} |
int idx2 = vastaanotettu_merkkijono.indexOf ('', idx1+1); |
Merkkijonokoodi; |
jos (idx2 == -1) { |
koodi = vastaanotettu_merkkijono.substring (idx1+1); |
}muu{ |
koodi = vastaanotettu_merkkijono.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
jos (code_int <0 || code_int> 5) { |
Serial.println ("INVALID CODE INPUT:"); |
Serial.println (koodi); |
palata; |
} |
bool has_parameter = idx2> -1; |
Jono -parametri; |
if (has_parameter) { |
parametri = vastaanotettu_merkkijono.substring (idx2 + 1, idx2 + 17); // enintään 16 merkkiä |
jos (parametri.pituus () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1"); |
_has_new_data = epätosi; |
palata; |
} |
}muu{ |
jos (code_int> 1) { |
Serial.println ("PARAMETRI VAATII!"); |
_has_new_data = epätosi; |
palata; |
} |
} |
Sarja.println (); |
Serial.print ("input orig ="); |
Sarja.println (vastaanotettu_merkkijono); |
Serial.print ("address ="); |
Serial.println (osoite); |
Serial.print ("code ="); |
Serial.println (koodi); |
Serial.print ("parametri ="); |
Serial.println (parametri); |
// LÄHETÄ I2C |
Wire.beginTransmission (osoite_int); |
Wire.write (code_int); |
if (has_parameter) { |
parametri.trim (); |
strcpy (param_buf, parametri.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Sarja.println (); |
Serial.println ("LÄHETETTY I2C!"); |
Sarja.println (); |
Serial.println (""); |
_has_new_data = epätosi; |
} |
} |
katso rawuno_i2c_command_input.ino, jota isännöi GitHub ❤ kanssa
Vaihe 5: Seuraavat vaiheet
Seuranta-ASSIMILATE ACTOR: 2CH RELAY, joka käyttää tätä tiiliä, on automaattinen Crouton-määritys ATTINY85: een jo asennettujen metatietojen kautta. Croutonille lähetetty JSON -paketti lähetetään ICOS10: n uusimman laiteohjelmiston kautta. Voit tehdä Proof-of-concept -konseptin tavallisella ESP8266-laitteella, jos rakenne on toistaiseksi liikaa.
Testauksessa käytetyssä UNO -luonnoksessa on toiminto, joka tallentaa uuden orjaosoitteen EEPROM -laitteeseen ATTINY85 -laitteessa, jos kohde -I2C -väylässäsi on ristiriita. Muutamia kaavioita on lisätty, mutta on olemassa erilaisia tapoja kytkeä alavirtapiiri riippuen siitä, mitä haluat saavuttaa, joten jätän sen sinulle:)
Suositeltava:
Tee oma SSD -rele: 4 vaihetta (kuvilla)
Tee oma puolijohderele: Tässä projektissa tarkastellaan puolijohdereleitä, selvitetään, miten ne toimivat ja milloin niitä käytetään, ja lopulta luodaan oma DIY -puolijohderele. Aloitetaan
Valitse Brick Switch for Makey Makey: 4 Steps (kuvilla)
Napsauta Makey Makeyn tiilikytkintä: Tämän 3D -painetun kytkimen avulla käyttäjä voi muuttaa Makey Makeyn "sormiliukumiseksi". " klikkaa " pelaamisessa tai selata esityksiä oikealla/vasemmalla nuolella. Oikean ja vasemman liitännän lisäys
IOT123 - 3.3V POWER BRICK: 4 vaihetta
IOT123 - 3.3V POWER BRICK: IOT123 BRICKS ovat DIY -modulaarisia yksiköitä, jotka voidaan murskata muiden IOT123 -tiilien kanssa lisätäkseen toiminnallisuutta solmuun tai käytettäväksi. Ne perustuvat tuuman neliöön, kaksipuolisiin protobooleihin, jotka on liitetty toisiinsa reikien läpi. Vaikka ohjeet ovat
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: 4 vaihetta
IOT123 - 5PIN ATTINY85 NRF24L01 TIIVISTE: PÄIVITYS: Tämä asetus on pitkälti akateeminen tai ohjelmiston/virtalähteen testauksen perusta. Vaikka PB5 on poistettu käytöstä RESET -tilassa, se ei lue arvoja tarkasti käyttämällä analogReadia: anturin lukemien pääasiallinen käyttötapa. Tutkitaan ATTINY84 -asetuksia
Arduino -herätyskellon rele: 6 vaihetta (kuvilla)
Arduino -herätyskellon rele: Minulla on paljon vaikeuksia herätä aikaisin aamulla, varsinkin jos jäin ylös viime yönä. Pohjimmiltaan tämän projektin avulla voit avata releen näppäimistöllä ja LCD -näytöllä asettamallasi hetkellä. Tämä rele voi ohjata monia laitteita käynnistymästä