Sisukord:
Video: IOT123 - I2C BRICK MASTER JIG: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
ASSIMILAATSENSORITE ja NÄITLEJATE arendamisel hoian UNO käepärast, et saata arendatavatele prototüüpidele adhoc I2C käske. Üks I2C BRICKS eeliseid on standardiseeritud pistikud. Selle asemel, et iga kord leivaplaadi juhtmeid kasutada (vt Fritzings), kasutatakse tugevat lo-tech kilpi.
Samm: materjalid ja tööriistad
- 4 cm x 6 cm Uninersal PCB (1)
- Ühendusjuhe (~ 6)
- 4K7 takistid (2) 6
- Isane päis (12P, 8P)
- Naispäis (9P või 3P, 3P)
- Jootmine ja triikraud (1)
2. samm: kokkupanek
Kui kasutate 1 off 9P naissoost päise asemel 2 välja lülitatud 3P naissoost päist, sobivad ASSIMILEERITUD ANDURID/NÄITLEJAD JIGile ilma neid lahti võtmata.
Juhtmetega eemaldage otstest kuni 10 mm ja tinake otsad.
- Sisestage trükkplaadi põhjale isane päis (1) (2) ja jootke pealt ära.
- Sisestage trükkplaadi ülaosale naissoost päis (3) ja jootke see alt ära.
- Ülaosas avage punane juhe RED1 ja RED2 sisse.
- Altpoolt läbiv auku traat RED1 kuni RED3.
- Altpoolt läbiv auguga traat RED2-st RED5-le ja jootmine.
- Ülaosas läbiv auguga traat RED3-st RED4-ni ja jootmine.
- Ülaosas avage punane juhe RED6 ja RED7 sisse.
- Altpoolt läbiv auguga traat RED6-st RED8-ni.
- Altpoolt läbiv auguga traat RED7-st RED10-ni ja jootmine.
- Peal läbiv auguga traat RED8-st RED9-ni ja jootmine.
- Ülaosas tehke mustast juhtmest auk mustadeks mustadeks ja mustadeks.
- Altpoolt läbiv auk juhe mustast1 mustani3.
- Altpoolt läbiv auk juhe BLACK2-st BLACK5-ni ja jootmine.
- Peal, aukudega traat BLACK3-st BLACK4-ni ja jootmine.
- Ülaosas avage sinine juhe aukudeks BLUE1 ja BLUE2.
- Altpoolt läbiv auk juhe BLUE1 kuni BLUE3.
- Altpoolt läbiv auguga traat BLUE2-st BLUE5-ni ja jootmine.
- Peal, läbi aukude traat BLUE3-st BLUE4-ni ja jootma.
- Ülaosas avage roheline juhe GREEN1 ja GREEN2 sisse.
- Altpoolt läbiv auku juhtmest GREEN1 kuni GREEN3.
- Põhjas GREEN2-st GREEN5-ni läbiv auku juht ja jootma.
- Peal, läbi aukude traat GREEN3-st GREEN4-ni ja jootma.
- Ülaosas avage läbi 4K7 takisti SILVER3 ja SILVER4.
- Altpoolt läbiv auguga traat SILVER3-st roheliseks 5 ja jootma.
- Altpoolt läbiv auguga traat SILVER4-st RED10-sse ja jootma.
- Ülaosas avage läbi 4K7 takisti SILVER1 ja SILVER2.
- Altpoolt läbiv auguga traat SILVER1-st siniseks 5 ja jootma.
- Altpoolt läbiv auguga traat SILVER2-st RED10-sse ja jootma.
3. samm: UNO kood
Eskiis on siin algeline. See võimaldab teil kasutada konsooli sisendit, et panna UNO saatma I2C sõnumeid I2C ATTINY85 BRICK -le.
Kõik juhised prinditakse ekraanile koos toetatud valikutega.
I2C BRICK adhoc käsud orjade jaoks UNO isandalt
#kaasake |
const bait _num_chars = 32; |
süsi _saanud_süklid [_arv_süsi]; // massiiv vastuvõetud andmete salvestamiseks |
boolean _has_new_data = vale; |
voidsetup () { |
Seriaalne algus (9600); |
Serial.println (); |
Serial. |
Serial.println ("veenduge, et konsooliaknas oleks valitud uus rida"); |
Serial.println (); |
Serial.println ("AADRESS 1 KINNITA METADATAHETUSE N/A (M2M jaoks)"); |
Serial.println ("AADRESS 2 ACTOR COMMAND"); |
Serial.println (); |
Serial.println ("AADRESSID BUSSIL:"); |
scan_i2c_addresses (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int seadme_arv = 0; |
jaoks (bait -aadress = 8; aadress <127; aadress ++) |
{ |
Wire.beginTransmission (aadress); |
const baidi viga = Wire.endTransmission (); |
kui (viga == 0) |
{ |
Serial.println (aadress); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
staatiline bait ndx = 0; |
char end_marker = '\ n'; |
char rc; |
samas (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
if (rc! = end_marker) { |
_laekunud_karbid [ndx] = rc; |
ndx ++; |
kui (ndx> = _numbrite arv) { |
ndx = _arvude_arv - 1; |
} |
} |
muu { |
_received_chars [ndx] = '\ 0'; // lõpetada string |
ndx = 0; |
_has_new_data = tõsi; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const String vastuvõetud_string = String (_saadatud_märgid); |
if (_ has_new_data == true) { |
int idx1 = vastuvõetud_string.indexOf (''); |
Stringi aadress = vastuvõetud_string.alamstring (0, idx1); |
int address_int = aadress.toInt (); |
kui (aadress_int <8 || aadress_int> 127) { |
Serial.println ("INVALID ADDRESS INPUT:"); |
Serial.println (aadress); |
tagasipöördumine; |
} |
int idx2 = saanud_string.indexOf ('', idx1+1); |
String kood; |
kui (idx2 == -1) { |
kood = vastuvõetud_string.alamstring (idx1+1); |
} muud { |
kood = vastuvõetud_string.alamstring (idx1+1, idx2+1); |
} |
int kood_int = kood.toInt (); |
kui (kood_int <0 || kood_int> 5) { |
Serial.println ("VÄÄRATUD KOODISISEND:"); |
Serial.println (kood); |
tagasipöördumine; |
} |
bool has_parameter = idx2> -1; |
String parameeter; |
if (has_parameter) { |
parameeter = vastuvõetud_string.alamstring (idx2 + 1, idx2 + 17); // max 16 märki |
kui (parameeter.pikkus () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1"); |
_has_new_data = vale; |
tagasipöördumine; |
} |
} muud { |
kui (kood_int> 1) { |
Serial.println ("PARAMETER ON VAJALIK!"); |
_has_new_data = vale; |
tagasipöördumine; |
} |
} |
Serial.println (); |
Serial.print ("sisend orig ="); |
Seeria.println (saadud_string); |
Serial.print ("aadress ="); |
Serial.println (aadress); |
Serial.print ("kood ="); |
Serial.println (kood); |
Serial.print ("parameeter ="); |
Serial.println (parameeter); |
// SAADA I2C kaudu |
Wire.beginTransmission (aadress_int); |
Wire.write (kood_int); |
if (has_parameter) { |
parameeter.trim (); |
strcpy (param_buf, parameeter.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println ("SAATIS I2C VIA!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = vale; |
} |
} |
vaata rawuno_i2c_command_input.ino, mille hostiks on GitHub ❤
Samm: järgmised sammud
Esitatud konstruktsioonidest on piisavalt ASSIMILATE IOT NETWORKi loomiseks piisavalt liikuvaid osi.
Sõlmede üksikuid funktsioone (andureid ja osalejaid) saab detsentraliseeritult juhtida, sõltumata sellest, kas MCU kaptenil on teadmisi toetatud funktsioonide kohta.
Iga MQTT maakleriga ühenduv rakendus saab kontrollida/jälgida IOT -sõlme kõiki funktsioone. See on M2M, veebirakendused, IFTTT ja nii edasi. Palju lihtsamad (või rikkalikumad, kui soovite) liidesed teie IOT -maailmaga.
Soovitan:
Makey Makey jaoks klõpsake Brick Switch: 4 sammu (piltidega)
Makey Makey jaoks klõpsake Brick Switch: See 3D -prinditud lüliti võimaldab kasutajal muuta Makey Makey " sõrmeslaidiks " " klõps " mängudes või esitluste sirvimiseks paremale/vasakule nooled. Parema ja vasaku klemmikinnituse lisamine
IOT123 - ATTINY85 ONBOARD PROGRAMMING JIG: 3 sammu
IOT123 - ATTINY85 ONBOARD PROGRAMMING JIG: BRICK disainilahenduste puhul olen maininud, et ATTINY85ga külgnevad läbivad augud on kasutamata jäänud, et võimaldada pogo pin programmeerijat ajal, kui DIP8 on PCB -le joodetud. See on see pogo pin programmeerija. See on tõesti lihtsalt adapteri juhe
IOT123 - 3.3V POWER BRICK: 4 sammu
IOT123 - 3.3V POWER BRICK: IOT123 BRICKS on isetehtud modulaarsed seadmed, mida saab teiste IOT123 BRICKS -ga kokku segada, et lisada sõlmele või kantavale funktsionaalsust. Need põhinevad tolli ruudul, kahepoolsed protoboards, mis on omavahel ühendatud aukudega. Kuigi juhend
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: 4 sammu
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: UPDATE: See seadistus on suures osas akadeemiline või tarkvara/toiteallika testimise alus. Isegi kui PB5 on nullimisel keelatud, ei loe see väärtusi täpselt, kasutades analogRead: andurite näitude peamine kasutusviis. Uurib ATTINY84 seadistust
IOT123 - ATTINY85 TARKVARA SERIAL JIG Kokkupanek: 4 sammu
IOT123 - ATTINY85 TARKVARA SERIAL JIG Assamblee: Olen kasutanud ATTINY85 -d väikese võimsusega andurite segamiseks. Algselt arvasin, et neid kiipe pole võimalik konsooli abil siluda, ja kasutasin mõnda ilusat " seal " meetodid toimuva aja vaatamiseks. Siis sattusin ma SoftwareSeria juurde