Სარჩევი:

ტაბლეტი/ტელეფონი როგორც არდუინოს ეკრანი და $ 2 ოსცილოსკოპი: 4 ნაბიჯი
ტაბლეტი/ტელეფონი როგორც არდუინოს ეკრანი და $ 2 ოსცილოსკოპი: 4 ნაბიჯი

ვიდეო: ტაბლეტი/ტელეფონი როგორც არდუინოს ეკრანი და $ 2 ოსცილოსკოპი: 4 ნაბიჯი

ვიდეო: ტაბლეტი/ტელეფონი როგორც არდუინოს ეკრანი და $ 2 ოსცილოსკოპი: 4 ნაბიჯი
ვიდეო: How to use 2 channel relay to control AC and DC loads in Arduino 2024, ნოემბერი
Anonim
ტაბლეტი/ტელეფონი როგორც არდუინოს ეკრანი და $ 2 ოსცილოსკოპი
ტაბლეტი/ტელეფონი როგორც არდუინოს ეკრანი და $ 2 ოსცილოსკოპი
ტაბლეტი/ტელეფონი როგორც არდუინოს ეკრანი და $ 2 ოსცილოსკოპი
ტაბლეტი/ტელეფონი როგორც არდუინოს ეკრანი და $ 2 ოსცილოსკოპი
ტაბლეტი/ტელეფონი როგორც არდუინოს ეკრანი და $ 2 ოსცილოსკოპი
ტაბლეტი/ტელეფონი როგორც არდუინოს ეკრანი და $ 2 ოსცილოსკოპი

მიუხედავად იმისა, რომ შეგიძლიათ შეიძინოთ იაფი 320x240 LCD სენსორული ეკრანი არდუინოზე დაფუძნებული პროექტისთვის, ეს შეიძლება იყოს უფრო მოსახერხებელი-განსაკუთრებით ესკიზის პროტოტიპირებისა და შესამოწმებლად-ტაბლეტის ან ტელეფონის გამოყენება როგორც სენსორული ეკრანი, ასევე ენერგიის წყარო. პროექტი. თქვენ შეგიძლიათ გქონდეთ ბევრად უფრო მაღალი გარჩევადობა და უკეთესი გარეგნობა თქვენს Android მოწყობილობაზე (მაგ., თქვენი ყველა ხაზი იქნება ანტი-ალიასის საწინააღმდეგო).

Android დაფუძნებული ეკრანი შეიძლება დაკავშირებული იყოს USB სერიული, Bluetooth ან WiFi საშუალებით (მაგ., ESP8266).

ამ მიზნით მე დავწერე VectorDisplay (წყარო აქ), Android აპლიკაცია, რომელიც შერწყმულია Arduino ბიბლიოთეკასთან, რომელიც ახორციელებს Adafruit GFX ინტერფეისის დიდ ქვეგანყოფილებას. თქვენ შეგიძლიათ ჩაწეროთ კოდი, რომლის გადატანა შესაძლებელია მარტივად დამოუკიდებელი ეკრანის გამოსაყენებლად, ან გააგრძელოთ ესკიზის გამოყენება Android- ზე დაფუძნებული ეკრანით. და თქვენ შეგიძლიათ გაგზავნოთ ბრძანებები Android აპლიკაციიდან Arduino სკეტჩის გასაკონტროლებლად. Arduino ბიბლიოთეკა მეტწილად დაფისგან დამოუკიდებელია: ის უნდა მუშაობდეს ნებისმიერ დაფაზე, რომელიც უზრუნველყოფს USB სერიული პორტის ობიექტს სერიული სახელით ან ESP8266– ით WiFi– ით ან Bluetooth– ით (პირველ რიგში დააწყვილეთ დაფა).

როგორც კონცეფციის გამოყენების მტკიცებულება, მე გადავიტანე შიშველი ძვლების STM32-O-Scope პროექტი, რომ გამოვიყენო VectorDisplay ILI9341 ეკრანის ნაცვლად. შედეგი არის პორტატული (უხეში კიდეების ირგვლივ) პორტატული, ბატარეაზე მომუშავე 1.7MS/s oscilloscope, რომელიც არაფერს მოითხოვს, ვიდრე $ 2 STM32F103C დაფა (Libmaple დაფუძნებული Arduino ბირთვის გამოყენებით), ორი მავთული, USB OTG კაბელი და Android მოწყობილობა რა რასაკვირველია, ყველაფერი რაც თქვენ მიიღებთ არის დიაპაზონი 0 -დან დაახლოებით 3.3 ვ -მდე.

ნაბიჯი 1: დააინსტალირეთ პროგრამული უზრუნველყოფა

მე ვფიქრობ, რომ თქვენ გაქვთ Arduino IDE თქვენი საყვარელი დაფისთვის და რომ თქვენს საყვარელ დაფს აქვს USB სერიული ინტერფეისი.

გადადით ესკიზზე | ბიბლიოთეკის ჩართვა | მართეთ ბიბლიოთეკები. ჩადეთ "VectorDisplay" საძიებო ზონაში და დააწკაპუნეთ "Install" - ის აღმოჩენისთანავე.

ჩამოტვირთეთ ბიბლიოთეკის zip აქედან.

გახსენით საქაღალდე თქვენს Arduino/libraries საქაღალდეში.

ჩამოტვირთეთ VectorDisplay Google Play– დან და დააინსტალირეთ თქვენს Android მოწყობილობაზე. შეიძლება დაგჭირდეთ თქვენი Android მოწყობილობის უცნობი წყაროებიდან ინსტალაციის ჩართვა. Android აპლიკაცია იყენებს UsbSerial ბიბლიოთეკას და ამოსავალი წერტილი ბიბლიოთეკის ერთ -ერთი მაგალითი იყო.

ნაბიჯი 2: დემო ესკიზი

დემო ესკიზი
დემო ესკიზი
დემო ესკიზი
დემო ესკიზი
დემო ესკიზი
დემო ესკიზი
დემო ესკიზი
დემო ესკიზი

შეაერთეთ თქვენი დაფა (საჭიროების შემთხვევაში ატვირთვის რეჟიმში) თქვენს კომპიუტერს და გადადით ფაილზე | მაგალითები | ვექტორული ჩვენება | წრეები თქვენს Arduino IDE- ში. დააწკაპუნეთ ატვირთვის ღილაკზე (ისარი მარჯვნივ).

დაიწყეთ VectorDisplay აპლიკაცია თქვენს Android მოწყობილობაზე. შეაერთეთ თქვენი დაფა Android მოწყობილობაში USB OTG კაბელის საშუალებით. (თუ თქვენს დაფას აქვს USB მიკრო პორტი, დარწმუნდით, რომ თქვენი USB OTG მასპინძელი მხარე გადადის Android მოწყობილობაზე). ახლა თქვენ უნდა მიიღოთ ნებართვის მოთხოვნა VectorDisplay– ისთვის. დააჭირეთ OK.

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

თუ გადახედავთ IDE– ში წრეების ესკიზს, დაინახავთ, რომ სერიული ვექტორული ჩვენება გამოცხადებულია შემდეგით:

SerialDisplayClass ჩვენება;

და შემდეგ ინიციალიზებული setup () ერთად:

ჩვენება.დაწყება ();

შემდეგ ბრძანების ღილაკები მოთხოვნილია Display.addButton () - ით. შემდეგ loop () დარეკავს Display.readMessage () - ში, რათა მოძებნოთ ბრძანებები, რომლებიც იგზავნება ბრძანების ღილაკების საშუალებით.

სტანდარტულად, ეკრანის საკოორდინატო სისტემა არის 240x320. თუმცა, ხაზები და ტექსტი ყველა დახაზულია თქვენი Android მოწყობილობის ეკრანის სრული გარჩევადობის გამოყენებით, ანტიალიზირების მიზნით კარგი გარეგნობისთვის. სწორედ ამიტომ, პროგრამას ჰქვია ვექტორული ჩვენება.

ნაბიჯი 3: API

ბიბლიოთეკაში API არის VectorDisplay.h ფაილში. თქვენ ჯერ უნდა აჩვენოთ ჩვენების ობიექტი. USB გამოყენებისათვის, გააკეთეთ ეს:

SerialDisplayClass ჩვენება;

დაიწყეთ კავშირი Display.begin () - თან.

SerialDisplayClass ობიექტში ხელმისაწვდომია მეთოდების ორი ნაკრები: ერთი ნაკრები იყენებს 32-ბიტიან ფერს (ალფას ჩათვლით) და ბრძანებებს, რომლებიც საკმაოდ ახლოსაა USB სერიულ პროტოკოლთან, რომელსაც იყენებს ჩემი VectorDisplay აპლიკაცია, ხოლო მეორე ნაკრები არის სტანდარტის ქვეჯგუფი. Adafruit GFX ბიბლიოთეკის მეთოდები, 16 ბიტიანი ფერის გამოყენებით. უმეტესწილად შეგიძლიათ თავისუფლად აურიოთ ბრძანებების ორი კომპლექტი, გარდა იმ შემთხვევისა, რომ თუ თქვენ იყენებთ Adafruit თავსებადი მეთოდებს, უნდა გამოიყენოთ 16-ბიტიანი ფერადი ბრძანებები, რომელთა სახელები მთავრდება 565-ით, 32-ბიტიანი ნაცვლად.

თქვენ შეგიძლიათ დააყენოთ კოორდინატთა სისტემა Display.coordinates (სიგანე, სიმაღლე). ნაგულისხმევი არის სიგანე = 240 და სიმაღლე = 320. თუ გსურთ ეკრანის იმიტაცია არა კვადრატული პიქსელებით, შეგიძლიათ გამოიყენოთ Display.pixelAspectRatio (თანაფარდობა).

რამდენიმე მეთოდი, მათ შორის pixelAspectRatio (), იღებს FixedPoint32 არგუმენტს. ეს არის 32 ბიტიანი მთელი რიცხვი, რომელიც წარმოადგენს მცურავი წერტილის რიცხვს, სადაც 65536 წარმოადგენს 1.0-ს. მცურავი წერტილის რიცხვის x გადასაყვანად FixedPoint32, გააკეთეთ: (FixedPoint32) (65536. * X) (ან უბრალოდ TO_FP32 (x)).

გარდა იმისა, რომ შესაძლებელია Android ღილაკებიდან ბრძანებების გაგზავნა, ეკრანთან შეხების მოვლენები ასევე იგზავნება MCU– ში.

WiFi– ის გამოყენებისთვის იხილეთ rings_esp8266 მაგალითი. თქვენ უნდა დააჭიროთ USB ღილაკს აპში WiFi რეჟიმზე გადასასვლელად.

Bluetooth– ისთვის, თქვენ უნდა შეგეძლოთ ამის გაკეთება:

SerialDisplayClass ჩვენება (MyBluetoothSerial);

… MyBluetoothSerial.begin (115200); ჩვენება.დაწყება ();

და შემდეგ გააგრძელეთ ისევე, როგორც USB სერიული შემთხვევაში, სადაც MyBluetoothSerial არის Stream ობიექტი (მაგალითად, Serial2) დაკავშირებულია თქვენს Bluetooth ადაპტერთან.

ნაბიჯი 4: $ 2 ოსცილოსკოპი

2 დოლარიანი ოსცილოსკოპი
2 დოლარიანი ოსცილოსკოპი
2 დოლარიანი ოსცილოსკოპი
2 დოლარიანი ოსცილოსკოპი
2 დოლარიანი ოსცილოსკოპი
2 დოლარიანი ოსცილოსკოპი

სწრაფი და ბინძური ოსცილოსკოპისთვის დაგჭირდებათ ლურჯი ან შავი (უფრო ადვილად გამკლავება) აბი STM32F103C8 დაფა, რომელიც შეგიძლიათ მიიღოთ ალიექსპრესზე 2 დოლარად. მე აღვწერ, თუ როგორ უნდა მოვამზადოთ დაფა Arduino გარემოსთვის გამოსაყენებლად და დავაყენო ესკიზები აქ.

ჩამოტვირთეთ ესკიზი დაფაზე, რომელიც არის Pingumacpenguin- ის STM32-O-Scope ესკიზის მოდიფიცირებული ვერსია. შეცვალეთ #განსაზღვრეთ BOARD_LED ხაზი, რომელიც შეესაბამება თქვენს დაფას. მე ვიყენებ შავ აბებს, რომელთა LED არის PB12. ლურჯ აბი (და ზოგიერთი შავი აბი, რომელსაც აქვს იგივე პინუტი, როგორც ლურჯი აბი) აქვს LED– ზე PC13– ზე.

შეაერთეთ ერთი მავთული-დაფის ზონდი-დაფის მიწასთან და მეორე მავთული დაფის B0 პინთან. შეაერთეთ დაფა Android მოწყობილობაში VectorDisplay გაშვებული და გექნებათ პორტატული, ბატარეაზე მომუშავე ოსცილოსკოპი.

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

გირჩევთ: