Sisällysluettelo:
- Kirjoittaja John Day [email protected].
- Public 2024-01-30 09:03.
- Viimeksi muokattu 2025-01-23 14:44.
Kehittäessäni ASSIMILATE SENSORS ja ACTORS -järjestelmää pidän UNOa kätevästi lähettämässä adhoc I2C -komentoja kehitettäville prototyypeille. Yksi I2C BRICKSin eduista on standardoidut pistorasiat. Sen sijaan, että käytät joka kerta leipälautalankoja (katso Fritzings), käytetään tukevaa lo-tech-suojaa.
Vaihe 1: Materiaalit ja työkalut
- 4 cm x 6 cm uninersaalinen piirilevy (1)
- Liitäntäjohto (~ 6)
- 4K7 -vastukset (2) 6
- Urosotsikko (12P, 8P)
- Naarasotsikko (9P tai 3P, 3P)
- Juotos ja rauta (1)
Vaihe 2: Kokoonpano
Jos käytät 2 off 3P naarasotsikkoa 1 off 9P naarasotsikon sijasta, ASSIMILATE SENSOR/ACTORS sopii JIG -laitteeseen purkamatta niitä.
Irrota johdotuksen kanssa 10 mm: n päädyt ja tinaa päät.
- Aseta piirilevyn pohjalle urosliitin (1) (2) ja juota pois päältä.
- Aseta piirilevyn yläosaan naarasliitin (3) ja juota pois pohjasta.
- Yläreunassa punainen reikä RED1- ja RED2-reikiin.
- Pohjassa läpireikäinen johto RED1-RED3.
- Pohjassa läpivientilanka RED2: sta RED5: een ja juote.
- Ylhäällä, reikälanka RED3: sta RED4: een, ja juote.
- Yläreunassa punainen reikä RED6- ja RED7-reikiin.
- Pohjassa läpireikäinen johto RED6: sta RED8: een.
- Pohjassa läpivientilanka RED7: stä RED10: een ja juote.
- Ylhäällä, reikälanka RED8: sta RED9: een, ja juote.
- Yläreunassa musta reikä mustaan johtoon MUSTA1 ja MUSTA2.
- Pohjassa läpireikäinen johto BLACK1-BLACK3.
- Pohjassa läpireikäinen johto BLACK2: sta BLACK5: een ja juotos.
- Päällä läpireikäinen johto BLACK3: sta BLACK4: een ja juotos.
- Yläreunassa sininen reikä siniseen johtoon kohti SININEN1 ja SININEN2.
- Pohjassa läpireikäinen johto BLUE1: stä BLUE3: een.
- Pohjassa läpireikälanka BLUE2: sta BLUE5: een ja juote.
- Päällä läpireikäinen lanka BLUE3: sta BLUE4: een ja juote.
- Yläreunassa vihreä reikä GREEN1- ja GREEN2-reikiin.
- Pohjassa läpireikäinen johto GREEN1: stä GREEN3: een.
- Pohjassa läpireikäinen johto GREEN2: stä GREEN5: een ja juote.
- Yläpuolella läpivientilanka GREEN3: sta GREEN4: een ja juote.
- Yläreunassa 4K7-vastus reikään SILVER3 ja SILVER4.
- Pohjassa läpivientilanka SILVER3: sta GREEN5: een ja juote.
- Pohjassa läpivientilanka SILVER4: stä RED10: een ja juote.
- Yläreunassa 4K7-vastus reikään SILVER1 ja SILVER2.
- Pohjassa läpivientilanka SILVER1: stä siniseen 5 ja juote.
- Pohjassa läpivientilanka SILVER2: sta RED10: een ja juote.
Vaihe 3: UNO: n koodi
Luonnos tässä on alkeellinen. Sen avulla voit käyttää konsolisyöttöä, jotta UNO lähettää I2C -viestejä I2C ATTINY85 BRICKille.
Kaikki ohjeet tulostetaan näytölle tuetuilla vaihtoehdoilla.
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 4: Seuraavat vaiheet
Esitetyistä rakenteista on riittävästi liikkuvia osia, jotta voit rakentaa oman ASSIMILATE IOT -VERKON.
Jokainen solmujen yksittäinen toiminto (anturit ja toimijat) on hallittavissa hajautetusti, eikä MCU -päälliköstä ole mitään tietoa tuetuista ominaisuuksista.
Mikä tahansa MQTT -välittäjään liittyvä sovellus voi ohjata/tarkkailla kaikkia IOT -solmun ominaisuuksia. Se on M2M, verkkosovellukset, IFTTT ja niin edelleen. Paljon yksinkertaisempia (tai rikkaampia, jos haluat) rajapintoja IOT -maailmaan.
Suositeltava:
DRONE MASTER: 6 vaihetta
DRONE MASTER: Tämä on tekoälyrobotin 3D -suunnittelu, joka mahdollistaa kaikkien droneiden koordinoinnin ja ohjaamisen ohjelmissa tai suurissa toiminnoissa tai jopa jalkapallo -ottelussa. Tarvitsemme lisää kouluttavia drone -operaattoreita tekemään sen, mutta tämä AI -robotti on futuristinen ja tuleeko b
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 - 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
IOT123 - ATTINY85 OHJELMISTOSARJAN JIG -kokoonpano: 4 vaihetta
IOT123 - ATTINY85 OHJELMISTOSARJAN JIG -kokoonpano: Olen käyttänyt ATTINY85 -laitteita pienitehoisiin anturimassoihin. Alunperin ajattelin, ettei näitä siruja voi korjata konsolin avulla, ja käytin melko "" siellä " menetelmiä, joilla voi katsoa, mitä ajon aikana tapahtuu. Sitten törmäsin SoftwareSeriaan
