Kazalo:

Podatkovni dnevnik ESP32 ADXL345 Z GPS_EXT RAM_EXT_RTC: 8 korakov
Podatkovni dnevnik ESP32 ADXL345 Z GPS_EXT RAM_EXT_RTC: 8 korakov

Video: Podatkovni dnevnik ESP32 ADXL345 Z GPS_EXT RAM_EXT_RTC: 8 korakov

Video: Podatkovni dnevnik ESP32 ADXL345 Z GPS_EXT RAM_EXT_RTC: 8 korakov
Video: 🚀 RUTUBE и ТОЧКА. Разработка РУТУБА за 5 часов *БЕЗ ВОДЫ* [Next / React / Nest / PostgreSQL / Redux] 2024, November
Anonim
Podatkovni zapis ESP32 ADXL345 Z GPS_EXT RAM_EXT_RTC
Podatkovni zapis ESP32 ADXL345 Z GPS_EXT RAM_EXT_RTC
Podatkovni zapis ESP32 ADXL345 Z GPS_EXT RAM_EXT_RTC
Podatkovni zapis ESP32 ADXL345 Z GPS_EXT RAM_EXT_RTC
Podatkovni zapis ESP32 ADXL345 Z GPS_EXT RAM_EXT_RTC
Podatkovni zapis ESP32 ADXL345 Z GPS_EXT RAM_EXT_RTC

Za tiste, ki ste se igrali z desko Wemos 32 LOLIN, sem mislil, da bom začel dokumentirati nekatere svoje ugotovitve.

Trenutni projekt je vmesnik z merilnikom pospeška ADXL345 in kot prikazuje zgornja fotografija, sem ga uspešno povezal z lolinom in ADXL konfiguriral kot senzor udarca.

Registri na ADXL -u so nastavljeni kot priloženi pdf in prekinitev, ki sem jo v kodi konfiguriral tako, da izpljune kodo na serijska vrata, ko zazna šok.

Register neaktivnosti sem nastavil tudi kot prekinitev in po preverjanju, kateri prekinitev je bila sprožena, potem izpljunem iste podatke.

Uporabljam vrata I2c na LOLIN -u in videli boste, da imam rutino, da izpišem registre na ADXL -ju, tako da lahko med odpravljanjem napak preverim konfiguracijo. Ta funkcija se izvaja v časovni funkciji z uporabo knjižnice tikerjev. To je uporabna funkcija za nastavitev odpravljanja napak in preverjanja registrov v primeru, da tam napišete nekaj, kar skrivnostno povzroči, da podatki počnejo čudne stvari.

Podatke o komplimentu 2 sem normaliziral v LOLIN in jih oblikoval, tako da jih je mogoče uvoziti v excel.

Oglejte si priloženi dokument PDF z nekaterimi podatki, ki sem jih uvozil in sem v Excelu prikazal nekaj dotikov na ADXL, ki jih sproži prekinitev v registru sprožilcev v načinu FIFO.

Način FIFO je uporabna funkcija, ki ne poveže mikro in na sprožilec shrani 32 vzorcev. Ponovno poglejte moje izpise podatkov in vidite, kje začnemo pri ničli, zadnji vzorec pa pri 9,8 ms ali približno tam. Vrstica X na grafu prikazuje čas v mikrosekundah, ki se povečuje od leve proti desni.

OPOMBA, KAKO SMO V ZADNJI GRAFIJI SPREMENILI PRIKAZ ČASOVNEGA VRSTA IZ MINUS 9800 mikrosek. Prvi pojav FIFO je najzgodnejši, ostali so starejši. Pogled naj bo od desne proti levi.

Upoštevajte tri žice na plošči ADXL. SDA/SCL in INT iz INT 1. Še enkrat, če pogledate nastavitve registra in navzkrižno pogledate podatkovni list, bo to smiselno.

