Cuprins:

TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 pași (cu imagini)
TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 pași (cu imagini)

Video: TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 pași (cu imagini)

Video: TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 pași (cu imagini)
Video: Super WiFi Analyser in TicTac box 2024, Iulie
Anonim
Analizor TicTac Super Wifi, ESP-12, ESP8266
Analizor TicTac Super Wifi, ESP-12, ESP8266
Analizor TicTac Super Wifi, ESP-12, ESP8266
Analizor TicTac Super Wifi, ESP-12, ESP8266

Acest proiect se bazează pe codul original lunar și pe conceptul de utilizare a unei cutii TicTac ca o incintă.

Cu toate acestea, în loc să folosiți un buton pentru a începe citirile, acesta folosește panoul tactil care vine cu un afișaj TFT SPI. Codul a fost modificat pentru a controla mai bine lumina de fundal cu LED-uri și pentru a pune afișajul în modul de repaus (deoarece modulul de afișare trebuie să rămână alimentat pentru cipul tactil). Curentul de unitate în somn este suficient de scăzut pentru ca un lipo de 1000mah să dureze câțiva ani. Există, de asemenea, încărcarea bateriei și protecție la joasă tensiune.

Vedeți ultimul pas pentru un videoclip cu funcționarea acestuia.

Părți:

  • 48g cutie TicTac
  • ESP12 (de preferință ESP-12F)
  • Afișaj SPI TFT de 2,4”
  • Modul de încărcare Lipo
  • Tranzistor PNP
  • 3.3v curent de repaus redus, regulator de tensiune
  • Rezistențe și condensatori asociați (detaliu mai târziu)

Pasul 1: Dezvoltare

Dezvoltare
Dezvoltare

M-am gândit să descriu calea de dezvoltare a acestui proiect. Puteți sări peste această secțiune dacă doriți să începeți direct să realizați acest lucru.

Acesta este unul dintre primele mele proiecte ESP8266. Am fost luat cu conceptul îngrijit de a folosi o cutie TicTac ca o incintă pentru analizorul Wifi și am decis să fac una. Vă mulțumim: Portable-WiFi-Analyzer. Am decis să folosesc un afișaj mai mare de 2,4”- care a venit cu un panou tactil și pe un PCB cu pini care ar fi mai ușor de conectat.

Când am început construcția, am explorat aranjamentele care ar permite ca antena ESP12 să fie liberă de electronică. Singura opțiune era ca acesta să fie în interiorul capacului. De asemenea, am vrut modulul de încărcare sub distribuitor. Întrebarea era atunci unde să localizezi „butonul de pornire”? Nu am vrut să fac o gaură în spatele carcasei. Capacul superior ar fi cel mai bun - dar nu există loc dacă am cele două module acolo.

Acest lucru a dus la ideea utilizării panoului tactil ca buton de pornire. Am observat că unul dintre conectorii afișajului era etichetat „T_IRQ” - care părea încurajator. Cipul tactil este un XPT2046. Și da, spre plăcerea mea este că are un mod de repaus automat și trage T_IRQ jos dacă panoul este atins. Acest lucru este ideal pentru a înlocui comutatorul și poate fi conectat pur și simplu la resetarea ESP12.

Ar fi trebuit să menționez că codul rulează mai multe scanări pentru rețele wifi și apoi scoate alimentarea de pe ecran și pune ESP12 în somn profund - care este trezit de o intrare de resetare.

Deci, cu acest concept clar, l-am conectat, folosind un NodeMcu - și nu a funcționat! Așa că mai era ceva de lucru. De asemenea, am fost conștient că nu puteam verifica curentul de repaus cu NodeMcu din cauza cipului USB de la bord și a regulatorului de tensiune de curent mare. De asemenea, am dorit un sistem pentru programarea cu ușurință a ESP12. Acest lucru a condus la realizarea unui sistem de dezvoltare / dezvoltare ESP12 care ar putea fi programat la fel de ușor ca NodeMCU, dar folosind un programator FTDI. În acest fel, regulatorul și cipul USB sunt separate. A se vedea: ESP-12E și ESP-12F Placă de programare și breakout

