Sisällysluettelo:
- Vaihe 1: Materiaalit ja työkalut
- Vaihe 2: Kokoonpano
- Vaihe 3: UNO: n koodi
- Vaihe 4: Seuraavat vaiheet
Video: IOT123 - I2C BRICK MASTER JIG: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
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