Სარჩევი:

TicTac Super Wifi ანალიზატორი, ESP-12, ESP8266: 5 ნაბიჯი (სურათებით)
TicTac Super Wifi ანალიზატორი, ESP-12, ESP8266: 5 ნაბიჯი (სურათებით)

ვიდეო: TicTac Super Wifi ანალიზატორი, ESP-12, ESP8266: 5 ნაბიჯი (სურათებით)

ვიდეო: TicTac Super Wifi ანალიზატორი, ESP-12, ESP8266: 5 ნაბიჯი (სურათებით)
ვიდეო: The TIC TAC TOE Drop 🎯 VS @mrblack 2024, ივლისი
Anonim
TicTac Super Wifi ანალიზატორი, ESP-12, ESP8266
TicTac Super Wifi ანალიზატორი, ESP-12, ESP8266
TicTac Super Wifi ანალიზატორი, ESP-12, ESP8266
TicTac Super Wifi ანალიზატორი, ESP-12, ESP8266

ეს პროექტი ემყარება მთვარის სამოგზაურო კოდის ორიგინალს და TicTac ყუთის გამოყენების კონცეფციას.

თუმცა კითხვის დასაწყებად ღილაკის ნაცვლად გამოიყენება სენსორული პანელი, რომელსაც მოყვება TFT SPI ეკრანი. კოდი შეცვლილია LED განათების უკეთესი კონტროლისთვის და ეკრანის ძილის რეჟიმში ჩასასმელად (რადგან ეკრანის მოდულს სჭირდება შეხება სენსორული ჩიპისთვის). ძილში ერთეულის დენი საკმარისად დაბალია, რომ 1000mah ლიპო რამდენიმე წელზე მეტხანს გაგრძელდეს. ასევე არის ბატარეის დატენვა და დაბალი ძაბვის დაცვა.

იხილეთ ბოლო ნაბიჯი ვიდეოს მუშაობის შესახებ.

ნაწილები:

  • 48 გ TicTac ყუთი
  • ESP12 (სასურველია ESP-12F)
  • 2.4”SPI TFT ეკრანი
  • ლიპოს დატენვის მოდული
  • PNP ტრანზისტორი
  • 3.3 ვ დაბალი დაბალი წყნარი დენი, ძაბვის რეგულატორი
  • დაკავშირებული რეზისტორები და კონდენსატორები (დეტალები მოგვიანებით)

ნაბიჯი 1: განვითარება

განვითარება
განვითარება

ვიფიქრე, რომ ამ პროექტის განვითარების გზას დავასახელებ. თქვენ შეგიძლიათ გამოტოვოთ ეს განყოფილება, თუ გსურთ ამის გაკეთებაში.

ეს არის ჩემი ერთ -ერთი პირველი ESP8266 პროექტი. მე მივიღე TicTac ყუთის გამოყენების სისუფთავე, როგორც Wifi ანალიზატორის სათავსო და გადავწყვიტე ამის გაკეთება. გმადლობთ: პორტატული-WiFi- ანალიზატორი. მე გადავწყვიტე გამომეყენებინა უფრო დიდი 2.4 დიუმიანი დისპლეი - რომელსაც მოყვა სენსორული პანელი და PCB პინებით, რომელთან დაკავშირებაც უფრო ადვილი იქნებოდა.

როდესაც დავიწყე მშენებლობა, მე გამოვიკვლიე შეთანხმება, რომლითაც ESP12 საჰაერო ხომალდი ელექტრონიკისგან გაწმენდილი იქნებოდა. ერთადერთი ვარიანტი ის იყო, რომ ის თავსახურის შიგნით ყოფილიყო. მე ასევე მინდოდა დამტენი მოდული დისპენსერის ქვეშ. კითხვა მაშინ სად იყო "on ღილაკზე"? არ მინდოდა ხვრელის გაკეთება საქმის უკანა ნაწილში. ზედა ქუდი საუკეთესო იქნებოდა - მაგრამ ადგილი არ არის, თუკი იქ მაქვს ორი მოდული.