Apoi l-am conectat folosind noua mea placă cu un ESP-12F - și a funcționat. Singura modificare pe care am făcut-o a fost să scurtcircuit regulatorul de tensiune de pe modulul afișajului, astfel încât totul să fie condus la 3,3v. Am început să-mi fac modurile de cod, în special codul pentru a pune cipul de afișare (ILI9341) în modul de repaus, deoarece acesta și cipul de pe panoul tactil ar trebui să fie alimentat (în modul de repaus) atunci când modulul ESP este și el în repaus. Am verificat apoi curentul de somn. Aceasta a fost 90uA. Deci, o baterie de 1000 mAh ar rezista un an. Un bun inceput.

Apoi am scos regulatorul de tensiune de pe modulul afișajului. Ar fi fost suficient să fi ridicat doar știftul de la sol. Acum curentul de repaus al sistemului era de 32 uA. Încă trebuia să adaug un regulator de 3,3V, dar știam unul cu curent de repaus de doar 2uA. Deci, acum ne uităm la 3 ani de viață a bateriei!

De asemenea, am vrut să montez componentele cât mai mult posibil pe un PCB pentru a face cablajul mai îngrijit. Deci, în acest moment, am continuat cu un design PCB pentru unitate. Mi-aș fi dorit să mă conectez direct la pinii modulului de afișare. Acest lucru avea să fie destul de dificil, așa că am optat pentru un cablu dur de la PCB la modulul de afișare.

Am făcut ceva mai mult jucând cu codul. Am adăugat o notificare de somn - umplerea ecranului cu negru și tipărirea ZZZ înainte de culcare. De asemenea, am întârziat pornirea luminii de fundal cu LED până când ecranul a fost umplut. Acest lucru evită blițul alb la începutul codului original. Am făcut modificări similare la sfârșit, oprind LED-urile înainte de a opri afișajul.

S-ar putea să vă întrebați cum să măsurați uA. Moarte ușor! Puneți un rezistor de 1k în serie cu cablul de putere pozitivă. Scurtați acest lucru cu un cablu jumper, astfel încât sistemul să poată rula. Apoi, când este în modul de repaus, scoateți cablul jumperului și măsurați căderea de tensiune pe rezistor. Cu 1k rezistor 100mv înseamnă 100uA. Dacă căderea de tensiune este prea mare, folosesc o rezistență mai mică. Am folosit această metodă pentru a măsura o singură cifră nA folosind un rezistor de 1m pe alte sisteme cu curenți de somn foarte mici.

Pasul 2: Construcție

Imagine
Imagine
Imagine
Imagine

PCB sau cablu dur?

Unitatea pe care am construit-o aici folosește un PCB pentru a menține ESP12F și modulele de încărcare și regulatorul de tensiune și tranzistorul PNP și condensatorii și rezistențele de tracțiune asociate. Aceasta este cea mai ordonată cale, dar necesită echipamente de gravare PCB și echipamente de lipit SMD. Cu toate acestea, sistemul ar putea fi realizat prin cablarea directă a modulelor și punerea regulatorului de tensiune și a tranzistorului PNP pe o bucată de placă - așa cum a fost cazul în proiectul TicTac anterior (legat anterior).

Dacă decideți să mergeți cu opțiunea PCB, poate doriți să creați și placa de programare ESP12, mai ales dacă intenționați să faceți mai multe proiecte cu plăcile ESP12.

Lista de componente:

  • 49g cutie TicTac
  • ESP-12F (sau ESP-12E) Rețineți că ESP-12F are o autonomie mai bună, altfel la fel ca ESP-12E
  • Afișaj SPI TFT de 2,4”cu driver ILI9341 și atingere de ex. TJCTW24024-SPI
  • Modul încărcător - vezi fotografia
  • 2mm pin-strip (opțional, dar merită folosit)
  • Tranzistor PNP în format SOT23. Am folosit BCW30, dar orice altul cu capacitate mai mare de 100ma și câștig DC> 200 ar trebui să fie OK.
  • Regulator 3v3 250ma (min) în format SOT23. Am folosit Microchip MCP1703T-33002E / CB. Alții vor funcționa, dar își vor verifica curentul liniștit. (sugerează mai puțin de 30uA).
  • Rezistoare (toate dimensiunile 0805)
  • 10k 4off
  • 3k3 1 reducere
  • Condensatoare (toate dimensiunile 0805)
  • 2n2 2 oprit
  • 0.1u 1 off
  • PCB ca fișier WiFiAnalyserArtwork.docx atașat.
  • Baterie LiPo cu o singură celulă. Capacitate 400-1000mahr - care se va potrivi în carcasă. 400mahr este suficient de mare.

Pentru opțiunea non-PCB folosiți echivalenți cu plumb, rezistențele ¼W și mai mari sunt fine și condensatorii cu o tensiune de lucru de 5v sau mai mare.

La realizarea PCB - găuriți găurile la 0,8 mm. Dacă aveți un ochi acut - orificiile ESP12 de 2 mm pot fi de 0,7 mm pentru un suport mai bun.

Amplasarea componentelor:

Imagine
Imagine

La asamblarea PCB-ului faceți mai întâi rezistențele și condensatoarele, apoi regulatorul și tranzistorul PNP, urmat de modulul încărcătorului și pin-strip pentru ESP12. Nu am lipit ESP12 în poziție, deoarece este suficient de ferm apăsat pe pin-strip și este mai ușor să reprogramați placa. Veți observa că PCB-ul are conectori pentru TX, RX, GPIO 0, Reset și împământare dacă vreți vreodată să reprogramați in-situ. Rețineți că va fi necesar un buton pentru a reduce GPIO. Resetarea poate fi redusă atingând ecranul. Un buton ar putea fi folosit, dar numai dacă firul de la afișajul T_IRQ este deconectat.

Pasul 3: Cablare

Înainte de a conecta afișajul la placa de circuit, scoateți regulatorul i1 și puneți un blob de lipit pe J1 care apoi îl înlocuiește. Ulterior ar trebui să arate ca:

Imagine
Imagine

Apoi fie scoateți știftul, fie tăiați știfturile scurt. Cel mai bun mod de a îndepărta știftul este unul câte unul. Aplicați un fier de lipit pe o parte în timp ce trageți știftul cu clește pe cealaltă.

Acum cablul poate începe, începând cu conectarea cablului panglică la afișaj. Tăiați în jurul unui cablu panglică de 7-8 cm lungime și selectați 10 moduri. Tăiați 9 dintre căile înapoi cu 10 mm lăsând una mai lungă la o margine pentru pinul T-IRQ. Restul pot fi apoi extinse până unde vor fi lipite și tăiate puțin mai mult acolo unde este necesar.

Am plasat și am lipit câte o plumb la rând, începând cu VCC.

Imagine
Imagine

Așezați PCB-ul acolo unde trebuie să fie în raport cu afișajul. Apoi, unul câte unul, tăiați firele la 5 mm sau mai mult decât este necesar și dezbrăcați izolația de 2 mm, stanjați capătul și lipiți-l la loc. Direcționarea firelor se face după cum urmează (numărarea numerelor de pin de la VCC):

Afişa PCB cometariu
1 1 VCC
2 8 GND
3 9 CS
4 5 RESET
5 7 DC
6 2 SDI (MOSI)
7 4 SCK
8 10 LED
9 3 SDO (MISO)
10 6 T_IRQ
Imagine
Imagine

Acum nu mai rămâne decât să conectați bateria și să programați ESP12. Dacă programați in situ, conectați bateria acum. Dacă programați de pe placa, conectați bateria după aceea.

Pasul 4: Programare

Descărcați fișierul cod ESP8266WiFiAnalMod.ino atașat, creați un folder numit ‘ESP8266WiFiAnalMod’ în folderul de schițe Arduino și mutați fișierul în acesta.

Porniți ID-ul Arduino (descărcați și instalați de pe Arduino.cc dacă este necesar) și adăugați detaliile plăcii ESP dacă nu le aveți (consultați: Sparkfun).

Încărcați codul (File> Sketchbook> … ESP8266WiFiAnalMod).

Apoi setați detaliile de programare (Instrumente):

Selectați placa: Modul ESP8266 generic

Vedeți mai jos pentru restul setărilor. Selectați metoda Reset: „nodemcu” dacă utilizați un programator cu unitatea automată de resetare și GPIO0. În caz contrar, setați la „ck” dacă programați in-situ sau prin conexiune directă la un convertor USB la serial.

Este probabil ca numărul portului să fie diferit.

Imagine
Imagine

Dacă doriți să programați in-situ, va trebui să lipiți firele la un comutator pentru a trage GPIO 0 jos și a vă conecta la Tx și Rx - vedeți mai jos:

O opțiune mai ușoară este utilizarea unei plăci de programare: ESP-12E și ESP-12F Programming and Breakout Board

Dacă programarea in-situ conectați-vă după cum urmează. Rețineți dacă afișajul este conectat Resetarea poate fi activată de ecranul tactil, altfel este necesar un comutator de la Resetare la GND. Puterea este necesară pe placa, cel mai bine prin aplicarea a 3,7v la pinii OUT + și OUT-. Dacă utilizați o baterie, încărcătorul trebuie resetat prin conectarea scurtă a unui cablu USB.

Imagine
Imagine

Dacă setați modul de programare, trageți manual resetarea jos (ecran tactil), trageți GPIO 0 jos și, în timp ce este redus, eliberați resetarea. Acum faceți clic pe butonul de descărcare. Programarea ar trebui să continue.

Dacă utilizați placa de programare și breakout, atașați convertorul serial USB FTDI, aplicați alimentare 3.3v pe placa de programare și faceți clic pe descărcare.

Pasul 5: Asamblare finală și testare

Acum este momentul potrivit pentru un test preliminar. Dacă ESP12 a fost programat in-situ ar trebui să funcționeze - atingeți ușor ecranul și ar trebui să înceapă. Dacă este programat de pe unitate - introduceți ESP12 și conectați bateria și ar trebui să funcționeze.

Am deconectat bateria în timp ce parcurgeam ansamblul final parțial pentru confort și parțial pentru a evita orice scurtcircuit neintenționat.

Afișajul se va face perfect între capac și partea inferioară a carcasei. Secțiunea ridicată din bază ține frumos ecranul de partea cutiei.

Placa de circuit trebuie fixată pe placa de afișare pentru a se potrivi atât în capac, cât și pentru a prezenta mufa de încărcare USB. Când se vede relația necesară între pozițiile plăcii, așezați bandă dublă (de tip 1 mm grosime) pe ambele plăci. Acest lucru va oferi o distanță de 2 mm, care ar trebui să evite orice contact electric. Am pus o bandă izolatoare care acoperă electronica afișajului ca măsură de precauție:

Imagine
Imagine

Apoi, trebuie să scoatem aproximativ 2 mm de pe capacul superior. Am făcut ca aceasta să se potrivească perfect pe ecran cu biți suplimentari decupați pentru cablul panglică al ecranului tactil și suportul de plastic al ecranului. Vezi mai jos:

Imagine
Imagine
Imagine
Imagine

În cele din urmă, trebuie să așezăm bateria și să o folosim pentru a ține afișajul pe partea laterală a cutiei. Am folosit o bucată veche de spumă de polistiren și am tăiat-o și l-am șlefuit până la grosimea necesară. Am lipit acest lucru pe PCB-ul afișajului utilizând bandă dublă subțire și am folosit câteva bucăți mai mici de bandă pentru a opri alunecarea bateriei.

Imagine
Imagine

După ce ați conectat totul și ați descoperit că nu se întâmplă nimic, nu vă faceți griji (încă). Circuitul de protecție a bateriei de pe modulul încărcătorului trebuie resetat. Acest lucru se realizează conectându-l printr-un cablu micro USB la o sursă de 5V. Câteva secunde sunt suficient de lungi.

Și acum aveți un dispozitiv util care arată puterea sistemelor ESP8266 și, în cazul meu, m-a condus la schimbarea canalului WiFi, deoarece a detectat încă 5 pe același!

Sper să vă bucurați de acest proiect minunat.

Mike

Recomandat: