Სარჩევი:
- ნაბიჯი 1: გამოყენებული რესურსები
- ნაბიჯი 2: ჩვენება
- ნაბიჯი 3: SSD1306 ბიბლიოთეკა
- ნაბიჯი 4: ანიმაცია და XBM ფაილები
- ნაბიჯი 5: XBM ფაილებიდან გასვლა
- ნაბიჯი 6: საწყისი კოდი
- ნაბიჯი 7: კოდის ჩატვირთვა
- ნაბიჯი 8: ფაილები
ვიდეო: შესავალი ESP32 Lora OLED ეკრანი: 8 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ეს არის კიდევ ერთი ვიდეო ESP32 LoRa– ს შესავლის შესახებ. ამჯერად, ჩვენ კონკრეტულად ვისაუბრებთ გრაფიკულ ჩვენებაზე (128x64 პიქსელით). ჩვენ გამოვიყენებთ SSD1306 ბიბლიოთეკას ამ OLED ეკრანზე ინფორმაციის საჩვენებლად და წარმოვადგენთ ანიმაციის მაგალითს XBM სურათების გამოყენებით.
ნაბიჯი 1: გამოყენებული რესურსები
1 Heltec WiFi LoRa 32
პროტობორდი
ნაბიჯი 2: ჩვენება
ეკრანი, რომელიც გამოიყენება განვითარების დაფაზე, არის OLED 0.96 ინჩი.
მას აქვს 128x64 და არის მონოქრომული.
მას აქვს I2C კომუნიკაცია და უკავშირდება ESP32– ს 3 მავთულის საშუალებით:
SDA GPIO4– ზე (მონაცემებისთვის)
SCL GPIO15– ზე (საათისათვის)
RST GPIO16– ზე (გადატვირთვისა და ჩვენების დაწყებისათვის)
ნაბიჯი 3: SSD1306 ბიბლიოთეკა
ამის ნახვა შეგიძლიათ ჰელტეკ-აარონ-ლის მიერ მოწოდებულ ბიბლიოთეკებთან ერთად.
მას აქვს რამდენიმე ფუნქცია სტრიქონების წერის, ხაზების, ოთხკუთხედების, წრეების და სურათების ჩვენებისათვის.
github.com/Heltec-Aaron-Lee/WiFi_Kit_series
ნაბიჯი 4: ანიმაცია და XBM ფაილები
ჩვენ გამოვიყენებთ ბიბლიოთეკის drawXbm ფუნქციას ანიმაციის საჩვენებლად.
XBM გამოსახულების ფორმატი შედგება სიმბოლოების მასივისგან, სადაც თითოეული ელემენტი ტექსტულად წარმოადგენს მონოქრომული პიქსელების ნაკრებებს (თითოეული 1 ბიტი), ჰექსადეციალური მნიშვნელობის მეშვეობით. ეს უდრის ერთ ბაიტს.
ვინაიდან მრავალი სიმბოლო გამოიყენება ერთი ბაიტის გამოსახატავად, ეს ფაილები უფრო დიდია ვიდრე ამჟამად მიღებული ფორმატებიდან. უპირატესობა ის არის, რომ მათი შედგენა შესაძლებელია უშუალოდ წინასწარი მკურნალობის გარეშე.
მასივის გარდა, შედის ორი პარამეტრი, რომელიც განსაზღვრავს სურათის ზომას.
ანიმაციის შესაქმნელად, ჩვენ გვჭირდება სურათები, რომლებიც ქმნიან ჩარჩოებს.
ჩვენ შეგვიძლია გამოვიყენოთ გამოსახულების რედაქტირების ნებისმიერი პროგრამული უზრუნველყოფა სამუშაოდ. ერთადერთი სიფრთხილის ზომები, რაც ჩვენ უნდა მივიღოთ, არის ის, რომ ჩვენ შევინარჩუნოთ ზომა ეკრანთან და გამოვიყენოთ მონოქრომული ფაილები.
ფაილების შესაქმნელად, ჩვენ შეგვიძლია დავხატოთ ისინი ან შემოვიტანოთ სურათები. აქ ჩვენ გადავწყვიტეთ შეცვალოთ ფერადი სურათი PaintBrush– ის გამოყენებით და ჩვენ დავხატეთ თითოეული ჩარჩო
ორიგინალური სურათი - 960x707 პიქსელი --p.webp
შემდეგი ნაბიჯი არის მისი მონოქრომული შენახვა მონოქრომული ბიტმაპის სახით.
შემდეგ, ჩვენ ვცვლით მას ეკრანთან თავსებადი ზომით.
განსაკუთრებული ყურადღება მიაქციეთ საზომი ერთეულებს. ამ შემთხვევაში, ჩვენ დავარეგულირეთ სურათი ისე, რომ მან დაიკავა ეკრანის მთელი სიმაღლე (ვერტიკალური = 64 პიქსელი).
სურათის სწორი ზომით, ჩვენ შევასწორებთ მას ჩარჩოების შესაქმნელად. აქ ჩვენ ვშლით სიგნალის დონის თითოეულ რკალს და ვინახავთ მათ შესაბამის ჩარჩოებად.
ახლა ჩვენ უნდა გადავიყვანოთ BMP ფაილები XBM ფორმატში.
არსებობს რამოდენიმე პროგრამული ვარიანტი, რომელსაც შეუძლია ამ გარდაქმნის გაკეთება. ჩვენ ასევე შევარჩიეთ GIMP, როგორც რედაქტორის ვარიანტი.
ჩვენს მაგალითში ჩვენ გამოვიყენეთ PaintBrush ფაილების გენერირებისა და რედაქტირებისთვის. ამასთან, თითოეული ეს პროცესი შეიძლება გაკეთდეს Gimp– ში (ან სხვა რედაქტორში).
კონვერტაციისთვის, ჩვენ პირველად ვხსნით ფაილს.
როდესაც სურათი ღიაა, ჩვენ შეგვიძლია ავირჩიოთ ფაილი => ექსპორტი როგორც…
ექსპორტის სურათის ფანჯარაში ჩვენ უნდა შევცვალოთ დანიშნულების ფაილის გაფართოება XBM– სთვის. Gimp იქნება პასუხისმგებელი სასურველი ფორმატის იდენტიფიცირებასა და მეტი ვარიანტის წარმოდგენაზე…
ექსპორტისას Gimp წარმოგიდგენთ სხვა ვარიანტებს. ჩვენ შეგვიძლია დავტოვოთ ნაგულისხმევი მნიშვნელობები.
ყველა ფაილის კონვერტაციის შემდეგ, ჩვენ გვექნება ოთხი XBM ფაილი, თითო თითოეულ ჩარჩოზე.
ახლა მოდით გადავაკოპიროთ ისინი კოდის საქაღალდეში და გადაარქვათ სახელი მათ გაფართოებებს.h.
ნაბიჯი 5: XBM ფაილებიდან გასვლა
ჩვენ შეგვიძლია გავხსნათ XBM ფაილები ნებისმიერ ტექსტურ რედაქტორში, სადაც ვიხილავთ გამოსახულების მატრიცას და სურათის ზომის ინფორმაციას, რომელიც უკვე განსაზღვრულია.
ნაბიჯი 6: საწყისი კოდი
წყაროს კოდი: განცხადებები
ჩვენ ჩავრთავთ საჭირო ბიბლიოთეკებს, ასევე გამოსახულების ფაილებს. ჩვენ განვსაზღვრავთ სურათის პოზიციებს და გადასვლის ინტერვალს. ჩვენ ასევე მივუთითებთ OLED ქინძისთავებს, რომლებიც დაკავშირებულია ESP32- თან. დაბოლოს, ჩვენ ვქმნით და ვარეგულირებთ ჩვენების ობიექტს.
// ჩართეთ ბიბლიოთეკების საჭიროებისათვის #მოიცავს #მოიცავს "SSD1306.h" // მოიცავს სურათს #მოიცავს #frame1.h " #მოიცავს" frame2.h " #მოიცავს" frame3.h " #მოიცავს" frame4.h " // განსაზღვრება სურათების გადაცემის ინტერვალით #განსაზღვრეთ posX 21 #განსაზღვრეთ posY 0 #განსაზღვრეთ ინტერვალი 500 // Pinos do OLED estão conctados ao ESP32: I2C // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLE - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // O RST deve ser controlado for software SSD1306 display (0x3c, SDA, SCL, RST); // Cria e ajusta o Objeto ჩვენება
წყაროს კოდი: Setup ()
ეკრანის ინიციალიზაცია და ეკრანის ვერტიკალური შებრუნება. მოქმედება არჩევითია.
void setup () {display.init (); // inicia o display display.flipScreenVertically (); // inverte verticalmente a tela (opcional)}
წყაროს კოდი: მარყუჟი ()
პირველი რაც უნდა გააკეთოთ მარყუჟში არის ეკრანის გასუფთავება. ჩარჩო 1 ჩავტვირთავთ ბუფერში posX და posY საწყისი პოზიციების გამოყენებით. ჩვენ ვაცნობებთ სურათის ზომას frame1_width და frame1_height და მასივის სახელს, რომელიც შეიცავს სურათის ბიტებს. ჩვენ ვაჩვენებთ ბუფერს ეკრანზე და ველოდებით ინტერვალს შემდეგი კადრის ჩვენებამდე.
void loop () {display.clear (); // limpa tela // carrega para o buffer o frame 1 // usando as posições iniciais posX e posY // informa o tamanho da imagem com frame1_width e frame1_height // informa o nome da matriz que თანამედროვე os bits da imagem, no caso frame1_bits display.drawXbm (posX, posY, frame1_width, frame1_height, frame1_bits); // mostra o buffer არ არის display.display (); // aguarda um intervalo antes de mostrar o próximo ჩარჩოს დაყოვნება (ინტერვალი);
ჩვენ ვიმეორებთ პროცესს ყველა სხვა ჩარჩოსთვის.
// გამეორება პროცესის გასვლისას ჩარჩოების ჩვენება. ნათელია (); display.drawXbm (posX, posY, frame2_width, frame2_height, frame2_bits); ჩვენება. ჩვენება (); შეფერხება (ინტერვალი); ჩვენება. ნათელი (); display.drawXbm (posX, posY, frame3_width, frame3_height, frame3_bits); ჩვენება. ჩვენება (); შეფერხება (ინტერვალი); ჩვენება. ნათელი (); display.drawXbm (posX, posY, frame4_width, frame4_height, frame4_bits); ჩვენება. ჩვენება (); შეფერხება (ინტერვალი); }
ნაბიჯი 7: კოდის ჩატვირთვა
IDE ღიაა, გახსენით ფაილი წყაროს კოდით.ino ფაილზე ორჯერ დაწკაპუნებით, ან ფაილის მენიუში გადასვლით.
USB– თან დაკავშირებული Heltec– ით აირჩიეთ მენიუ Tools => Card: "Heltec_WIFI_LoRa_32"
ჯერ კიდევ Tools მენიუში აირჩიეთ COM პორტი, სადაც Heltec არის დაკავშირებული.
დააწკაპუნეთ UPLOAD ღილაკზე…
… და დაელოდეთ დასკვნას.
ნაბიჯი 8: ფაილები
ჩამოტვირთეთ ფაილები:
ინო
გირჩევთ:
Arduino როგორ გამოვიყენოთ 1.3 დიუმიანი OLED ეკრანი SH1106: 7 ნაბიჯი
Arduino როგორ გამოვიყენოთ 1.3 ინჩიანი OLED ეკრანი SH1106: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ 1.3 ინჩიანი OLED ეკრანის SH1106 Arduino და Visuino პროგრამული უზრუნველყოფა. უყურეთ ვიდეოს
Arduino აკონტროლეთ DC საავტომობილო სიჩქარე და მიმართულება პოტენომეტრის გამოყენებით, OLED ეკრანი და ღილაკები: 6 ნაბიჯი
Arduino Control DC საავტომობილო სიჩქარე და მიმართულება პოტენომეტრის, OLED ეკრანისა და ღილაკების გამოყენებით: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ L298N DC MOTOR CONTROL დრაივერი და პოტენომეტრი, რომ აკონტროლოთ DC ძრავის სიჩქარე და მიმართულება ორი ღილაკით და აჩვენოთ პოტენომეტრის მნიშვნელობა OLED ეკრანზე. უყურეთ სადემონსტრაციო ვიდეოს
DC ძრავის გლუვი დაწყება, სიჩქარე და მიმართულება პოტენციომეტრის გამოყენებით, OLED ეკრანი და ღილაკები: 6 ნაბიჯი
DC Motor გლუვი დაწყება, სიჩქარე და მიმართულება პოტენომეტრის, OLED ეკრანისა და ღილაკების გამოყენებით: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ L298N DC MOTOR CONTROL დრაივერი და პოტენომეტრი, რომ გავაკონტროლოთ DC ძრავის გლუვი დაწყება, სიჩქარე და მიმართულება ორი ღილაკით და აჩვენეთ პოტენომეტრის მნიშვნელობა OLED ეკრანზე. უყურეთ სადემონსტრაციო ვიდეოს
როტაციის ჟოლოს Pi ეკრანი და სენსორული ეკრანი: 4 ნაბიჯი
როტაციის ჟოლო Pi ეკრანი და სენსორული ეკრანი: ეს არის ძირითადი ინსტრუქცია, რომელიც გიჩვენებთ თუ როგორ უნდა გადაატრიალოთ ეკრანი და სენსორული ეკრანი ნებისმიერი Raspberry Pi– სთვის, რომელიც მუშაობს Buster Raspbian ოპერაციული სისტემით, მაგრამ მე ეს მეთოდი ჯესიის შემდეგ გამოვიყენე. მასში გამოყენებული სურათები ჟოლოს პიდან არის
შესავალი LoRa & მოდული RFM95 / RFM95W Hoperf: 5 ნაბიჯი
შესავალი LoRa & Module RFM95 / RFM95W Hoperf: ამ შესაძლებლობისას ჩვენ გავაკეთებთ მოკლე დახასიათებას LoRa და ვაჭრობის შესახებ; და კონკრეტულად რადიო RFM95/96 დამზადებულია Hoperf Electronics– ის მიერ. მას შემდეგ, რაც რამდენიმე თვის წინ, 2 მოდული ჩამოვიდა, თავდაპირველად მინდა შესავალი გავაკეთო თემაზე