Sadržaj:
- Korak 1: Materijali i alati
- Korak 2: Pripremite ATTINY85
- Korak 3: Sastavljanje pokazatelja
- Korak 4: Sastavljanje glavnog kola
- Korak 5: Testiranje
- Korak 6: Sljedeći koraci
Video: IOT123 - I2C CIGLA OD SRCA: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
IOT123 CIGLE su DIY modularne jedinice koje se mogu kombinirati s drugim IOT123 CIGLAMA, za dodavanje funkcionalnosti čvoru ili nosivom uređaju. Zasnivaju se na inčnim kvadratnim, dvostranim proto-pločama sa 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 lokaciji. 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 slave -a. Ove OPEKE napajaju 5.0V, 3.3V i još jednu AUX liniju koja se može prilagoditi.
Ova I2C HEARTBEAT CIKLA pokazuje je li ATTINY slave živ, također I2C promet i ima jedno svojstvo:
STATUS ("ŽIVO")
PB1 (bijela) označava zdravlje ATTINY.
PB3 (žuto) prebacuje se sa I2C zahtjevima od master -a.
PB4 (narandžasta) prebacuje se sa I2C prijemom od master -a.
Prolazne rupe uz ATTINY85 su ostavljene 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, upumpavajući vrijednosti na MQTT poslužitelj.
Korak 1: Materijali i alati
Postoji potpuna lista materijala i izvora.
- Papirna ploča (7 x 7 rupa)
- LED diode (crvena, zelena, plava)
- Otpornici (3 od 1K)
- ATTINY85 20PU (1)
- 1 "dvostrana protoboard (1)
- Muški zaglavlje 90º (3P, 3P)
- Muški zaglavlje (2P, 2P)
- Džemper šant (1)
- Priključna žica (~ 7)
- Lemljenje i gvožđe (1)
Korak 2: Pripremite ATTINY85
NAPOMENA: Ako namjeravate imati Crouton integraciju, upotrijebite biblioteku odavde i upotrijebite instalirani primjer "attiny_heartbeat"
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 biblioteke" ovdje.
Nakon što je biblioteka instalirana, možete otvoriti primjer "attiny_heartbeat".
Za postavljanje firmvera na ATTINY85, više detalja možete pronaći u ovim uputama:
www.instructables.com/id/Programming-the-….
www.instructables.com/id/How-to-Program-A…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/How-to-Program-A…
www.instructables.com/id/Programming-the-…
Najbolje je testirati putem matične ploče prije nastavka.
Ako imate postojeće ASISIMILATNE SENZORE, provjerite je li slave adresa drugačija u kombinaciji SENSOR/MCU host, npr. svi relejni glumci mogu imati istu adresu sve dok imate samo jednog relejnog glumca na MCU/čvoru.
Korak 3: Sastavljanje pokazatelja
Indikatori trebaju biti potpuno prilagodljivi. To su signali događaja iz glavnog kola koji se vide kao otkucaji srca. Za ovu izgradnju koristit ćemo LED indikatore; vaša konstrukcija može koristiti releje (da, VCC je isključen) ili neki drugi vizualni/signalni indikator. Vrijednosti otpornika ovisit će o osobnim preferencijama o tome koliko ih želite svijetli.
- Na vrhu umetnite plavu LED diodu u CRVENU1 (+) i CRNU1 (G), a lemite s donje strane.
- Sa donje strane savijte elektrodu od RED1 tako da dodiruje bakrenu podlogu na SREBRNOM8 i obrezuje je.
- Na dnu, obrežite kabel od BLACK1 iznad lemljenja.
- Na vrhu umetnite zelenu LED diodu u CRVENE2 (+) i CRNE2 (G), a lemite s donje strane.
- Sa donje strane savijte elektrodu od RED2 tako da dodiruje bakrenu podlogu na SREBRNOM9 i podreže je.
- Na dnu, obrežite kabel od BLACK2 iznad lemljenja.
- Na vrhu umetnite crvenu LED diodu u CRVENE3 (+) i CRNE3 (G), a lemite na donjoj strani.
- Sa donje strane savijte elektrodu od RED3 tako da dodiruje bakrenu podlogu na SILVER10 i podreže je.
- Na dnu, obrežite kabel od BLACK3 iznad lemljenja.
- Na vrhu umetnite 1K otpornik u otvore SILVER1 i SILVER4.
- Na dnu, trag, obrezivanje i lemljenje kabela od SREBRNOG1 do CRNOG1.
- Na vrhu umetnite 1K otpornik u otvore SILVER2 i SILVER4.
- Na dnu, trag, obrezivanje i lemljenje kabela od SILVER2 do BLACK2.
- Na vrhu umetnite 1K otpornik u otvore SILVER3 i SILVER4.
- Na dnu, trag, obrežite i lemite kabel od SREBRNOG3 do CRNOG3.
- Na dnu lemite žice na SILVER4 i obrežite ih na oko 5 mm produžavajući se.
- Na dnu lemite crnu žicu na SILVER4.
- Na dnu lemite bijelu žicu u SILVER5, osiguravajući kontinuitet da vodi od RED1.
- Na dnu lemite žutu žicu u SILVER6, osiguravajući kontinuitet da vodi od RED2.
- Na dnu lemite narančastu žicu u SREBRO7, osiguravajući kontinuitet vodeći od RED3.
Korak 4: Sastavljanje glavnog kola
Montaža:
- S prednje strane umetnite komponente ATTINY85 (1), 3P 90deg muške zaglavlje (2) (3), 3P muške zaglavlje (4) (5) i lemite sa stražnje strane.
- Na stražnjoj strani ucrtajte žutu žicu od ŽUTE1 do ŽUTE2 i lemite.
- Na stražnjoj strani ucrtajte narančastu žicu od NARANDŽE1 do NARANČE2 i lemite.
- Na stražnjoj strani nacrtajte plavu žicu od PLAVE1 do PLAVE2 i lemite.
- Sa stražnje strane trasirajte zelenu žicu od ZELENE1 do ZELENE2 i lemite.
- Na stražnjoj strani ucrtajte bijelu žicu od BIJELOG1 do BIJELOG2 i lemite.
- Na stražnjoj strani navucite crnu žicu od BLACK1 do BLACK2 i lemite.
- Na stražnjoj strani ucrtajte crnu žicu od BLACK3 do BLACK4 i lemite.
- Na stražnjoj strani ucrtajte crvenu žicu od RED1 do RED2 i lemite.
- Sa stražnje strane ocrtajte golu žicu od RED3 do RED4 i lemite.
- Sa stražnje strane ocrtajte golu žicu od SILVER1 do SILVER2 i lemite.
- Dodajte kratkospojnik na liniju 5V ili 3V3.
Ako koristite gornje indikatore (pogledajte dijagram pinout -a):
- Sa stražnje strane lemite bijelu žicu u PB1.
- Sa stražnje strane lemite žutu žicu u PB3.
- Sa stražnje strane lemite narančastu žicu u PB4.
- Sa stražnje strane lemite crnu žicu u GND.
Korak 5: Testiranje
Očekuje se da će se određeni broj ovih CIGLA nalaziti 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 prebacuje LED za primanje. LED ATTINY ALIVE svijetli.
Ranije smo izgradili I2C ŠTIT za Arduino.
Ako ga umjesto toga želite zacrtati:
- Priključite 5.0V na UNO na VCC na BRICK.
- Spojite GND na UNO na GND na BRICK.
- Spojite A5 na UNO na SCL na BRICK.
- Povežite A4 na UNO sa SDA na BRICK.
- Spojite 4K7 pull-up otpornik sa SDA na VCC.
- Spojite 4K7 pull-up otpornik sa SCL na VCC.
Pokretanje testa
- Povežite svoj UNO sa svojim Dev računarom putem USB -a.
- Otpremite kôd u UNO.
- Otvorite Arduino konzolu.
- Odaberite 9600 bauda (ponovo pokrenite UNO i ponovo otvorite konzolu ako morate).
- Adresa pomoćnog uređaja će se ispisati na konzoli.
- Kada unesite u polje za slanje 2 1 (dakle 16 2 1), i LED za primanje će se uključiti.
- Kada, unesite u polje za slanje 2 0 (dakle 16 2 0), a LED za prijem se isključuje.
I2C BRICK adhoc komande za robove sa UNO master -a
#include |
const byte _num_chars = 32; |
char _received_chars [_num_chars]; // niz za spremanje primljenih podataka |
boolean _has_new_data = false; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println ("ASSIMILATE 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 ("KOMANDA GLUMCA ADRESE 2"); |
Serial.println (); |
Serial.println ("ADRESE NA BUSU:"); |
scan_i2c_addresses (); |
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 (greš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 = Serial.read (); |
if (rc! = end_marker) { |
_received_chars [ndx] = rc; |
ndx ++; |
if (ndx> = _broj_znakova) { |
ndx = _broj_znakova - 1; |
} |
} |
else { |
_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 = received_string.substring (0, idx1); |
int adresa_int = adresa.toInt (); |
if (adresa_int <8 || adresa_int> 127) { |
Serial.println ("INVALID ADDRESS INPUT:"); |
Serial.println (adresa); |
return; |
} |
int idx2 = primljeni_string.indexOf ('', idx1+1); |
String code; |
if (idx2 == -1) { |
kod = primljeni_string.substring (idx1+1); |
} else { |
kod = primljeni_string.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
if (code_int <0 || code_int> 5) { |
Serial.println ("INVALID CODE INPUT:"); |
Serial.println (kod); |
return; |
} |
bool has_parameter = idx2> -1; |
String parameter; |
if (has_parameter) { |
parametar = primljeni_string.substring (idx2 + 1, idx2 + 17); // 16 znakova maks |
if (parameter.length () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1"); |
_has_new_data = false; |
return; |
} |
} else { |
if (code_int> 1) { |
Serial.println ("PARAMETAR POTREBAN!"); |
_has_new_data = false; |
return; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (primljeni_string); |
Serial.print ("address ="); |
Serial.println (adresa); |
Serial.print ("code ="); |
Serial.println (kod); |
Serial.print ("parameter ="); |
Serial.println (parametar); |
// POŠALJI VIA I2C |
Wire.beginTransmission (address_int); |
Wire.write (code_int); |
if (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 = false; |
} |
} |
pogledajte rawuno_i2c_command_input.ino hostirano sa ❤ od strane GitHub -a
Korak 6: Sljedeći koraci
Sljedeći ASSIMILATE ACTOR: HEARTBEAT 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 izgradnja previše.
UNO skica korištena u Testiranju ima funkciju spremanja nove slave adrese u EEPROM na ATTINY85, ako dođe do sukoba na vašoj ciljnoj I2C sabirnici.
Preporučuje se:
Senzor otkucaja srca pomoću Arduina (monitor otkucaja srca): 3 koraka
Senzor otkucaja srca pomoću Arduina (monitor otkucaja srca): Senzor otkucaja srca je elektronički uređaj koji se koristi za mjerenje brzine otkucaja srca, odnosno brzine otkucaja srca. Praćenje tjelesne temperature, otkucaja srca i krvnog tlaka osnovne su stvari koje radimo kako bismo bili zdravi. Srčana frekvencija može se pratiti
Vizualizator srca - Pogledajte otkucaje vašeg srca: 8 koraka (sa slikama)
Vizualizator srca | Vidite otkucaje vašeg srca: Svi smo ili osjetili ili čuli kako nam srce kuca, ali malo nas je to vidjelo. To je bila misao koja me je natjerala da počnem s ovim projektom. Jednostavan način da vizualno vidite otkucaje vašeg srca pomoću senzora za srce i naučite vas osnovama o električnoj energiji
IOT123 - LIR2032 BATERIJSKA CIGLA: 4 koraka
IOT123 - LIR2032 BATERIJSKA CIGLA: IOT123 CIGLE su DIY modularne jedinice koje se mogu kombinirati s drugim IOT123 CigLAma, za dodavanje funkcionalnosti čvoru ili nosivom uređaju. Zasnivaju se na inčnim kvadratnim, dvostranim protoboardama koje su međusobno povezane 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 kada je PB5 onemogućen kao RESET, on ne čita točno vrijednosti pomoću analogRead: glavnog slučaja upotrebe za očitanja senzora. Razmotrit će postavljanje ATTINY84
Zidni dekor s pozadinskim osvjetljenjem u daljinskom upravljanju u obliku srca u obliku srca: 8 koraka (sa slikama)
Zidni dekor s pozadinskim osvjetljenjem u daljinskom upravljanju u obliku srca u obliku srca: U ovom vodiču za izradu poklona "Uradi sam", naučit ćemo kako napraviti zidnu ploču za vješanje sa pozadinskim osvjetljenjem u obliku srca pomoću ploče od šperploče i dodati različite vrste svjetlosnih efekata kojima se može upravljati pomoću daljinskog upravljača i svjetla senzor (LDR) pomoću Arduina. Vi c