Vzorec podatkov je polno nagnjen pri 3200 vzorcih, kar daje 3125 uporabnih sekund med vzorci. In pred zajem 4 vzorcev. Oglejte si pdf podatkov iz naprave v Excelu in vsak graf, ki sem ga narisal, prikazuje premikanje okna zajema.

Bom dal nekaj kode konfiguracije in prekine, če koga zanima.

Za I2C uporabljam žično knjižnico in okoli tega sem napisal nekaj funkcij.

Bodite pozorni na majhnega podatkovnega iskalca, ki sem ga priključil na SDA/SDL in z uporabo Sigroka i lahko v realnem času dekodiram vodilo I2C.

Naslednji korak je shranjevanje na disk SAN, čeprav sem že dokazal, da deluje. Ko to storim, bom vzpostavil vmesnik za brezžično povezavo in naložil na spletno mesto.

To bom dodal, ko se bo projekt širil.

OPOMBA:

Za tiste, ki so pozorni, boste opazili veliko vdolbino v pločevinki, ki ščiti čip esp, in mostiček na tiskani plošči. To je posledica rezidentnega koker španjela, ki je pregledal pošto in se odločil, da bo žvečil tablo, preden mi je omogočil dostop do nje. Mislim, da ni navdušenka!

Seveda sem vedno pripravljen na vprašanja, zato prosim vprašajte.

1. korak: SIGROK IN PULSEVIEW

SIGROK IN PULSEVIEW
SIGROK IN PULSEVIEW
SIGROK IN PULSEVIEW
SIGROK IN PULSEVIEW

Na kratko omenim pulseview in sigrok.

To je brezplačna programska oprema z interneta, majhna vmesniška plošča z 8 logičnimi vhodi pa je poceni pri ebayu in drugih. Opazili boste nekaj slik, ki sem jih zgrabil z vodila, medtem ko je deloval ADXL, in je spet tako uporaben za odpravljanje napak, saj ima vgrajen dekoder za I2C.

Obseg je odličen za preverjanje ravni signala, vendar je ročno dekodiranje I2c v najboljšem primeru dolgočasno, čeprav sem že nastavil zanko in ročno odpravil napake. Na ravni pristanišč morate ceniti malo udarjanja, kar sem naredil pri številnih projektih slik, vendar je zamudno in nagnjeno k napakam … še posebej ponoči !!

Hvala fantom, ki so napisali to aplikacijo. Bog pošilja na projekte v i2c, Upoštevajte linijo D4, ki nadzoruje prekinitveno linijo iz ADXL.

2. korak: Dodajanje senzorja udarca

Dodajanje senzorju udarca
Dodajanje senzorju udarca
Dodajanje senzorju udarca
Dodajanje senzorju udarca
Dodajanje senzorju udarca
Dodajanje senzorju udarca
Dodajanje senzorju udarca
Dodajanje senzorju udarca

Ok, tukaj sem senzorju udarca dodal nekaj zunanjih naprav za dokaz koncepta.

Oprostite, gnezdo podgan za zdaj, ko bo delovalo, bom oblikoval tiskani tiskalnik, ki povezuje vse komponente, in vse skupaj spravil v lepo škatlo. Vsi priloženi elementi, razen kartice SD, delujejo na i2c, ki je na spi busu.

Levo za pritrditev je modul GPS, ki je WIP, vendar upam, da bom do konca tega tedna dobil rešitev.

Trenutni projekt je torej sestavljen iz:

ESP32 LOLIN plošča z brezžičnim omrežjem.

PCF ura v realnem času. Spremlja trenutni datum in čas. Grobo sem spajkal na staro projektno ploščo, ki sem jo predhodno jedkal.

Zunanja bliskavica. Med drugim vsebuje nastavitvene podatke za merilnik pospeška. Zmogljivost 132 k

Kartica SD SPI za shranjevanje podatkov in dnevnikov merilnika pospeška datotek. 8 GB, vendar se lahko razširi.

Zaslon OLED za prikaz menijev in nekaj drugih stvari.

Evo, kaj bo [sčasoma] naredil

Spremljajte šoke in dejavnosti, ki presegajo ozadje.

Registrirajte udarce na kartico SD z uro in datumom iz vgrajene ure.

Označite lokacijo z GPS -a na kartico SD, če je na voljo

Z dostopno točko naložite podatke na spletni strežnik za analizo podatkov … to je lahko mobilni telefon.

| Iskanje dostopnih točk je možnost LOLIN32, saj gostuje na spletnem strežniku za ukaze in se nato kot odjemalec poveže s spletnim strežnikom v oblaku. Vedno lahko samo odklopite SD kartico in jo naložite!

Še veliko dela, vendar gre naprej.

3. korak: NASLOV ADXL

NASLOV ADXL
NASLOV ADXL

Tukaj je smešna stvar. Čip ADXL 345 sem kupil kot majhno ploščo, ker je bilo ceneje kot samostojno pridobivanje čipa ….. kako to deluje? Kakorkoli že, potem sem se lotil priklopa na vodilo i2c in ugotovil, da sem imel spopad z eeprom z naslovi, ki se dejansko začnejo pri 0x53, kar pomeni pisanje pri A6 in branje pri A7.

Če torej prebereš bumf, se izkaže, da če vzameš SDO/ALT ADDRESS HIGH, ga lahko prisiliš v 1D

Izkazalo se je, da je moja ploščica ozemljena na pin 12 ADXL kljub zatiču SDO, ki je videti, kot da ga lahko potegnete visoko. Ne poskušajte tega doma brez trenutnega omejenega napajanja….na srečo sem imel, zaradi česar sem vzel multimeter in preveril, da je zatič na tleh. [Dead short], kar pomeni, da morate prerezati stezo in mostiček 12 do 3,3 V. To deluje in vas reši iz spopada na maturantski ples. dve strani 64k kot naslova 0x52 in 53. Ko sem to naredil, je bila moja težava rešena.

Ob ponovnem branju spletne strani piše, da je nastavljena na 0x53, vendar je v drobnem tisku, zato bodite pozorni!

4. korak: Shematski tiskani tiskani vezji

Tukaj je hiter pregled vezja in komponent. To je zelo moja zasnova in še vedno WIP [Delo v teku] Shema je bila oblikovana in nato prevedena v umetniško delo za skladbe. Preveril sem vse komponente, kot je bilo pričakovano, z uporabo moj podgan gnezdi pristop in se zdaj sestavljam na desko, ki se prilega majhni škatli [podrobnosti sledijo]

Sklicuje se na shocker.pdf.

Plošča je sestavljena iz 8 glavnih komponent

  1. Shranjevanje kartice SD
  2. ADXL AKCELEROMETER
  3. ZASLON OLED
  4. 3,3 V REG
  5. MODUL GPS1
  6. EEPROM
  7. TIMER RTC
  8. ESP32 LOLIN ČIP Z RF brezžičnim vmesnikom

Vse je odvisno od merilnika pospeška.

ADXL je nastavljen za prekinitev procesorja na INT1, ki je preusmerjen na pin 14. na procesorju. Koda v mikro je nastavljena tako, da prestreže ta prekinitev in nastavi zastavico, na katero se deluje v glavni rutini. Dodal bom kodo ki opisuje kasnejšo registracijo prekinitvene rutine in funkcije povratnega klica.

ADXL podpira prekinitve v različnih stanjih, kot sta šok ali nedejavnost, ter nekaj drugih. Prikrijete lahko tiste, ki vas navdušijo, glede na to, kaj poskušate narediti. ADXL deluje v načinu FIFO, tako da shrani 32 vzorcev zajeti šok kot XYZ [96 vrednosti]

Zaslona ADXL RTC in EEPROM poganjata I2C. KARTICA SD je priključena na V/I SPI, modul GPS pa na serijska vrata na LOLIN z oznako X12 X11.

Zaporedje je naslednje Neprekinjeno vzemite podatke 232 iz enote GPS in filtrirajte. Medtem ko imate veljaven čas GPS, posodobite RTC v nastavljenih intervalih. Prekinite shranjevanje spremenljivk na kartico SD, kot so čas/Lat_Lng/Hitrost/Nadmorska višina/Shranite registre ADXL v kompliment surovega formata 2 in dopolnilo ne 2. Vsi podatki so ločeni z vejicami.

Opazili boste tudi, da je na pin 13. povezan pin za ponastavitev, ki zažene vgrajen spletni strežnik, ki vam omogoča povezavo s konfiguratorjem za nastavitev dostopne točke, shranjene v EEPROM -u. Ob ponovnem zagonu se bo procesor povezal z dostopno točko in dostopal do interneta za nalaganje datotek s kartice SD. Če ni podatkov in ni priključne točke, potem enota samo izvede postopek beleženja podatkov na kartico sd, ki jo lahko zaslišujete s program [ShockerView.exe] [WIP] Na strežniku so podatki shranjeni v bazi podatkov SQL in prikazani [WIP]

Tiskani tiskani vezji sta pritrjeni za zgornji in spodnji del.

5. korak: Prototip jedkanja umetniških del

Prototip jedkanja umetnin
Prototip jedkanja umetnin
Prototip jedkanja umetnin
Prototip jedkanja umetnin
Prototip jedkanja umetnin
Prototip jedkanja umetnin

Tukaj izdelujem svoje prototipne plošče

Umetnine natisnite na težki papir za sledenje. Uporabljam 63 GSM kovancev, poceni in veselo. Tiskalnik je tukaj ključen. Želite čim bolj nepregleden in čim bolj čist. Moj laserski tiskalnik je zdaj v uporabi, vendar je primeren za tiskanje do 10 tisoč tisočakov, manj kot to, da potrebujete nekaj posebne opreme, saj vam zrnje sledilnega papirja začne ovirati. Lahko kupite specializiran papir, ampak to je preveč dobro za mene. Vsekakor nenehno izpopolnjujem svoje modele, tako da bi bilo za moje malega predrago. Če potrebujete ustrezno ploščo, to prosite za strokovnjake.

Običajno prototipiram svoje plošče v odsekih in nato izdelam zaključek z gerberji za izdelavo internetnega podjetja. Prototip razvrsti vse te napake in opustitve, preden naredi pravi denar.

Ko natisnete slike na dva ločena lista A4, jih razrežite, tako da se prekrivata in samolepita. pustite dovolj prostora, da se vaša dvostranska plošča stisne med plasti in se prepričajte, da je natisnjena stran proti tiskanemu vezju. Naredite nekaj rež, ki vam bodo omogočile, da plošče vstavite in začasno zalepite. Če ste previdni, lahko samolepilni trak prekrivate, da ga odstranite, ne da bi pri tem uničili sliko za sledenje.

Ploščo položite v UV škatlo z eno stranjo navzdol. Opomba: Jaz sem svojega naredil s štirimi novimi 13W UV žarnicami in nekaj starega krmilnega orodja ter naredil škatlo s prozorno stekleno ploščo. Razmik je bil eksperimentalen. Pokrov se zatakne navzdol in peno stisne na hrbtno stran deske, tako da masko prisili v steklo. Če tega ne storite, bo luč zmanjšala odpornost proti jedkanju. Vklopite in izpostavite ploščo 1 minuto 40 sekund na stran. Uporabite uro. Pravzaprav moram to spremeniti s časovnikom … oh, ne drugega projekta … morda ga bom kupil … veš, da ne boš! Plošče, ki jih kupim pri Mega Electronics, so poceni prototipne plošče z odpornostjo proti jedkanju. Odpornost proti jedkanju je včasih nekoliko neenakomerna, vendar imam nekaj plošč, ki jih imam že štiri leta, in še vedno proizvajajo dobre plošče za izdelavo prototipov !!

Previdno obrnite desko, ne dovolite, da zdrsne, sicer boste imeli nekaj smeti.

Zdaj pripravite svojega razvijalca. Uporabljam 2 zamaška pri 18: 1, tako da sta dve kapici razvijalca in 36 pokrovčkov čiste, neokrnjene vode iz pipe. Razvijalec je na voljo v obliki steklenice ali prahu in steklenica običajno traja približno 6 let !!. Zmešajte ga v posodi za sladoled in nosite rokavice. Ne dajajte prstov vanj, sicer bo mast vplivala nanjo. Temperatura je lahko problem pozimi. Voda naj bo pri 20 stopinjah ali tam, to ni kritično, če pa je hladna, so lahko rezultati nepredvidljivi. To sem naredil januarja v svoji garaži s kotličkom, tako da lahko kompenzirate.

Ko ste vanjo položili desko, nežno premaknite posodo z ene strani na drugo. Če ste to storili pravilno, boste videli, da se iz bakra odstrani škrlatni tok jedkanja, ki razkriva čudovit sijoč baker med tiri. Obrnite ga z rokavicami, da preverite drugo stran. Ta postopek običajno traja približno minuto, zato, ko je dokončan, desko odstranite in temeljito sperite v topli vodi. Če je dolgočasen, potem možnosti niso uspele.

To sem imel že nekajkrat, vendar ponavadi zato, ker nisem nosil rokavic ali pa je bila temperatura prenizka ali pa sem zaradi nekaj motenja pokvaril čas izpostavljenosti … zakaj to počnejo sredi nečesa kritičnega …

Pokaži mi svoje jedkanice

V redu, zdaj imate tablo z lepimi zelenimi skladbami, zaščitenimi z odpornostjo proti jedkanju, zdaj pa morate sestaviti železov klorid. Zdaj uporabljam isto posodo za sladoled za zmanjšanje odpadkov in premešam do opomb na embalaži. Železov klorid kupim v paketih kroglic, ki jih odtehtate in raztopite v raztopini. Napolnite dovolj, da napolnite kad za sladoled približno 1/3 poti navzgor. Če naredite dovolj za delo, jo lahko vlijete v plastično posodo in bo zdržala še dolgo.

ROKAVICE MORATE NOSITI … ne zaradi maščobe itd., Ampak če ne boste imeli rok, bodo štirinajst dni svetlo oranžne. Nekoč sem to storil pred pomembnim sestankom v Londonu in zdelo se mi je, da sem bil tangiran. Vendar se zavedajte, da so te stvari grde okoli vsega bakrenega … in česar koli resnega. Nosite stara oblačila, ker če pridejo nanje, so uničena. Pritrdi se na ponore iz nerjavečega jekla in na splošno vse obarva. Naredite to zunaj ali v hiši stran od vsega. Ostankov ne odlivajte v kanalizacijo, saj odlično ubija bakterije, česar vodna uprava ne želi spodbujati v svojih greznicah. Za nekatere organe je to tudi nezakonito, zato tega ne storite.

Ko prvič potopite desko v raztopino, bo ob napadu bakra postala lepe rdeče bronaste barve. Če se to ne zgodi, imate morda še vedno plast odpornosti proti jedkanju, ki preprečuje delovanje jedkanika ali pa je vaša rešitev napačna. Če je tako, se bojim, da se vrnem na risalno desko, vendar ni verjetno, da je vaš jedkanik napačen, če ste sledili uničenjem.

Kakorkoli že, če je vse v redu, imate nekaj popolnih skladb, zaščitenih z odpornostjo proti jedkanju.

Običajno bi na tej točki strokovnjak uporabil niz mask, da bi se razvil okoli lukenj in blazinic ter izdelal preko bakra in uporabil sito za barvanje številk komponent itd. z uporabo nekaj bakrene žice od plasti do plasti … očitno je večplastno po tej metodi ne ne. Če sem razpoložen, bom v tiskalni sloj skrbno dodal številke komponent, tako da boste vtisnili tudi številke komponent. Pri montaži lahko prihranite nekaj časa, vendar je odvisno od tega, kako zaposlena je plošča.

Zdaj razkrijem sledi še približno 2 minuti na stran in potopim v razvijalec, da odstranim ves upor proti jedkanju.

Zdaj izvrtam vijake in morebitne skoznje luknje ter pokolesarim vse tire in preverim neprekinjenost z multimetrom. Ta del je kroglična bolečina in tega običajno ne bi storili za profesionalno izdelano ploščo z resničnimi vijaki, vendar se je vredno tega izogniti spajkanje samo na eni strani … se je zgodilo tolikokrat!

6. korak: Sestavljanje odbora

Sestavljanje odbora
Sestavljanje odbora
Sestavljanje odbora
Sestavljanje odbora
Sestavljanje odbora
Sestavljanje odbora

V redu, zdaj imam pripravljeno desko in sem izvrtal vse vias in skozi luknje.

Vse vijake privijte z žico in spajkajte na obeh straneh. rad kosim vse tire, ker mi za zaščito ni treba, ampak ustavi oksidacijo bakra.

Pritrdil sem SD kartico, ki je nameščena na površino, in dodal dve zemlji, da nanjo dobimo lepljenje spajkanja, poleg tega pa ima na spodnji strani nekaj zatičev, da jo pritrdimo.

Nato je bil dodan ADXL EEPROM itd.

Napajalno je načrt vzeti 5V iz USB -ja ali zunanjega Bat -a in ga napajati skozi 3.3V reg na plošči. Imam malo reg, ki sem ga kupil pri Ebayu, ki je sestavljen kot modul in je ocenjen na 800mA… to je 300 gretaer kot jih lahko zagotovi USB. Nisem še opravil nobenih meritev moči, saj bi lahko spremenil programsko opremo ….. za obravnavo bi lahko uporabil prekinitev INACTIVITY iz ADXL. [WIP]

… je treba med gradnjo dodati slike.

7. korak: KODIRANJE

V redu, ne bom šel skozi vse nastavljene arduino, saj je nekdo drug to naredil veliko bolje.

Med tem bom izbral ustrezne koščke, ki jih lahko uporabimo pri svojem projektu.

Kar zadeva nalaganje na spletno mesto, to še vedno poteka, vendar pa gremo skozi nekaj kode.

Ideja je, da je normalna funkcionalnost v napravah, ki jih sestavljajo GPS /zaslon /SD kartica /ura v realnem času /ext_flashmemory in merilnik pospeška.

Nato vstopimo v zanko, ki čaka, da vidimo, ali je pritisnjena tipka za prekinitev sw. Če je potem skočite v meni konfiguratorja, da konfigurirate omrežje wifi za samodejno prijavo v napravo, ki je navedena kot vhod v konfigurator spletne strani. Najprej skenira vse naprave za ssid, nato pa vam omogoča, da izberete eno in jo shranite v bliskavico z zastavico, ki označuje, da ob naslednjem zagonu naložite nastavitve iz bliskavice. To lahko vedno preglasite tako, da vnesete naslov ipad in vnesete /killbill, da sprožite čiščenje bliskavice in naložite privzeto vrednost.

tukaj je funkcija prekinitve, definirana v kodi za merilnik pospeška adxl in skok na konfigurator na dveh ločenih nožicah. Za prekinitev dogodka SHOCK uporabljamo prekinitev ADXL. Za oba prekinitve nastavimo zastavico, ki se ponastavi v glavni "zanki". evo kako izgleda:

poglejte priloženo kodo

8. korak: Iskanje zatičev SDL SCL

uporabite to kodo:

Serial.println (SDA);

Serial.println (SCL);

natisne zatiče, ki so trenutno konfigurirani v ESP za SDL in SCL

Obstaja datoteka, ki se uporablja za preslikavo nožic na funkcije, kot so serijska vrata v ESP32

Priporočena: