Turinys:
- 1 žingsnis: medžiagos ir įrankiai
- 2 žingsnis: Surinkimas
- 3 žingsnis: UNO kodas
- 4 žingsnis: kiti veiksmai
Video: IOT123 - I2C BRICK MASTER JIG: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Kurdamas ASSIMILIATUOJAMUS JUTIKLIUS IR AKTORIUS, turiu ranka UNO, kuris siunčia adhoc I2C komandas kuriamiems prototipams. Vienas iš „I2C BRICKS“privalumų yra standartizuoti kaiščiai. Užuot kiekvieną kartą naudoję lentos laidus (žr. Fritzings), naudojamas tvirtas lo-tech skydas.
1 žingsnis: medžiagos ir įrankiai
- 4 cm x 6 cm vienpusis PCB (1)
- Prijungimo laidas (~ 6)
- 4K7 rezistoriai (2) 6
- Vyrų antraštė (12P, 8P)
- Moteriška antraštė (9P arba 3P, 3P)
- Lituoklis ir geležis (1)
2 žingsnis: Surinkimas
Jei naudosite 2 išjungtas 3P antraštes, o ne 1 išjungtas 9P antraštes, ASSIMILIATUOJAMAS JUTIKLIS/AKTORIAI tilps ant JIG jų neišardant.
Naudodami laidus, nuimkite galus iki 10 mm ir skardinkite galus.
- PCB apačioje įdėkite antgalį (1) (2) ir lituokite viršuje.
- PCB viršuje įdėkite antgalį (3) ir lituokite apačioje.
- Viršuje per skylę raudona viela į RED1 ir RED2.
- Apačioje laidas per skylę nuo RED1 iki RED3.
- Apačioje laidas iš skylės iš RED2 į RED5 ir lydmetalis.
- Viršuje laidas iš RED3 į RED4 ir lydmetalis.
- Viršuje per skylę raudona viela į RED6 ir RED7.
- Apačioje laidas per skylę nuo RED6 iki RED8.
- Apačioje laidas iš skylių iš RED7 į RED10 ir lydmetalis.
- Viršuje laidas iš RED8 į RED9 ir lydmetalis.
- Viršuje per skylę juoda viela į BLACK1 ir BLACK2.
- Apačioje viela per skylę nuo BLACK1 iki BLACK3.
- Apačioje laidas iš skylės iš BLACK2 į BLACK5 ir lydmetalis.
- Viršuje viela per skylę iš BLACK3 į BLACK4 ir lydmetalis.
- Viršuje per skylę mėlyna viela į BLUE1 ir BLUE2.
- Apačioje viela per skylę nuo BLUE1 iki BLUE3.
- Apačioje viela per skylę iš BLUE2 į BLUE5 ir lydmetalis.
- Viršuje viela per skylę iš BLUE3 į BLUE4 ir lydmetalis.
- Viršuje per skylę žalią laidą į GREEN1 ir GREEN2.
- Apačioje laidas iš GREEN1 į GREEN3.
- Apačioje, per skylę esanti viela iš GREEN2 į GREEN5, ir lydmetalis.
- Viršuje laidas iš GREEN3 į GREEN4 ir lydmetalis.
- Viršuje per skylę 4K7 rezistorius į SILVER3 ir SILVER4.
- Apačioje-skylė iš SILVER3 į GREEN5 ir lydmetalis.
- Apačioje laidas iš skylės iš SILVER4 į RED10 ir lydmetalis.
- Viršuje per skylę 4K7 rezistorius į SILVER1 ir SILVER2.
- Apačioje-skylės viela iš SILVER1 į BLUE5 ir lydmetalis.
- Apačioje laidas iš skylės iš SILVER2 į RED10 ir lydmetalis.
3 žingsnis: UNO kodas
Eskizas čia elementarus. Tai leidžia naudoti konsolės įvestį, kad UNO siunčia I2C pranešimus į I2C ATTINY85 BRICK.
Visos instrukcijos spausdinamos ekrane su palaikomomis parinktimis.
I2C BRICK adhoc komandos vergams iš UNO master
#įtraukti |
const baitas _num_chars = 32; |
char _gautos_ženklos [_num_chars]; // masyvas, skirtas saugoti gautus duomenis |
loginis _has_new_data = false; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println ("ASIMILIUOTI IOT AKTORIUS/JUTIKLIO EEPROM REDAKTORIUS"); |
Serial.println ("užtikrinti, kad konsolės lange būtų pasirinkta nauja eilutė"); |
Serial.println (); |
Serial.println ("1 ADRESAS PATVIRTINTI METADATO GAVIMĄ N/A (M2M)"); |
Serial.println ("2 ADRESAS AKTORIŲ KOMANDA"); |
Serial.println (); |
Serial.println ("ADRESAI BUSE:"); |
scan_i2c_addresses (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int device_count = 0; |
(baitų adresas = 8; adresas <127; adresas ++) |
{ |
Wire.beginTransmission (adresas); |
const baito klaida = Wire.endTransmission (); |
jei (klaida == 0) |
{ |
Serial.println (adresas); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
statinis baitas ndx = 0; |
char end_marker = '\ n'; |
char rc; |
nors (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
if (rc! = end_marker) { |
_sulaukė_ženklų [ndx] = rc; |
ndx ++; |
jei (ndx> = _num_chars) { |
ndx = _num_chars - 1; |
} |
} |
Kitas { |
_received_chars [ndx] = '\ 0'; // nutraukti eilutę |
ndx = 0; |
_has_new_data = tiesa; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const String gavo_string = String (_received_chars); |
jei (_turi_ naujus duomenis == tiesa) { |
int idx1 = gavo_string.indexOf (''); |
Eilutės adresas = gavo_string.substring (0, idx1); |
int address_int = address.toInt (); |
if (address_int <8 || address_int> 127) { |
Serial.println ("NETEISINGAS ADRESO ĮVADAS:"); |
Serial.println (adresas); |
grįžti; |
} |
int idx2 = gavo_string.indexOf ('', idx1+1); |
Eilutės kodas; |
jei (idx2 == -1) { |
kodas = gavo_string.substring (idx1+1); |
}Kitas{ |
kodas = gavo_string.substring (idx1+1, idx2+1); |
} |
int kodas_int = kodas.toInt (); |
if (code_int <0 || code_int> 5) { |
Serial.println ("NETEISINGAS KODO ĮVADAS:"); |
Serial.println (kodas); |
grįžti; |
} |
bool has_parameter = idx2> -1; |
Styginių parametras; |
if (has_parameter) { |
parametras = gavo_string.substring (idx2 + 1, idx2 + 17); // maks. 16 simbolių |
jei (parametras.length () <1) { |
Serial.println („PARTAMETER MIN. LENGTH 1“); |
_has_new_data = klaidinga; |
grįžti; |
} |
}Kitas{ |
if (code_int> 1) { |
Serial.println ("REIKALINGAS PARAMETRAS!"); |
_has_new_data = klaidinga; |
grįžti; |
} |
} |
Serial.println (); |
Serial.print ("įvesties orig ="); |
Serial.println (gavo_eilę); |
Serial.print ("adresas ="); |
Serial.println (adresas); |
Serial.print ("kodas ="); |
Serial.println (kodas); |
Serial.print ("parametras ="); |
Serial.println (parametras); |
// Siųsti per I2C |
Wire.beginTransmission (adresas_int); |
Wire.write (code_int); |
if (has_parameter) { |
parametras.trim (); |
strcpy (param_buf, parametras.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println ("IŠSIŲSTA I2C!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = klaidinga; |
} |
} |
peržiūrėkite rawuno_i2c_command_input.ino, kurį su „❤“priglobia „GitHub“
4 žingsnis: kiti veiksmai
Iš pateiktų konstrukcijų yra pakankamai judančių dalių, kad galėtumėte sukurti savo ASSIMILATE IOT NETWORK.
Kiekviena atskira mazgų funkcija (jutikliai ir veikėjai) yra valdoma decentralizuotai, nepriklausomai nuo to, ar MCU meistras turi žinių apie palaikomas funkcijas.
Bet kuri programa, jungianti MQTT brokerį, gali valdyti/stebėti kiekvieną IOT mazgo funkciją. Tai M2M, žiniatinklio programos, IFTTT ir pan. Daug paprastesnės (arba turtingesnės, jei jums patinka) sąsajos su jūsų IOT pasauliu.
Rekomenduojamas:
DRONE MASTER: 6 žingsniai
„DRONE MASTER“: tai 3D roboto „Tinkercad“dizainas. Suderinti ir valdyti visus dronus programose ar didelėse funkcijose ar net futbolo rungtynėse yra gana sunku. Mums reikia daugiau treniruojančių dronų operatorių. Tačiau šis AI robotas yra futuristinis ir bus b
Spustelėkite „Brick Switch for Makey Makey“: 4 žingsniai (su nuotraukomis)
Spustelėkite „Brick Switch for Makey Makey“: šis 3D spausdintas jungiklis leis vartotojui paversti „Makey Makey“į „piršto skaidrę“. jei norite spustelėti " žaidimuose arba rodyklėmis į dešinę/į kairę slinkti per pristatymus. Pridedami dešiniojo ir kairiojo gnybtų laikikliai
IOT123 - LIR2032 BATERY BRICK: 4 žingsniai
IOT123 - LIR2032 BATTERY BRICK: „IOT123 BRICKS“yra moduliniai „pasidaryk pats“įrenginiai, kuriuos galima sumaišyti su kitais IOT123 plytais, kad mazgas būtų papildomas ar nešiojamas. Jie yra pagrįsti colių kvadratinėmis dvipusiomis protobootomis, sujungtomis per skyles. Nors instrukcija
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: 4 žingsniai
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: ATNAUJINIMAS: Ši sąranka iš esmės yra akademinė arba skirta programinės įrangos/maitinimo šaltinio testavimui. Net kai PB5 yra išjungtas kaip RESET, jis tiksliai neskaito reikšmių naudodami analogRead: pagrindinį jutiklių rodmenų naudojimo atvejį. Bus išnagrinėta ATTINY84 sąranka
IOT123 - ATTINY85 PROGRAMINĖS ĮRANGOS SERIAL JIG Surinkimas: 4 žingsniai
IOT123 - ATTINY85 PROGRAMINĖS ĮRANGOS SERIJOS JIG surinkimas: Aš naudoju ATTINY85 mažos galios jutiklių masėms. Iš pradžių maniau, kad šių lustų negalima derinti naudojant konsolę, ir panaudojau keletą gražių " ten esančių " metodai, kaip pamatyti, kas vyksta vykdymo metu. Tada aš susidūriau su „SoftwareSeria“