ამან გამოიწვია სენსორული პანელის ჩართვის ღილაკის იდეა. შევამჩნიე, რომ ეკრანის ერთერთ კონექტორს ეწერა წარწერა „T_IRQ“- ეს გამამხნევებლად გამოიყურებოდა. სენსორული ჩიპი არის XPT2046. დიახ, ჩემი სიამოვნებისთვის არის ავტომატური ძილის რეჟიმი და დაბალია T_IRQ, თუ პანელი შეეხო. ეს იდეალურია ბიძგის შეცვლის შესაცვლელად და შეიძლება უბრალოდ იყოს დაკავშირებული ESP12 გადატვირთვასთან.

უნდა აღვნიშნო, რომ კოდი აწარმოებს რამდენიმე სკანირებას wifi ქსელებისთვის და შემდეგ შლის ეკრანს ენერგიას და ESP12– ს ღრმა ძილში აყენებს - ეს გამოღვიძებულია გადატვირთვის შეყვანის საშუალებით.

ამ კონცეფციის მკაფიო გაგებით, მე გავამაგრე იგი NodeMcu– ს გამოყენებით - და ის არ მუშაობდა! ასე რომ, ცოტა მეტი სამუშაო იყო გასაკეთებელი. მე ასევე ვიცოდი, რომ მე არ შემეძლო ძილის დენის შემოწმება NodeMcu– ს ბორტზე USB ჩიპის და მაღალი წყნარი დენის ძაბვის რეგულატორის გამო. მე ასევე მინდოდა ESP12– ის მარტივად პროგრამირების სისტემა. ამან განაპირობა ჩემი ESP12 გამანადგურებელი დაფის/განვითარების სისტემის დამზადება, რომლის დაპროგრამებაც ისეთივე მარტივად შეიძლება, როგორც NodeMCU, მაგრამ FTDI პროგრამისტის გამოყენებით. ამ გზით მარეგულირებელი და USB ჩიპი ცალკეა. იხილეთ: ESP-12E და ESP-12F პროგრამირების და გარღვევის დაფა

შემდეგ მე გავამაგრე იგი ახალი დაფის გამოყენებით ESP-12F-და ის მუშაობდა. ერთადერთი ცვლილება, რაც მე შევიტანე, იყო ეკრანის მოდულზე ძაბვის მარეგულირებლის მოკლე ამოღება, ასე რომ, ყველაფერი 3.3 ვ -ზე მოძრაობდა. მე დავიწყე ჩემი კოდების მოდიფიკაცია, კერძოდ კოდის ჩვენების ჩიპი (ILI9341) ძილის რეჟიმში, რადგან ეს და სენსორული პანელის ჩიპი უნდა იყოს ჩართული (ძილის რეჟიმში) როდესაც ESP მოდული ასევე ძილშია. შემდეგ შევამოწმე ძილის მიმდინარეობა. ეს იყო 90uA. ასე რომ, 1000mah ბატარეა გაგრძელდება წელიწადში. Კარგი დასაწყისია.

შემდეგ ჩვენ ამოვიღე ძაბვის რეგულატორი ჩვენების მოდულზე. საკმარისი იქნებოდა მხოლოდ მიწის ქინძისთავის აწევა. ახლა სისტემის ძილის დენი იყო 32uA. მე მაინც უნდა დავამატო 3.3 ვ რეგულატორი, მაგრამ ვიცოდი ერთი მხოლოდ 2uA წყნარი დენით. ასე რომ, ჩვენ ვუყურებთ 3 წლიანი ბატარეის ხანგრძლივობას!

მე ასევე მინდოდა კომპონენტების მაქსიმალურად დაყენება PCB– ზე, რათა გაყვანილობა უფრო სუფთა ყოფილიყო. ასე რომ, ამ ეტაპზე მე გავაგრძელე ერთეულის PCB დიზაინი. მე ვისურვებდი, რომ უშუალოდ დავკავშირებულიყავი ჩვენების მოდულის ქინძისთავებთან. ეს საკმაოდ რთული იქნებოდა, ამიტომ მე შევარჩიე მყარი მავთული PCB– დან ჩვენების მოდულზე.

მე ცოტა უფრო ჩავხედე კოდს. მე დავამატე ძილის შეტყობინება - ეკრანის შავად შევსება და ძილის წინ დაბეჭდვა ZZZ. მე ასევე შევაჩერე LED განათების ჩართვა ეკრანის შევსებამდე. ეს თავიდან აიცილებს თეთრ ელვარებას ორიგინალური კოდის დასაწყისში. მე გავაკეთე მსგავსი რეჟიმები ბოლოს და ბოლოს გამორთეთ LED- ები ეკრანის დაძინებამდე.

ალბათ გაინტერესებთ როგორ გავზომოთ uA. მკვდარია ადვილი! მოათავსეთ 1k რეზისტორი სერიაში პოზიტიური სიმძლავრის ტყვიით. მოკლედ ამოიღეთ ეს ჯუმბერის ტყვიით, რათა სისტემამ შეძლოს მუშაობა. შემდეგ, როდესაც ის ძილის რეჟიმშია, ამოიღეთ მხტუნავები და გაზომეთ ძაბვის ვარდნა რეზისტორზე. 1k რეზისტორით 100mv ნიშნავს 100uA. თუ ძაბვის ვარდნა ძალიან დიდია, ვიყენებ ქვედა მნიშვნელობის წინააღმდეგობას. მე გამოვიყენე ეს მეთოდი ერთი ფიგურის nA გაზომვისთვის 1 მ რეზისტორის გამოყენებით სხვა სისტემებზე, რომელთა ძილი მართლაც დაბალია.

ნაბიჯი 2: მშენებლობა

გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება

PCB თუ მყარი მავთული?

აქ აშენებული ერთეული იყენებს PCB- ს ESP12F და დამტენი მოდულების და ძაბვის რეგულატორის და PNP ტრანზისტორის და მასთან დაკავშირებული კონდენსატორებისა და გამწევ რეზისტორების შესანახად. ეს არის უახლესი მარშრუტი, მაგრამ მოითხოვს PCB გრავირებისა და SMD შედუღების მოწყობილობას. თუმცა სისტემა შეიძლება გაკეთდეს მოდულების უშუალოდ გაყვანილობით და ძაბვის მარეგულირებელი და PNP ტრანზისტორი სტრიპტ დაფის ნაჭერზე - როგორც ეს იყო ადრე TicTac პროექტში (ადრე დაკავშირებული).

თუ თქვენ გადაწყვეტთ PCB– სთან მუშაობას, თქვენ შეიძლება მოისურვოთ ჩემი ESP12 პროგრამირების დაფის შექმნა, განსაკუთრებით იმ შემთხვევაში, თუ თქვენ გეგმავთ მეტი პროექტის განხორციელებას ESP12 დაფებით.

ნაწილების სია:

  • 49 გ TicTac ყუთი
  • ESP-12F (ან ESP-12E) შენიშვნა ESP-12F აქვს უკეთესი დიაპაზონი, სხვაგვარად იგივე როგორც ESP-12E
  • 2.4”SPI TFT ჩვენება ILI9341 დრაივერით და შეხება მაგ. TJCTW24024-SPI
  • დამტენი მოდული - იხილეთ ფოტო
  • 2 მმ-იანი ქამარი (სურვილისამებრ, მაგრამ ღირს გამოყენება)
  • PNP ტრანზისტორი SOT23 ფორმატში. მე გამოვიყენე BCW30, მაგრამ ნებისმიერი სხვა 100 მ -ზე მეტი შესაძლებლობით და DC მომატება> 200 უნდა იყოს კარგი.
  • 3v3 250ma (წთ) რეგულატორი SOT23 ფორმატში. მე გამოვიყენე მიკროჩიპი MCP1703T-33002E/CB. სხვები იმუშავებენ, მაგრამ შეამოწმებენ მათ წყნარ დენს. (ვარაუდობენ, რომ 30uA- ზე ნაკლებია).
  • რეზისტორები (ყველა 0805 ზომა)
  • 10k 4 off
  • 3k3 1 ფასდაკლებით
  • კონდენსატორები (ყველა 0805 ზომა)
  • 2n2 2 off
  • 0.1u 1 ფასდაკლება
  • PCB როგორც WiFiAnalyserArtwork.docx ფაილი ერთვის.
  • ერთუჯრედიანი LiPo ბატარეა. ტევადობა 400-1000mahr - რომელიც ჯდება საქმეში. 400 mahr საკმაოდ დიდია.

არასამთავრობო PCB ვარიანტისთვის გამოიყენეთ ტყვიის ეკვივალენტები, orsW და ზემოთ რეზისტორები კარგადაა და კონდენსატორები 5V ან მეტი სამუშაო ძაბვით.

PCB– ის დამზადებისას - გაბურღეთ ხვრელები 0,8 მმ – ზე. თუ თქვენ გაქვთ მკვეთრი თვალი - ESP12 2 მმ -იანი ქინძისთავების ხვრელები შეიძლება იყოს 0.7 მმ უკეთესი მხარდაჭერისთვის.

კომპონენტის განთავსება:

გამოსახულება
გამოსახულება

PCB- ის შეკრებისას ჯერ გააკეთეთ რეზისტორები და კონდენსატორები, შემდეგ მარეგულირებელი და PNP ტრანზისტორი, რასაც მოჰყვება დამტენის მოდული და ESP12- ის pin-strip. მე ESP12 არ გავკარი ადგილზე, რადგან ის საკმარისად მტკიცედ არის დაჭერილი ქინძისთავზე და უფრო ადვილია დაფის ამოღება. თქვენ შეამჩნევთ, რომ PCB– ს აქვს კონექტორები TX, RX, GPIO 0, გადატვირთვისა და დასაბრუნებლად, თუკი ოდესმე გინდათ ხელახლა დაპროგრამება ადგილზე. გაითვალისწინეთ, რომ ღილაკი საჭირო იქნება GPIO- ს დაბალი დასაწევად. გადატვირთვის შემცირება შესაძლებელია ეკრანის შეხებით. ღილაკის გამოყენება შესაძლებელია მხოლოდ იმ შემთხვევაში თუ T_IRQ ეკრანზე მავთული გათიშულია.

ნაბიჯი 3: გაყვანილობა

სანამ ეკრანის მიკროსქემის მიერთებას მოხსნით ამოიღეთ მარეგულირებელი i1 და J1- ზე მოათავსეთ ბუდე, რომელიც შემდეგ ცვლის მას. ამის შემდეგ უნდა გამოიყურებოდეს:

გამოსახულება
გამოსახულება

შემდეგ ან ამოიღეთ ქინძისთავები ან მოკლედ დაჭერით ქინძისთავები. პინ-ზოლის ამოღების საუკეთესო საშუალებაა ერთდროულად ერთი პინი. წაისვით გამაგრილებელი რკინა ერთ მხარეს, ხოლო მეორეზე ქინძისთავით.

ახლა გაყვანილობა შეიძლება დაიწყოს, დაწყებული ლენტი კაბელის ეკრანზე შეერთებით. გაჭერით კომპიუტერის ლენტი 7-8 სმ სიგრძის და შეარჩიეთ 10 გზა. მორთეთ 9 გზა უკან 10 მმ-ით, დატოვეთ ერთი უფრო გრძელი ერთი ზღვარზე T-IRQ პინზე. შემდეგ დანარჩენი შეიძლება გადანაწილდეს იქ, სადაც შედუღდება და საჭიროებისამებრ ოდნავ გახეხილი იქნება.

მე მოვათავსე და შევაერთე ერთი ტყვია ერთდროულად VCC– ით დაწყებული.

გამოსახულება
გამოსახულება

მოათავსეთ PCB იქ, სადაც საჭიროა ეკრანის მიმართ. შემდეგ, სათითაოდ, გაჭერით მავთულები 5 მმ -ზე მეტ ხანს ვიდრე საჭიროა და მოაცილეთ 2 მმ იზოლაცია, დააბრტყელეთ ბოლო და შედგით ადგილზე. მავთულის მარშრუტირება ხდება შემდეგნაირად (VCC– დან პინ ნომრების დათვლა):

ჩვენება PCB კომენტარი
1 1 VCC
2 8 GND
3 9 CS
4 5 გადატვირთვა
5 7 D/C
6 2 SDI (MOSI)
7 4 SCK
8 10 LED
9 3 SDO (MISO)
10 6 T_IRQ
გამოსახულება
გამოსახულება

ახლა რჩება მხოლოდ ბატარეის დაკავშირება და ESP12 პროგრამირება. თუ პროგრამირება ადგილზე შეაერთეთ ბატარეა. თუ დაფაზე პროგრამირება აკავშირებს ბატარეას შემდეგ.

ნაბიჯი 4: პროგრამირება

ჩამოტვირთეთ კოდი ESP8266WiFiAnalMod.ino ფაილი თანდართული, შექმენით საქაღალდე სახელწოდებით ‘ESP8266WiFiAnalMod’ თქვენს არდუინოს ესკიზების საქაღალდეში და გადაიტანეთ ფაილი ამაზე.

დაიწყეთ Arduino IDE (გადმოწერეთ და დააინსტალირეთ Arduino.cc– დან საჭიროების შემთხვევაში) და დაამატეთ ESP დაფის დეტალები, თუ არ გაქვთ (იხ.: Sparkfun).

ჩატვირთეთ კოდი (ფაილი> Sketchbook>… ESP8266WiFiAnalMod).

შემდეგ დააყენეთ პროგრამირების დეტალები (ინსტრუმენტები):

აირჩიეთ დაფა: Generic ESP8266 მოდული

ქვემოთ იხილეთ დანარჩენი პარამეტრები. აირჩიეთ გადატვირთვის მეთოდი: "nodemcu", თუ პროგრამისტს იყენებთ გადატვირთვის ავტომატური დისკით და GPIO0. სხვაგვარად დააყენეთ „ck“, თუ პროგრამირება ხდება ადგილზე ან უშუალო კავშირით USB სერიულ გადამყვანთან.

პორტის ნომერი, სავარაუდოდ, განსხვავებული იქნება.

გამოსახულება
გამოსახულება

თუ გსურთ ადგილზე დაპროგრამება, თქვენ უნდა შეაერთოთ მავთულები გადამრთველზე, რათა GPIO 0 დაბალი იყოს და დაუკავშირდეს Tx და Rx-იხილეთ ქვემოთ:

უფრო მარტივი ვარიანტია პროგრამირების დაფის გამოყენება: ESP-12E და ESP-12F პროგრამირების და გარღვევის დაფა

თუ პროგრამირება in-situ დააკავშირეთ ქვემოთ. შენიშვნა თუ ეკრანი დაკავშირებულია გადატვირთვა შეიძლება გააქტიურდეს სენსორული ეკრანით, წინააღმდეგ შემთხვევაში საჭიროა გადატვირთვა გადატვირთვადან GND– ზე. სიმძლავრე საჭიროა დაფაზე, უმჯობესია გამოიყენოთ 3.7 ვ OUT+ და OUT პინებზე. თუ ბატარეას იყენებთ, დამტენი უნდა გადატვირთოთ USB კაბელის მოკლე ჩართვით.

გამოსახულება
გამოსახულება

თუ პროგრამირების რეჟიმი ხელით არის დაყენებული დაბალი გადატვირთვა (სენსორული ეკრანი), გაიყვანეთ GPIO 0 დაბალ დონეზე და დაბალზე გაუშვით გადატვირთვა. ახლა დააჭირეთ ჩამოტვირთვის ღილაკს. პროგრამირება უნდა გაგრძელდეს.

თუ იყენებთ პროგრამირების და გარღვევის დაფას, უბრალოდ მიამაგრეთ FTDI USB სერიული გადამყვანი, გამოიყენეთ 3.3 ვ სიმძლავრე პროგრამირების დაფაზე და დააწკაპუნეთ ჩამოტვირთვაზე.

ნაბიჯი 5: საბოლოო შეკრება და ტესტირება

ახლა კარგი დროა წინასწარი გამოცდისთვის. თუ ESP12 იყო დაპროგრამებული ადგილზე, ის უნდა მუშაობდეს - უბრალოდ მსუბუქად შეეხეთ ეკრანს და ის უნდა დაიწყოს. თუ მოწყობილობა პროგრამირებულია - ჩადეთ ESP12 და შეაერთეთ ბატარეა და ის უნდა იმუშაოს.

მე გათიშა ბატარეა ბოლო ასამბლეის გავლისას ნაწილობრივ მოხერხებულობისთვის და ნაწილობრივ, რათა თავიდან ავიცილო რაიმე არასასურველი მოკლე ჩართვა.

ეკრანი სენდვიჩით იქნება მოთავსებული თავსახურს და კორპუსის ძირს შორის. ძირში წამოწეული მონაკვეთი ლამაზად ინახავს ეკრანს ყუთის მხარეს.

მიკროსქემის დაფა უნდა იყოს დამაგრებული ჩვენების დაფაზე, რათა ორივე მოთავსდეს თავსახურის შიგნით და წარმოადგინოს USB დამტენი სოკეტი. როდესაც დაფის პოზიციებს შორის ჩანს საჭირო ურთიერთობა, მოათავსეთ ორმაგი ცალმხრივი ლენტი (1 მმ სისქის ტიპი) ორივე დაფაზე. ეს მისცემს 2 მმ კლირენს, რომელიც თავიდან უნდა აიცილოს ნებისმიერი ელექტრული კონტაქტი. მე სიფრთხილის მიზნით დავდე რამოდენიმე საიზოლაციო ლენტი, რომელიც ფარავს ჩვენების ელექტრონიკას:

გამოსახულება
გამოსახულება

შემდეგ ჩვენ უნდა ავიღოთ დაახლოებით 2 მმ ზედა ქუდიდან. მე ეს მჭიდროდ მოვათავსე ეკრანს სენსორული ეკრანის ლენტის კაბელისა და ეკრანის პლასტმასის შესაკრავისთვის დამატებითი ბიტებით. Იხილეთ ქვემოთ:

გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება

დაბოლოს, ჩვენ უნდა მოვათავსოთ ბატარეა და გამოვიყენოთ ის ეკრანის დასაკავებლად ყუთის მხარეს. მე გამოვიყენე პოლისტიროლის ქაფის ძველი ნაჭერი და დავჭრა და გავამუშავე საჭირო სისქემდე. მე დავამატე ეს ეკრანის PCB თხელი ორმხრივი ლენტის გამოყენებით და გამოვიყენე რამოდენიმე პატარა ფირზე ფირფიტა ბატარეის მოცურების შესაჩერებლად.

გამოსახულება
გამოსახულება

როდესაც ყველაფერს დააკავშირებ და აღმოაჩენ, რომ არაფერი ხდება, არ ინერვიულო (ჯერჯერობით). დამტენის მოდულზე აკუმულატორის დაცვის წრე უნდა გადატვირთოთ. ეს კეთდება მიკრო USB კაბელის საშუალებით 5 ვ მიწოდებაზე. რამდენიმე წამი საკმარისია.

ახლა თქვენ გაქვთ სასარგებლო მოწყობილობა, რომელიც აჩვენებს ESP8266 სისტემების სიმძლავრეს და ჩემს შემთხვევაში მიბიძგა ჩემი WiFi არხის შეცვლაზე, რადგანაც მან აღმოაჩინა 5 სხვა!

იმედი მაქვს მოგეწონებათ ეს მშვენიერი პროექტი.

მაიკ

გირჩევთ: