Სარჩევი:

გრაფიკა SSD1306 I2C OLED 128x64 ეკრანზე წრიულით პითონი Itsybitsy M4 Express– ის გამოყენებით: 13 ნაბიჯი (სურათებით)
გრაფიკა SSD1306 I2C OLED 128x64 ეკრანზე წრიულით პითონი Itsybitsy M4 Express– ის გამოყენებით: 13 ნაბიჯი (სურათებით)

ვიდეო: გრაფიკა SSD1306 I2C OLED 128x64 ეკრანზე წრიულით პითონი Itsybitsy M4 Express– ის გამოყენებით: 13 ნაბიჯი (სურათებით)

ვიდეო: გრაფიკა SSD1306 I2C OLED 128x64 ეკრანზე წრიულით პითონი Itsybitsy M4 Express– ის გამოყენებით: 13 ნაბიჯი (სურათებით)
ვიდეო: SSD1306 graphic display 2024, ნოემბერი
Anonim
გრაფიკა SSD1306 I2C OLED 128x64 ეკრანზე წრიულით Python გამოყენებით Itsybitsy M4 Express
გრაფიკა SSD1306 I2C OLED 128x64 ეკრანზე წრიულით Python გამოყენებით Itsybitsy M4 Express

SSD1306 OLED ეკრანი არის პატარა (0.96 ), იაფი, ფართოდ ხელმისაწვდომი, I2C, მონოქრომული გრაფიკული ეკრანი 128x64 პიქსელით, რომელიც ადვილად ერწყმის მიკროპროცესორულ დაფებს, როგორიცაა Raspberry Pi, Arduino ან Adafruit Itsybitsy M4 Express, CircuitPlayground Express ან სხვა CircuitPython მოწყობილობები. დრაივერების ჩამოტვირთვა შესაძლებელია ინტერნეტიდან.

Arduinos– ის გრაფიკული რუტინა უკვე გარკვეული ხანია ხელმისაწვდომია, მაგრამ არა სხვა განვითარების სისტემებისთვის.

მოწყობილობის ძირითადი დრაივერები მომხმარებლებს საშუალებას აძლევს:

  • გაასუფთავეთ ეკრანი შავ ან თეთრად. შევსებული (გ)
  • ეკრანზე ჩაწერეთ ტექსტური სტრიქონი მითითებულ (x, y) პოზიციაზე oled.text ("ტექსტი", x, y, c)
  • დახაზეთ წერტილი განსაზღვრულ (x, y) oled პოზიციაზე. პიქსელი (x, y, c)
  • ჩატვირთეთ სურათის ფაილი ეკრანზე. (არ გამოიყენება ამ პროექტში)
  • განაახლოთ ეკრანი oled.show ()

ეს ინსტრუქცია აჩვენებს, მარტივი პროცედურებით, როგორ დავხატოთ ინტერაქტიულად:

  • ხაზები
  • წრეები
  • ღრუ ყუთები
  • მყარი ბლოკები
  • წინასწარ განსაზღვრული პერსონაჟები

მე ვიყენებ Adafruit Itsybitsy M4 Express მეთოდების საჩვენებლად, მაგრამ კოდი, პითონში, ადვილად შეიძლება გადავიდეს სხვა განვითარების სისტემებში.

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

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

ეს არის იაფი და მარტივი პროექტი, მაგრამ წარმოგიდგენთ შუალედურ/მოწინავე იდეებს. ვიმედოვნებ, რომ ცდები. მე აღფრთოვანებული ვიყავი ამ პატარა ჩვენებით.

ნაბიჯი 1: რა გვჭირდება ამ პროექტისთვის

რაც ჩვენ გვჭირდება ამ პროექტისთვის
რაც ჩვენ გვჭირდება ამ პროექტისთვის

აპარატურა:

  • SSD1306 I2C მონო ეკრანი 128x64 პიქსელით
  • Itsybitsy M4 ექსპრესი
  • microUSB USB კაბელზე - დაფის დასაპროგრამებლად
  • პურის დაფა
  • 1 10K Ohm პოტენომეტრი
  • 1 ღილაკის გადამრთველი
  • დამაკავშირებელი მავთული - სხვადასხვა ფერები დაგეხმარებათ
  • კომპიუტერი (კოდის დასაწერად და ასატვირთად) - ძალიან ძველი ლეპტოპი გააკეთებს.

პროგრამული უზრუნველყოფა:

Mu რედაქტორი - კოდის დასაწერად და სკრიპტის ატვირთვისთვის Itsybitsy

Itsybitsy– ს დაყენება აქ არის ახსნილი:

CircuitPython- ის უახლესი ვერსია:

CircuitPython ბიბლიოთეკები:

Mu რედაქტორი:

ნაბიჯი 2: წრე

წრე
წრე

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

ნაბიჯი 3: სქემის პურის ვერსია

მიკროსქემის პურის ვერსია
მიკროსქემის პურის ვერსია

პურის დაფის ზედა და ქვედა ნაწილში არის დენის რელსები. წითელი მავთულით შეუერთეთ +ve რელსები ერთად. შავი მავთულით შეუერთეთ –ve რელსები ერთად.

შეუერთეთ Itsybitsy– ს 3V პინი ქვედა +ve სარკინიგზო ხაზთან - წითელი მავთული. (სვეტი 12)

შეუერთდით Itsybitsy– ს G (GND) პინს ზედა რკინიგზაზე - შავი მავთული. (სვეტი 12)

სვეტებში 33 და 34, შეაერთეთ SSD1306 VCC და GND ქინძისთავები დენის ზედა რელსებთან.

ვარდისფერი მავთულით შეუერთეთ SCL ქინძისთავები ერთად.

ნაცრისფერი მავთულით შეაერთეთ SDA ქინძისთავები ერთად.

წითელი და შავი მავთულხლართებით დააკავშირეთ პოტენომეტრის გარე ქინძისთავები ზედა დენის რელსებთან და მწვანე მავთულით დააკავშირეთ ცენტრალური (გამწმენდი) პინი A5 Itsybitsy– ზე.

დააკავშირეთ ღილაკის გადამრთველის ერთი მხარე მეწამული მავთულით პინ 2 -თან და შავი მავთულით დააკავშირეთ მეორე მხარე GND სარკინიგზო ხაზთან.

ნაბიჯი 4: შრიფტის ჩატვირთვა

იტვირთება შრიფტი
იტვირთება შრიფტი

ჩამოტვირთეთ შრიფტის ფაილი და გადაიტანეთ იგი CIRCUITPY დისკზე. (ეს არის Itsybitsy.)

ორჯერ დააწკაპუნეთ lib საქაღალდეზე და შეხედეთ უკვე დატვირთული დრაივერების სიას.

ნაბიჯი 5: დამატებითი დრაივერების დამატება

დამატებითი დრაივერების დამატება
დამატებითი დრაივერების დამატება

Lib საქაღალდეში დაგჭირდებათ შემდეგი:

  • simpleio.mpy
  • adafruit_bus_device
  • adafruit_framebuf.mpy
  • adafruit_ssd1306.mpy

თუ ისინი აკლია, გადაიტანეთ ისინი საქაღალდეში არსებული უახლესი ვერსიიდან.

ახლა თქვენ მზად ხართ სკრიპტის გადმოსაწერად.

მას შემდეგ რაც დატვირთავთ Mu რედაქტორში, შეგიძლიათ შეინახოთ Itsybitsy– ში სახელწოდებით main.py.

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

მომდევნო გვერდებზე მოცემულია მეტი ინფორმაცია პროგრამის მუშაობის შესახებ.

ნაბიჯი 6: მოწყობილობების დაყენება

დააყენეთ მოწყობილობები
დააყენეთ მოწყობილობები

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

ნაბიჯი 7: განსაზღვრეთ სიმბოლოები და დახაზეთ ჰორიზონტალური და ვერტიკალური ხაზები

განსაზღვრეთ პერსონაჟები და დახაზეთ ჰორიზონტალური და ვერტიკალური ხაზები
განსაზღვრეთ პერსონაჟები და დახაზეთ ჰორიზონტალური და ვერტიკალური ხაზები
განსაზღვრეთ პერსონაჟები და დახაზეთ ჰორიზონტალური და ვერტიკალური ხაზები
განსაზღვრეთ პერსონაჟები და დახაზეთ ჰორიზონტალური და ვერტიკალური ხაზები

ეს განყოფილება ადგენს წინასწარ განსაზღვრულ სიმბოლოებს. მათი სიგანე 5 წერტილია, სიმაღლე კი - 8. განმარტებაში თითოეული წერტილი ეკრანზე ამახვილებს 4 წერტილს, რათა ისინი უკეთესად გამოჩნდეს.

ჰორიზონტალური და ვერტიკალური ხაზები ადვილია მარყუჟით. თქვენ უბრალოდ უნდა გახსოვდეთ, რომ დასასრულს გჭირდებათ დამატებითი წერტილი. ხაზს (0, 7) - დან (5, 7) დასჭირდება 6 წერტილი: x უდრის 0, 1, 2, 3, 4 და 5 თავის მხრივ.

ძირითადი წერტილი არის oled. პიქსელი (x, y, ფერი) - 0 შავია და 1 თეთრი.

საწყისი (0, 0) არის ეკრანის ზედა მარცხენა კუთხეში, 0 - 127 პიქსელი ჰორიზონტალურად (მარცხნიდან მარჯვნივ) და 0 - 63 ვერტიკალურად (ზემოდან ქვემოდან).

ნაბიჯი 8: ყუთები, ბლოკები და დახრილი ხაზები

ყუთები, ბლოკები და დახრილი ხაზები
ყუთები, ბლოკები და დახრილი ხაზები

ყუთები აგებულია ჰორიზონტალური და ვერტიკალური ხაზებიდან.

ბლოკები აგებულია მრავალი ჰორიზონტალური ხაზისგან.

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

ჩვენ ვიანგარიშებთ ფერდობს და ვიყენებთ მას x მნიშვნელობის x მნიშვნელობის დასადგენად.

ჩვენების (ტ) პროცედურა ხდის განახლებულ ეკრანს და ელოდება მოკლე შეფერხებას, t წამს.

ნაბიჯი 9: ხარისხის სიმბოლო, დამატება, ბარი გრაფიკი და წრე

ხარისხის სიმბოლო, დამატება, ბარი გრაფიკი და წრე
ხარისხის სიმბოლო, დამატება, ბარი გრაფიკი და წრე

ხარისხის სიმბოლო იქმნება 4 პიქსელიდან.

გასწორების () რუტინა ამატებს დამატებით ადგილებს რიცხვის წინ მარჯვნივ, რომ შეასწოროს მოკლე მნიშვნელობები ფიქსირებულ სივრცეში.

გრაფიკი (v) რუტინული ხატავს ჰორიზონტალურ ბარის დიაგრამას, რომელიც აძლევს შერჩეულ პროცენტს. მნიშვნელობა იწერება მარჯვენა ბოლოში 'T' გამოყენებით ასახავს 100 (ტონა ან ზედა).

წრეები მოითხოვს გარკვეულ ტრიგონომეტრიას, ამიტომ ჩვენ გვჭირდება მათემატიკის ბიბლიოთეკის იმპორტი სკრიპტის დასაწყისში. ჩვენ ვიყენებთ sin, cos და რადიანებს, რომ გამოვთვალოთ x და y ცვლა ცენტრიდან, რადგან რადიუსი ბრუნავს 90 გრადუსით. ოფსეტების თითოეული გაანგარიშებისათვის ოთხი ოთხი კვადრატიდან ქულები იდება.

ნაბიჯი 10: ნაგვის შეგროვება, სათაურები და წრეები

ნაგვის კოლექცია, სათაურები და წრეები
ნაგვის კოლექცია, სათაურები და წრეები

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

შემდეგ პროგრამა ხატავს წრეებს საერთო ცენტრით და მოძრავი ცენტრებით. საკმაოდ სწრაფი რუტინა საჭირო გამოთვლის რაოდენობის გათვალისწინებით.

ხაზების დემო სათაური იწერება შემდეგ.

ნაბიჯი 11: ხაზების დემო

ხაზები დემო
ხაზები დემო

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

ნაბიჯი 12: მთავარი მარყუჟი: ზოლის დიაგრამა და განსაზღვრული პერსონაჟები

მთავარი მარყუჟი: ბარის გრაფიკი და განსაზღვრული პერსონაჟები
მთავარი მარყუჟი: ბარის გრაფიკი და განსაზღვრული პერსონაჟები

ეს არის პროგრამის მთავარი მარყუჟი. პოტენომეტრიდან მიღებული მნიშვნელობები ცვლის ნაჩვენებ მნიშვნელობებს და ცვლის ბარის დიაგრამის სიგრძეს.

თუ ღილაკი დაჭერილია, განსაზღვრული სიმბოლოები იცვლება როგორც 1/0 და True/False. ეს მარყუჟი საკმაოდ ნელა გადის, რადგან წინასწარ განსაზღვრული სიმბოლოების დახატვა ნელი პროცესია. თქვენ შეგიძლიათ დააჩქაროთ საქმეები ზოგიერთი მათგანის კომენტარით.

არ არის დამონტაჟებული ტემპერატურის სენსორი, რომ ეს დემო მარტივი იყოს, ასე რომ "?" ნაჩვენებია მნიშვნელობის ნაცვლად 190 სტრიქონში.

გირჩევთ: