Përmbajtje:
Video: IOT123 - I2C MIGJERSI I Tullave të Tullave: 4 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:26
Ndërsa zhvilloj SENSORST DHE AKTORT ASSIMILATE, unë mbaj një UNO të dobishëm për dërgimin e komandave adhoc I2C tek prototipet që po zhvillohen. Një nga përfitimet e Tullave I2C janë pinetet e standardizuara. Në vend që të përdorni telat e dërrasës së bukës çdo herë (shiko Fritzings), përdoret një mburojë e fortë e teknologjisë.
Hapi 1: Materialet dhe Mjetet
- 4cm x 6cm PCB Uninersal (1)
- Teli lidhës (6 ~)
- Rezistenca 4K7 (2) 6
- Koka e meshkujve (12P, 8P)
- Koka femërore (9P, ose 3P, 3P)
- Ngjitës dhe hekur (1)
Hapi 2: Montimi
Nëse përdorni 2 tituj femra nga 3P në vend të kokës 1 off 9P, SENSORI/ASHTORT ASIMIMILAT do të përshtaten në JIG pa i çmontuar ato.
Me instalime elektrike, hiqni deri në 10 mm në skajet dhe kallajoni skajet.
- Në pjesën e poshtme të PCB, futni kokën mashkullore (1) (2) dhe ngjiteni në krye.
- Në pjesën e sipërme të PCB, futni kokën e femrës (3) dhe ngjiteni në fund.
- Në pjesën e sipërme, vrima përmes një teli të kuq në RED1 dhe RED2.
- Në pjesën e poshtme, tela përmes vrimës nga RED1 në RED3.
- Në pjesën e poshtme, tela përmes vrimës nga RED2 në RED5, dhe ngjiteni.
- Në krye, tela përmes vrimës nga RED3 në RED4, dhe ngjiteni.
- Në pjesën e sipërme, vrima përmes një teli të kuq në RED6 dhe RED7.
- Në pjesën e poshtme, tela me vrima nga RED6 në RED8.
- Në pjesën e poshtme, tela me vrima nga RED7 në RED10, dhe ngjiteni.
- Në krye, tela me vrima nga RED8 në RED9, dhe ngjiteni.
- Në krye, vrima përmes një teli të zi në BLACK1 dhe BLACK2.
- Në pjesën e poshtme, tela përmes vrimës nga BLACK1 në BLACK3.
- Në pjesën e poshtme, tela përmes vrimës nga BLACK2 në BLACK5, dhe ngjiteni.
- Në krye, tela me vrima nga BLACK3 në BLACK4, dhe ngjiteni.
- Në krye, vrima përmes një teli blu në BLUE1 dhe BLUE2.
- Në pjesën e poshtme, tela përmes vrimës nga BLUE1 në BLUE3.
- Në pjesën e poshtme, tela përmes vrimës nga BLUE2 në BLUE5, dhe ngjiteni.
- Në krye, tela përmes vrimës nga BLUE3 në BLUE4, dhe ngjiteni.
- Në krye, vrima përmes një teli të gjelbër në GREEN1 dhe GREEN2.
- Në pjesën e poshtme, tela përmes vrimës nga GREEN1 në GREEN3.
- Në pjesën e poshtme, tela përmes vrimës nga GREEN2 në GREEN5, dhe ngjiteni.
- Në krye, tela përmes vrimës nga GREEN3 në GREEN4, dhe ngjiteni.
- Në krye, vrima përmes një rezistence 4K7 në SILVER3 dhe SILVER4.
- Në pjesën e poshtme, tela përmes vrimës nga SILVER3 në GREEN5, dhe ngjiteni.
- Në pjesën e poshtme, tela me vrima nga SILVER4 në RED10, dhe ngjiteni.
- Në krye, vrima përmes një rezistence 4K7 në SILVER1 dhe SILVER2.
- Në pjesën e poshtme, tela përmes vrimës nga SILVER1 në BLUE5, dhe ngjiteni.
- Në pjesën e poshtme, tela me vrima nga SILVER2 në RED10, dhe ngjiteni.
Hapi 3: Kodi për UNO
Skica këtu është rudimentare. Kjo ju lejon të përdorni hyrjen e tastierës, për ta bërë UNO -në të dërgojë mesazhe I2C tek Tulla I2C ATTINY85.
Të gjitha udhëzimet janë të shtypura në ekran, me opsionet e mbështetura.
Komandat adhoc të I2C BRICK për skllevërit nga masteri i UNO
#përfshi |
const byte _num_chars = 32; |
char _marrë_chars [_num_chars]; // një grup për të ruajtur të dhënat e marra |
boolean _has_new_data = false; |
voidsetup () { |
Serial.filloj (9600); |
Serial.println (); |
Serial.println ("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR"); |
Serial.println ("siguro që linja e re e zgjedhur në dritaren e tastierës"); |
Serial.println (); |
Serial.println ("ADRESA 1 KONFIRMIMI I PETRFSHIRJES SET METADATAVE N/A (P MR M2M)"); |
Serial.println ("ADRESA 2 KOMANDA E AKTORIT"); |
Serial.println (); |
Serial.println ("Adresat në autobus:"); |
scan_i2c_adresa (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_adresat () { |
int pajisja_numër = 0; |
për (adresa e bajtit = 8; adresa <127; adresa ++) |
{ |
Wire.beginTransmetimi (adresa); |
const byte error = Wire.endTransmission (); |
nëse (gabim == 0) |
{ |
Serial.println (adresa); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
bajt statik ndx = 0; |
fundi_shënues = '\ n'; |
char rc; |
ndërsa (Serial. i disponueshëm ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
nëse (rc! = shënuesi i fundit) { |
_marrë_chars [ndx] = rc; |
ndx ++; |
nëse (ndx> = _num_chars) { |
ndx = _num_chars - 1; |
} |
} |
tjeter { |
_rriten_chars [ndx] = '\ 0'; // përfundoni vargun |
ndx = 0; |
_has_new_data = e vërtetë; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const Vija e pranuar_string = String (_cipat_ e marra); |
nëse (_has_new_data == vërtetë) { |
int idx1 = marrë_string.indexOf (''); |
Adresa e vargut = marrë_string.substring (0, idx1); |
int address_int = adresa.toInt (); |
nëse (adresa_int <8 || adresa_int> 127) { |
Serial.println ("HYRJA E ADRESS SV INVALIDIT:"); |
Serial.println (adresa); |
kthim; |
} |
int idx2 = marrë_string.indexOf ('', idx1+1); |
Kodi i vargut; |
nëse (idx2 == -1) { |
kodi = marrë_string.substring (idx1+1); |
} tjetër { |
kodi = marrë_string.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
nëse (code_int <0 || code_int> 5) { |
Serial.println ("HYRJA E KODIT TV INVALIDUAR:"); |
Serial.println (kodi); |
kthim; |
} |
bool has_parameter = idx2> -1; |
Parametri i vargut; |
nëse (ka_parametër) { |
parametër = marrë_string.substring (idx2 + 1, idx2 + 17); // 16 karaktere max |
if (parametri.length () <1) { |
Serial.println ("PARTAMETRI MIN. Gjatësia 1"); |
_has_new_data = false; |
kthim; |
} |
} tjetër { |
nëse (code_int> 1) { |
Serial.println ("PARAMETRI I KERKESUAR!"); |
_has_new_data = false; |
kthim; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (vargu i marrë); |
Serial.print ("adresa ="); |
Serial.println (adresa); |
Serial.print ("code ="); |
Serial.println (kodi); |
Serial.print ("parametri ="); |
Serial.println (parametri); |
// D SRGIMI VIA I2C |
Wire.beginTransmission (adresa_int); |
Wire.write (code_int); |
nëse (ka_parametër) { |
parametër.trim (); |
strcpy (param_buf, parametër.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println ("DENTRGUAR NGA I2C!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = false; |
} |
} |
shikoni rawuno_i2c_command_input.ino të pritur me ❤ nga GitHub
Hapi 4: Hapat e ardhshëm
Nga strukturat e paraqitura, ka mjaft pjesë lëvizëse për ju që të ndërtoni rrjetin tuaj ASIMIMIL IOT.
Secili nga funksionet individuale të nyjeve (sensorë dhe aktorë) janë të kontrollueshëm në një mënyrë të decentralizuar, jo në varësi të masterit të MCU që të ketë njohuri për veçoritë e mbështetura.
Çdo aplikacion që lidhet me ndërmjetësin MQTT mund të kontrollojë/vëzhgojë çdo veçori të Nyjes IOT. Kjo është M2M, aplikacionet në internet, IFTTT dhe kështu me radhë. Ndërfaqe shumë më të thjeshta (ose më të pasura nëse dëshironi) në botën tuaj IOT.
Recommended:
Klikoni Ndërrimi i tullave për Makey Makey: 4 hapa (me fotografi)
Klikoni Ndërrimi i tullave për Makey Makey: Ky çelës i printuar në 3D do t'i lejojë përdoruesit të kthejë një Makey Makey në një " rrëshqitje gishti " për një " kliko " në lojëra ose mund të jenë shigjeta djathtas/majtas për të lëvizur nëpër prezantime. Shtimi i montuesve të terminalit të djathtë dhe të majtë për
Projekti i renditjes së ngjyrave të tullave Arduino: 5 hapa
Projekti i Renditjes së Ngjyrave të Tullave Arduino: Në këtë Tutorial Arduino, ne do të mësojmë se si të zbulojmë ngjyrat e tullave të lodrave të mia duke përdorur Arduino dhe Sensorin e Ngjyrave TCS3200. Ju mund të lexoni tutorialin e shkruar më poshtë për më shumë detaje. Materialet: Arduino Leonardo x 1TCS3200 x 1Shumë karton 180 Servo
IOT123 - D1M BLOCK - 2xAMUX Montimi: 7 hapa (me fotografi)
IOT123 - D1M BLOCK - 2xAMUX Kuvendi: BLACK -et D1M shtojnë kuti prekëse, etiketa, udhëzues polariteti dhe thyerje për Wemos D1 Mini SOC/Shields/Clones të njohura. Një nga çështjet me çipin ESP8266 është se ka vetëm një pin analog IO në dispozicion. Ky udhëzues tregon se si të montoni 2xA
IOT123 - D1M BLOCK - RFTXRX Montimi: 8 hapa
IOT123 - D1M BLOCK - RFTXRX Montimi: BLACK -et D1M shtojnë kuti prekëse, etiketa, udhëzues polariteti dhe thyerje për Wemos D1 Mini SOC/Shields/Clones të njohura. Transmetuesit/Marrësit RF lejojnë ESP8266 të hyjë në automatizimin ekzistues të shtëpisë/industrisë. Kjo shtresë siguron prishje për 433/
IOT123 - D1M BLOCK - GY521 Montimi: 8 Hapa
IOT123 - Blloku D1M - GY521 Asambleja: Bllokimet D1M shtojnë kuti prekëse, etiketa, udhëzues polariteti dhe thyerje për WEMOS D1 Mini SOC/Shields/Clones të njohura. Ky BLLOK D1M jep një lidhje të thjeshtë midis Wemos D1 Mini dhe modulit GY-521 (kunjat e Adresës dhe Ndërprerjes mund të lidhen