Სარჩევი:
- ნაბიჯი 1: რა გვჭირდება ამ პროექტისთვის
- ნაბიჯი 2: წრე
- ნაბიჯი 3: სქემის პურის ვერსია
- ნაბიჯი 4: შრიფტის ჩატვირთვა
- ნაბიჯი 5: დამატებითი დრაივერების დამატება
- ნაბიჯი 6: მოწყობილობების დაყენება
- ნაბიჯი 7: განსაზღვრეთ სიმბოლოები და დახაზეთ ჰორიზონტალური და ვერტიკალური ხაზები
- ნაბიჯი 8: ყუთები, ბლოკები და დახრილი ხაზები
- ნაბიჯი 9: ხარისხის სიმბოლო, დამატება, ბარი გრაფიკი და წრე
- ნაბიჯი 10: ნაგვის შეგროვება, სათაურები და წრეები
- ნაბიჯი 11: ხაზების დემო
- ნაბიჯი 12: მთავარი მარყუჟი: ზოლის დიაგრამა და განსაზღვრული პერსონაჟები
ვიდეო: გრაფიკა SSD1306 I2C OLED 128x64 ეკრანზე წრიულით პითონი Itsybitsy M4 Express– ის გამოყენებით: 13 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
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 სტრიქონში.
გირჩევთ:
I2C / IIC LCD ეკრანი - გამოიყენეთ SPI LCD I2C LCD ეკრანზე SPI to IIC მოდულის გამოყენებით Arduino– ით: 5 ნაბიჯი
I2C / IIC LCD ეკრანი | გამოიყენეთ SPI LCD I2C LCD ეკრანზე SPI to IIC მოდულის გამოყენებით Arduino: გამარჯობა ბიჭებო, რადგან ჩვეულებრივ SPI LCD 1602 -ს აქვს ძალიან ბევრი მავთული დასაკავშირებლად, ამიტომ არდუინოსთან დაკავშირება ძალიან რთულია, მაგრამ არსებობს ერთი მოდული ბაზარზე, რომელსაც შეუძლია გადააკეთეთ SPI დისპლეი IIC ეკრანად, ასე რომ თქვენ გჭირდებათ მხოლოდ 4 მავთულის დაკავშირება
ტემპერატურისა და სინათლის დონის მონიტორი LCD ეკრანზე ეკრანზე NOKIA 5110: 4 ნაბიჯი
ტემპერატურისა და სინათლის დონის მონიტორი LCD ეკრანზე NOKIA 5110: გამარჯობა ყველას! ამ განყოფილებაში ჩვენ ვქმნით მარტივ ელექტრონულ მოწყობილობას ტემპერატურისა და სინათლის დონის მონიტორინგისთვის. ამ პარამეტრების გაზომვები ნაჩვენებია LCD NOKIA 5110 -ზე. მოწყობილობა ემყარება მიკროკონტროლერს AVR ATMEGA328P. მონიტორინგი
პერსონალური გრაფიკა Nokia 5110 ეკრანზე: 7 ნაბიჯი
პერსონალური გრაფიკა Nokia 5110 ეკრანზე: გამარჯობა ბიჭებო! მოქსიგენი აქ. დაახლოებით 3 წლის წინ, მე დავხურე ჩემი პირადი საიტი (inKnowit.in), სადაც იყო 30 ბლოგი ან ასე შემდეგ. მე გავაგრძელე ბლოგინგი, მაგრამ ძალიან სწრაფად დავკარგე მოტივაცია და დავწერე მხოლოდ სამი ბლოგი. ბევრი ფიქრის შემდეგ გადავწყვიტე
დენის LED- ები - უმარტივესი შუქი მუდმივი მიმდინარე წრიულით: 9 ნაბიჯი (სურათებით)
სიმძლავრის LED - უმარტივესი შუქი მუდმივი მიმდინარე წრედით: აქ არის მართლაც მარტივი და იაფი ($ 1) LED დრაივერის წრე. წრე არის "მუდმივი მიმდინარე წყარო", რაც იმას ნიშნავს, რომ ის ინარჩუნებს LED სიკაშკაშეს, არ აქვს მნიშვნელობა რა დენის წყაროს იყენებთ ან გარემოს გარემოს
(მარტივი) ATI გრაფიკა Linux– ში Fglrx– ის გამოყენებით: 3 ნაბიჯი
(მარტივი) ATI გრაფიკა Linux– ში Fglrx– ის გამოყენებით: კარგი, Linux– ის დაყენების შემდეგ, თუ გსურთ მოიცილოთ ძირითადი ვიდეო დრაივერები, თქვენ უნდა დააინსტალიროთ fglrx. fglrx არის ვიდეო დრაივერი, რომელიც მოწოდებულია AMD/ATI– ს მიერ Radeon და FireGL გრაფიკული ბარათებისთვის Linux– ისთვის და არის ბევრი სხვა დრაივი