Sadržaj:
- Korak 1: Materijali i alati
- Korak 2: Pripremite ATTINY85
- Korak 3: Sastavite krug
- Korak 4: Testiranje
- Korak 5: Sljedeći koraci
Video: IOT123 - I2C KY019 CIGLA: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
IOT123 CIGLE su DIY modularne jedinice koje se mogu kombinirati s drugim IOT123 CIGLAMA, za dodavanje funkcionalnosti čvoru ili nosivom uređaju. Temelje se na inčnim kvadratnim, dvostranim protoboardima s međusobno povezanim rupama.
Očekuje se da će se određeni broj ovih CIGLA nalaziti na više čvorova (glavni MCU -ovi - ESP8266 ili ATTINY84) na web mjestu. MCU -u nije potrebno prethodno znanje o namjeni senzora ili softverskim potrebama. Skenira I2C čvorove, a zatim traži dump svojstva (podatke senzora) od svakog podređenog uređaja. Ove OPEKE isporučuju 5.0V, 3.3V i drugu AUX liniju koja se može prilagoditi.
Ova I2C KY019 CIGLA prva je od GLUMACA i ima jedno svojstvo čitanja/pisanja:
Prebacivanje (true/false)
Opeke senzora tipa Keyes prvo će se apstrahirati jer dolaze s uključenim vitaminima (potrebne su dodatne komponente) i relativno su jeftine (kupio sam 37 za 10 AUD). Ostale ploče/sklopovi bit će predstavljeni I2C CIGLAMA.
Prolazne rupe uz ATTINY85 ostavljene su neiskorištene, kako bi se omogućio pogo pin programator dok je DIP8 lemljen na PCB. Razvija se daljnja apstrakcija, pakiranje CIGLA u male cilindre koji se spajaju u D1M WIFI BLOCK čvorište, pumpajući vrijednosti na MQTT poslužitelj.
Korak 1: Materijali i alati
Postoji potpuni popis materijala i izvora.
- Relej KY-019 (1)
- ATTINY85 20PU (1)
- 1 "dvostrana protoboard (1)
- Muški zaglavlje 90º (3P, 3P)
- Spojna žica (~ 7)
- Lemljenje i željezo (1)
Korak 2: Pripremite ATTINY85
NAPOMENA: Ako namjeravate imati Croutonovu integraciju, upotrijebite biblioteku odavde i upotrijebite instalirani primjer "attiny_ky019".
Potreban je AttinyCore od upravitelja odbora. Snimite bootloader "EEPROM zadržan", "8mHZ Interni" (sve konfiguracije prikazane gore).
Spremište kodova može se pronaći ovdje.
ZIP biblioteke možete pronaći ovdje.
Upute za "Uvoz ZIP knjižnice" ovdje.
Nakon što je knjižnica instalirana, možete otvoriti primjer "attiny_ky019".
Da biste učitali firmver na ATTINY85, više detalja možete pronaći u ovim uputama:
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/How-to-Program-AT…
www.instructables.com/id/How-to-program-th…
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/Programming-an-At…
Prije nastavka najbolje je testirati putem matične ploče.
Ako imate postojeće ASSIMILATE SENSORS, provjerite je li slave adresa drugačija u kombinaciji SENSOR/MCU Host, tj. Svi akteri releja mogu imati istu adresu sve dok imate samo jednog relejnog glumca na MCU/čvoru.
Korak 3: Sastavite krug
- S prednje strane umetnite komponente ATTINY85 (1), 3P 90deg muške zaglavlje (2) (3) i lemite sa stražnje strane.
- Na stražnjoj strani ucrtajte žutu žicu od ŽUTE1 do ŽUTE2 i lemite.
- Na stražnjoj strani nacrtajte plavu žicu od PLAVE1 do PLAVE2 i lemite.
- Na stražnjoj strani nacrtajte zelenu žicu od ZELENE1 do ZELENE2 i lemite.
- Na stražnjoj strani nacrtajte crnu žicu od BLACK1 do BLACK2 i lemite.
- Na stražnjoj strani nacrtajte crnu žicu od BLACK3 do BLACK4 i lemite.
- Na stražnjoj strani ocrtajte crvenu žicu od RED1 do RED2 i lemite.
- Na stražnjoj strani ocrtajte crvenu žicu od RED3 do RED4 i lemite.
Relej se sada može spojiti izravno preko svojih pinova na PCB ili žicama, na točke prikazane u ugovoru s pinovima.
Korak 4: Testiranje
Očekuje se da će određeni broj ovih CIGLA biti na više čvorova (MCU -ovi - ESP8266 ili ATTINY84) u okruženju. Ovo je jedinični test: šalje I2C naredbe iz UNO -a na ATTINY koji otvara ili zatvara relej.
Prethodno smo izgradili I2C ŠTIT za Arduino.
Ako ga umjesto toga želite zamisliti:
- Spojite 5.0V na UNO na VCC na BRICK.
- Spojite GND na UNO na GND na BRICK.
- Spojite A5 na UNO na SCL na BRICK.
- Spojite A4 na UNO na SDA na BRICK.
- Spojite 4K7 pull-up otpornik sa SDA na VCC.
- Spojite 4K7 pull-up otpornik iz SCL-a u VCC.
Pokretanje testa
- Spojite svoj UNO na svoje Dev računalo putem USB -a.
- Učitajte kôd u UNO.
- Otvorite Arduino konzolu. Odaberite 9600 bauda (ponovno pokrenite UNO i ponovno otvorite konzolu ako morate).
- Adresa podređenog uređaja ispisat će se na konzoli.
- Kada unesite u okvir za slanje 2 1 (dakle 12 2 1) i relej će se uključiti.
- Kada unesite u okvir za slanje 2 0 (dakle 12 2 0), i relej će se isključiti.
I2C BRICK adhoc naredbe za robove od UNO master -a
#uključi |
const bajt _broj_znakova = 32; |
char _primljeni_slovci [_broj_znakova]; // niz za spremanje primljenih podataka |
boolean _has_new_data = false; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println ("ASIMILIRAJ IOT ACTOR/SENSOR EEPROM EDITOR"); |
Serial.println ("osigurajte da je novi red izabran u prozoru konzole"); |
Serial.println (); |
Serial.println ("ADRESA 1 POTVRDI PRIJEM METADATA N/A (ZA M2M)"); |
Serial.println ("ZAPOVJEDA GLUMCA ADRESE 2"); |
Serial.println (); |
Serial.println ("ADRESE NA BUSU:"); |
scan_i2c_adrese (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int uređaj_broj = 0; |
for (adresa bajta = 8; adresa <127; adresa ++) |
{ |
Wire.beginTransmission (adresa); |
greška const bajta = Wire.endTransmission (); |
ako (pogreška == 0) |
{ |
Serial.println (adresa); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
statički bajt ndx = 0; |
char end_marker = '\ n'; |
char rc; |
while (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serijski.čitaj (); |
if (rc! = end_marker) { |
_primljeni_slovnici [ndx] = rc; |
ndx ++; |
if (ndx> = _broj_znakova) { |
ndx = _broj_znakova - 1; |
} |
} |
drugo { |
_received_chars [ndx] = '\ 0'; // završava niz |
ndx = 0; |
_has_new_data = true; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const niz primljen_string = niz (_primljeni_slovnici); |
if (_has_new_data == true) { |
int idx1 = primljeni_string.indexOf (''); |
Adresa niza = primljena_string.substring (0, idx1); |
int adresa_int = adresa.toInt (); |
if (adresa_int <8 || adresa_int> 127) { |
Serial.println ("INVALID ADDRESS INPUT:"); |
Serial.println (adresa); |
povratak; |
} |
int idx2 = primljeni_string.indexOf ('', idx1+1); |
Kod niza; |
if (idx2 == -1) { |
kod = primljeni_string.substring (idx1+1); |
}drugo{ |
kod = primljeni_string.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
if (code_int <0 || code_int> 5) {{100} {101} |
Serial.println ("INVALID CODE INPUT:"); |
Serial.println (kod); |
povratak; |
} |
bool has_parameter = idx2> -1; |
Parametar niza; |
if (has_parameter) {{100} {101} |
parametar = primljeni_string.substring (idx2 + 1, idx2 + 17); // maksimalno 16 znakova |
if (parameter.length () <1) { |
Serial.println ("PARTAMETAR MIN. LENGTH 1"); |
_has_new_data = false; |
povratak; |
} |
}drugo{ |
if (code_int> 1) { |
Serial.println ("PARAMETAR POTREBAN!"); |
_has_new_data = false; |
povratak; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (primljeni_ string); |
Serial.print ("adresa ="); |
Serial.println (adresa); |
Serial.print ("code ="); |
Serial.println (kod); |
Serial.print ("parameter ="); |
Serial.println (parametar); |
// POŠALJI PREKO I2C |
Wire.beginTransmission (adresa_int); |
Wire.write (code_int); |
if (ima_parametar) { |
parameter.trim (); |
strcpy (param_buf, parameter.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println ("Poslano putem I2C!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = false; |
} |
} |
pogledajte rawuno_i2c_command_input.ino hostirano sa ❤ od strane GitHub -a
Korak 5: Sljedeći koraci
Sljedeći ASIMILIRAJUĆI GLUMAC: KY019 koji koristi ovu ciglu ima automatsku konfiguraciju za Croutona putem metapodataka koji su već instalirani u ATTINY85 ovdje. JSON paket poslan Croutonu šalje se putem najnovijeg firmvera za ICOS10. Možete napraviti Proof-of-concept na običnom ESP8266, ako je za sada gradnja previše.
UNO skica korištena u Testiranju ima funkciju spremanja nove slave adrese u EEPROM na ATTINY85, ako dođe do sukoba na ciljanoj I2C sabirnici.
Dodano je nekoliko shema, ali postoje različiti načini povezivanja nizvodnog kruga ovisno o tome što želite postići, pa ću to ostaviti vama:)
Preporučeni:
IOT123 - D1M BLOK - 2xAMUX sklop: 7 koraka (sa slikama)
IOT123 - D1M BLOK - 2xAMUX sklop: D1M BLOKOVI dodaju taktilne futrole, naljepnice, vodiče za polaritet i proboje za popularne Wemos D1 Mini SOC/štitove/klonove. Jedan od problema s čipom ESP8266 je to što ima na raspolaganju samo jedan analogni IO pin. Ovo uputstvo pokazuje kako sastaviti 2xA
IOT123 - D1M BLOK - RFTXRX Sklop: 8 koraka
IOT123 - D1M BLOK - RFTXRX sklop: D1M BLOKOVI dodaju taktilne futrole, naljepnice, vodiče za polaritet i proboje za popularne Wemos D1 Mini SOC/štitove/klonove. RF odašiljači/prijamnici omogućuju ESP8266 pristup postojećoj kućnoj/industrijskoj automatizaciji. Ovo kućište omogućuje proboje za 433
IOT123 - ASIMILIRANI GLUMAC: KY019: 4 koraka
IOT123 - ASISIMILATE ACTOR: KY019: Ima 5V TIL upravljački signal koji može kontrolirati DC / AC signal. Ova se konstrukcija temelji na I2C KY019 CIGLI. Ako trebate 2 kanala, preporučujem da zamijenite ovog glumca za 2CH RELAY BRICK. ASIMILIRANI GLUMCI/SENZORI su okolišni akteri/senzo
IOT123 - LIR2032 BATERIJSKA CIGLA: 4 koraka
IOT123 - LIR2032 BATERIJSKA CigLA: IOT123 CIGLE su DIY modularne jedinice koje se mogu zgnječiti s drugim IOT123 CIGLAMA, za dodavanje funkcionalnosti čvoru ili nosivom uređaju. Temelje se na inčnim kvadratnim, dvostranim protoboardima s međusobno povezanim rupama. Iako upute
IOT123 - 5PIN ATTINY85 NRF24L01 CIGLA: 4 koraka
IOT123 - 5PIN ATTINY85 NRF24L01 CIKLA: AŽURIRANJE: Ova postavka je uglavnom akademska ili je osnova za testiranje softvera/napajanja. Čak i kad je PB5 onemogućen kao RESET, ne čita točno vrijednosti pomoću analogRead: glavnog slučaja očitanja senzora. Razmotrit će postavljanje ATTINY84