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 KY019 BRICK: 5 vaihetta
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 KY019 BRICK on ensimmäinen TOIMIJOISTA, ja sillä on yksi luku/kirjoitus -ominaisuus:
Vaihda (tosi/epätosi)
Keyes -tyyppiset anturikivet otetaan ensin, koska ne sisältävät vitamiineja (lisäkomponentteja tarvitaan) ja ovat suhteellisen kevyitä (ostin 37 hintaan 10AUD). Muut levyt/piirit esitetään I2C BRICKSissä.
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ä.
- KY-019 Rele (1)
- ATTINY85 20PU (1)
- 1 "kaksipuolinen protoboard (1)
- Uros Otsikko 90º (3P, 3P)
- Liitäntäjohto (~ 7)
- Juotos ja rauta (1)
Vaihe 2: Valmista ATTINY85
HUOMAUTUS: Jos aiot käyttää Crouton -integraatiota, käytä tästä saatavaa kirjastoa ja käytä asennettua esimerkkiä "attiny_ky019".
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_ky019".
Jos haluat ladata laiteohjelmiston ATTINY85 -laitteeseen, saat lisätietoja näistä ohjeista:
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/How-to-Program-AT…
www.instructables.com/id/How-to-program-th…
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/Programming-an-At…
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) ja juota pois takaa.
- Jäljitä takana oleva keltainen lanka KELTAISESTA 1 KELTAISEKSI2 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äljitä takana oleva punainen johto RED3 - RED4 ja juotos.
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 releen.
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 konsolille.
- Kun kirjoitat lähetysruutuun 2 1 (eli 12 2 1), rele kytkeytyy päälle.
- Kun kirjoitat lähetysruutuun 2 0 (eli 12 2 0), 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
Seuraavassa ASSIMILATE ACTOR: KY019: ssä, joka käyttää tätä tiiliä, on Croutonin automaattinen määritys metatietojen kautta, jotka on jo asennettu ATTINY85: een. 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:
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
Arduino Brick Color Sorter Project: 5 vaihetta
Arduino Brick Color Sorter Project: Tässä Arduino -opetusohjelmassa opimme tunnistamaan lelutiilini värit Arduinon ja TCS3200 -värianturin avulla. Voit lukea alla olevasta kirjallisesta opetusohjelmasta lisätietoja.Materiaalit: Arduino Leonardo x 1TCS3200 x 1 Paljon pahvia180 Servo
IOT123 - ASSIMILAATTINÄITÄJÄ: KY019: 4 vaihetta
IOT123 - ASSIMILAATTINEN TOIMITTAJA: KY019: Siinä on 5 V: n TIL -ohjaussignaali, joka voi ohjata DC / AC -signaalia.Tämä rakenne perustuu I2C KY019 BRICK -rakenteeseen. Jos tarvitset 2 kanavaa, suosittelen vaihtamaan tämän näyttelijän 2CH RELAY BRICK. ASIMILAATTORIT/ANTURIT ovat ympäristön toimijoita/senso
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