INHOUDSOPGAWE:
Video: IOT123 - I2C BRICK MASTER JIG: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Terwyl ek die ASSIMILATE SENSORS en ACTORS ontwikkel, hou ek 'n UNO byderhand om adhoc I2C -opdragte te stuur na die prototipes wat ontwikkel word. Een van die voordele van die I2C BRICKS is die gestandaardiseerde pinouts. In plaas van elke keer broodborddrade te gebruik (sien die Fritzings), word 'n stewige lo-tech skild gebruik.
Stap 1: materiaal en gereedskap
- 4 cm x 6 cm Uninersal PCB (1)
- Aansluitdraad (~ 6)
- 4K7 -weerstande (2) 6
- Manlike kop (12P, 8P)
- Vroulike kop (9P, of 3P, 3P)
- Soldeer en yster (1)
Stap 2: Montering
As u 2 uit 3P vroulike koptekens gebruik in plaas van die 1 uit 9P vroulike kop, pas die ASSIMILATE SENSOR/ACTORS op die JIG sonder om dit uitmekaar te haal.
Met die bedrading, verwyder tot 10 mm aan die ente en maak die eindpunte vas.
- Plaas die kopstuk (1) (2) onderaan die PCB en soldeer bo -op.
- Plaas die kopstuk (3) bo -op die PCB en soldeer aan die onderkant af.
- Bo-op, maak 'n rooi draad deur die gat in RED1 en RED2.
- Aan die onderkant, 'n gat deur van RED1 na RED3.
- Aan die onderkant, deur-gat draad van RED2 in RED5, en soldeer.
- Bo-op, draad deur middel van RED3 na RED4, en soldeer.
- Bo-op, 'n rooi draad in RED6 en RED7 deur 'n gat.
- Aan die onderkant, 'n gat deur van RED6 tot RED8.
- Aan die onderkant, deur-gat draad van RED7 in RED10, en soldeer.
- Bo-op, draad deur middel van 'n gat van RED8 tot RED9 en soldeer.
- Bo-op, maak 'n swart draad deur die gat in SWART1 en SWART2.
- Onderaan, 'n gat deur die draad van BLACK1 na BLACK3.
- Onderaan, 'n gat deur die draad van BLACK2 na BLACK5 en soldeer.
- Bo-op, deurgaande draad van BLACK3 na BLACK4, en soldeer.
- Bo-op, maak 'n blou draad deur die gat in BLOU1 en BLUE2.
- Onderaan, 'n gat deur van BLUE1 na BLUE3.
- Onderaan, deurgaatdraad van BLUE2 na BLUE5 en soldeer.
- Bo-op, draad deur die gat van BLUE3 na BLUE4 en soldeer.
- Bo-op, 'n groen draad deur die gat in GREEN1 en GREEN2.
- Onderaan, 'n gat deur van GREEN1 na GREEN3.
- Onderaan, 'n gat deur die draad van GREEN2 na GREEN5 en soldeer.
- Bo-op, deurgaatdraad van GREEN3 in GREEN4 en soldeer.
- Bo-op, 'n deur met 'n 4K7-weerstand in SILVER3 en SILVER4.
- Onderaan, 'n gat deur die draad van SILVER3 na GROEN5 en soldeer.
- Onderaan, 'n gat deur die draad van SILVER4 na RED10 en soldeer.
- Bo-op, 'n deur met 'n 4K7-weerstand in SILVER1 en SILVER2.
- Onderaan, 'n gat deur die draad van SILWER1 na BLOU5 en soldeer.
- Onderaan, 'n gat deur die draad van SILVER2 na RED10 en soldeer.
Stap 3: Kode vir die UNO
Die skets hier is rudimentêr. Hiermee kan u die konsole -invoer gebruik om die UNO I2C -boodskappe na die I2C ATTINY85 BRICK te laat stuur.
Al die instruksies word op die skerm gedruk, met die ondersteunde opsies.
I2C BRICK adhoc -opdragte vir slawe van UNO -meester
#insluit |
const byte _num_chars = 32; |
char _received_chars [_num_chars]; // 'n skikking om die ontvangde data te stoor |
boolean _has_new_data = vals; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println ("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR"); |
Serial.println ("verseker dat nuwe lyn in die konsole -venster gekies is"); |
Serial.println (); |
Serial.println ("ADRES 1 BEVESTIG METADATA -ONTVANGS Nvt (VIR M2M)"); |
Serial.println ("ADRES 2 Akteur OPDRAG"); |
Serial.println (); |
Serial.println ("ADRES OP DIE BUS:"); |
scan_i2c_addresses (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int device_count = 0; |
vir (byte adres = 8; adres <127; adres ++) |
{ |
Wire.beginTransmission (adres); |
const byte fout = Wire.endTransmission (); |
as (fout == 0) |
{ |
Serial.println (adres); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
statiese greep ndx = 0; |
char end_marker = '\ n'; |
char rc; |
terwyl (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
as (rc! = end_marker) { |
_ontvang_tekens [ndx] = rc; |
ndx ++; |
as (ndx> = _num_chars) { |
ndx = _num_chars - 1; |
} |
} |
anders { |
_received_chars [ndx] = '\ 0'; // eindig die string |
ndx = 0; |
_has_new_data = waar; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const String received_string = String (_received_chars); |
as (_has_new_data == waar) { |
int idx1 = ontvangen_string.indexOf (''); |
Stringadres = received_string.substring (0, idx1); |
int address_int = address.toInt (); |
as (address_int <8 || address_int> 127) { |
Serial.println ("Ongeldige adresinvoer:"); |
Serial.println (adres); |
terugkeer; |
} |
int idx2 = received_string.indexOf ('', idx1+1); |
String kode; |
as (idx2 == -1) { |
kode = ontvangen_string.substring (idx1+1); |
} anders { |
kode = ontvangen_string.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
as (code_int <0 || code_int> 5) { |
Serial.println ("INGELDIGE KODE -INVOER:"); |
Serial.println (kode); |
terugkeer; |
} |
bool has_parameter = idx2> -1; |
String parameter; |
as (has_parameter) { |
parameter = ontvangen_string.substring (idx2 + 1, idx2 + 17); // 16 karakters maks |
as (parameter.length () <1) { |
Serial.println ("PARTAMETER MIN. LENGTE 1"); |
_has_new_data = vals; |
terugkeer; |
} |
} anders { |
as (code_int> 1) { |
Serial.println ("PARAMETER VEREIS!"); |
_has_new_data = vals; |
terugkeer; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (ontvangen_reeks); |
Serial.print ("adres ="); |
Serial.println (adres); |
Serial.print ("kode ="); |
Serial.println (kode); |
Serial.print ("parameter ="); |
Serial.println (parameter); |
// STUUR VIA I2C |
Wire.beginTransmission (address_int); |
Wire.write (code_int); |
as (has_parameter) { |
parameter.trim (); |
strcpy (param_buf, parameter.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println ("SENT VIA I2C!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = vals; |
} |
} |
sien rawuno_i2c_command_input.ino aangebied deur ❤ deur GitHub
Stap 4: Volgende stappe
Uit die weergawes wat aangebied word, is daar genoeg bewegende dele om u eie ASSIMILATE IOT NETWORK te bou.
Elkeen van die individuele funksies van die nodusse (sensors en akteurs) kan op 'n gedesentraliseerde wyse beheer word, nie afhanklik van die MCU -meester om kennis te dra van die funksies nie.
Elke app wat met die MQTT -makelaar verbind word, kan elke funksie van die IOT Node beheer/waarneem. Dit is M2M, webtoepassings, IFTTT en so meer. Veel eenvoudiger (of ryker as u wil) koppelvlakke met u IOT -wêreld.
Aanbeveel:
DRONE MASTER: 6 stappe
DRONE MASTER: Dit is 'n tinkercad 3D -ontwerp van 'n AI -robot. Dit is redelik moeilik om alle drones te koördineer en te beheer in programme of groot funksies of selfs in 'n sokkerwedstryd. Ons het meer opgeleide drone -operateurs nodig om dit te doen. en sal b
Klik op Brick Switch vir Makey Makey: 4 stappe (met foto's)
Klik op Brick Switch vir Makey Makey: Met hierdie 3D -gedrukte skakelaar kan die gebruiker van 'n Makey Makey 'n " vingerskuif " vir 'n " klik " in die spel of kan die pyltjies regs/links wees om deur aanbiedings te blaai. Die toevoeging van regter- en linker terminale houers vir die
Ligte intensiteit planne met behulp van Arduino en Python's Arduino Master Library: 5 stappe
Ligte intensiteit met behulp van Arduino en Python se Arduino Master Library: Arduino is 'n ekonomiese, maar tog baie doeltreffende en funksionele hulpmiddel, en die programmering in Embedded C maak die proses vervelig! Die Arduino_Master -module van Python vereenvoudig dit en laat ons berekeninge uitvoer, vulliswaardes verwyder
Arduino Brick Color Sorter -projek: 5 stappe
Arduino Brick Color Sorter Project: In hierdie Arduino -tutoriaal leer ons hoe om kleure van my speelgoedsteen op te spoor deur Arduino en die TCS3200 -kleursensor te gebruik. U kan die geskrewe handleiding hieronder lees vir meer besonderhede.Materiaal: Arduino Leonardo x 1TCS3200 x 1 Baie karton180 Servo
IOT123 - ATTINY85 Sagteware -seriële jig -samestelling: 4 stappe
IOT123 - ATTINY85 SOFTWARE SERIAL JIG Assembly: Ek het ATTINY85's gebruik vir lae -krag sensor mashups. Oorspronklik het ek gedink dat daar geen manier is om hierdie skyfies met 'n konsole te ontfout nie, en ek het 'n paar mooi " daar buite gebruik " metodes om te kyk wat aan die gang is. Toe kom ek op SoftwareSeria af