Sisällysluettelo:
- Kirjoittaja John Day [email protected].
 - Public 2024-01-30 09:02.
 - Viimeksi muokattu 2025-01-23 14:44.
 
  
  
  
  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ä
