Съдържание:
Видео: Таблет/телефон като екран на Arduino и осцилоскоп за $ 2: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Докато човек може да си купи евтин сензорен екран с размери 320x240 за проект, базиран на Arduino, може да бъде по-удобно-особено за прототипиране и тестване на скица-да се използва таблет или телефон като сензорен екран и източник на захранване за проект. Можете да имате много по-висока разделителна способност и по-добре изглеждащ дисплей на вашето устройство с Android (например, всичките ви линии ще бъдат с псевдоним).
Екранът, базиран на Android, може да бъде свързан чрез USB Serial, Bluetooth или WiFi (например ESP8266).
За тази цел написах VectorDisplay (източник тук), приложение за Android, което се свързва с библиотека Arduino, която реализира голяма подмножество от интерфейса Adafruit GFX. Можете да напишете код, който след това може лесно да бъде пренесен, за да използвате самостоятелен екран, или да продължите да използвате скицата с дисплей, базиран на Android. И можете да изпращате команди от приложението за Android, за да контролирате скицата на Arduino. Библиотеката Arduino е до голяма степен независима от платката: тя трябва да работи с всяка платка, която осигурява обект на USB сериен порт, наречен Serial, или с ESP8266 през WiFi или с Bluetooth (първо сдвоете дъската си).
Като доказателство за прилагането на концепцията, пренесох проекта STM32-O-Scope с голи кости, за да използвам VectorDisplay вместо дисплея ILI9341. Резултатът е (груб по ръбовете) преносим, захранван с батерии осмилоскоп от 1.7MS/s, който не изисква нищо повече от платка STM32F103C за $ 2 (използвайки ядрото Arduino на базата на libmaple), два проводника, USB OTG кабел и устройство с Android. Разбира се, всичко, което получавате с това, е диапазон от 0 до около 3.3V.
Стъпка 1: Инсталирайте софтуер
Предполагам, че сте настроили Arduino IDE за любимата си платка и че любимата ви платка има USB сериен интерфейс.
Отидете на Sketch | Включване на библиотека | Управление на библиотеки. Поставете "VectorDisplay" в областта за търсене и щракнете върху "Install", след като бъде намерен.
Изтеглете библиотечния цип от тук.
Разархивирайте в папка във вашата папка Arduino/библиотеки.
Изтеглете VectorDisplay от Google Play и го инсталирайте на устройството си с Android. Може да се наложи да активирате инсталирането от неизвестни източници на устройството си с Android. Приложението за Android използва библиотеката UsbSerial и отправната точка беше едно от примерните приложения за библиотеката.
Стъпка 2: Демо скица
Свържете дъската си (в режим на качване, ако е необходимо) към компютъра си и отидете на Файл | Примери | VectorDisplay | кръгове във вашата Arduino IDE. Кликнете върху бутона за качване (стрелка надясно).
Стартирайте приложението VectorDisplay на устройството си с Android. Включете дъската в устройството с Android чрез USB OTG кабел. (Ако вашата платка има USB микро порт, уверете се, че страната на хоста на USB OTG отива към устройството с Android). Сега трябва да получите заявка за разрешение за VectorDisplay. Натиснете OK.
Ако всичко върви добре, VectorDisplay вече ще показва два бутона от лявата страна на екрана: кръг и цвят. Натискането на кръг изчертава произволен кръг на екрана и Цветът променя цвета на произволен цвят преди следващия кръг.
Ако погледнете скицата на кръговете в IDE, ще видите, че серийният векторен дисплей е деклариран с:
Дисплей SerialDisplayClass;
и след това инициализиран в setup () с:
Display.begin ();
След това командните бутони се искат с Display.addButton (). След това loop () извиква Display.readMessage (), за да търси команди, изпратени чрез командните бутони.
По подразбиране координатната система за дисплея е 240x320. Линиите и текстът обаче са изчертани с помощта на пълната разделителна способност на екрана на вашето устройство с Android, с антиалиасинг за добър външен вид. Ето защо приложението се нарича Vector Display.
Стъпка 3: API
API в библиотеката е във файла VectorDisplay.h. Първо трябва да инициализирате Display обект. За използване чрез 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 вижте примера на circu_esp8266. Ще трябва да натиснете бутона USB в приложението, за да превключите в режим WiFi.
За Bluetooth трябва да можете да правите:
Дисплей SerialDisplayClass (MyBluetoothSerial);
… MyBluetoothSerial.begin (115200); Display.begin ();
и след това продължете точно както в USB серийния калъф, където MyBluetoothSerial е какъвто и да е Stream обект (например Serial2), свързан към вашия Bluetooth адаптер.
Стъпка 4: Осцилоскоп за $ 2
За бързия и мръсен осцилоскоп ще ви трябва синьо или черно (по -лесно за справяне) хапче STM32F103C8 хапче, което можете да получите на Aliexpress за под 2 долара. Описвам как да подготвим дъската за използване със средата Arduino за нея и да инсталирам скици тук.
Изтеглете тази скица на дъската, която е модифицирана версия на скицата STM32-O-Scope на Pingumacpenguin. Редактирайте реда #define BOARD_LED, така че да съответства на вашата дъска. Използвам черно хапче, чийто светодиод е PB12. Сините хапчета (и някои черни хапчета, които имат същия извод като синьото хапче) имат LED на PC13.
Свържете един проводник-заземяваща сонда-към земята на платката, а друг проводник към щифта B0 на платката. Включете дъската в устройство с Android с работещ VectorDisplay и имате преносим осцилоскоп, захранван от батерии.
На снимката имам осцилоскоп, закачен към фототранзистор. Следата на екрана е от телевизионно инфрачервено дистанционно управление.
Препоръчано:
Arduino като ISP -- Записване на шестнадесетичен файл в AVR -- Предпазител в AVR -- Arduino като програмист: 10 стъпки
Arduino като ISP || Записване на шестнадесетичен файл в AVR || Предпазител в AVR || Arduino като програмист: ……………………… Моля АБОНИРАЙТЕ се за канала ми в YouTube за още видеоклипове …….. Тази статия е всичко за arduino като isp. Ако искате да качите шестнадесетичен файл или ако искате да настроите предпазителя си в AVR, няма нужда да купувате програмист, можете да направите
Raspberry Pi 7 "таблет със сензорен екран: 15 стъпки
Raspberry Pi 7 -инчов таблет със сензорен екран: Тази инструкция демонстрира как да се изгради акумулаторна литиево -йонна батерия, заредена с таблет Raspberry Pi със сензорен екран. Този проект е открит на Adafruit.com и инструкцията задълбочава как да пресъздаде този проект
Използване на RTA програма като осцилоскоп или кръгов анализатор: 4 стъпки
Използване на програма за RTA като осцилоскоп или анализатор на вериги: Целта на този трик е да даде на зрителите и достъпна опция да виждат електрическите сигнали на техните вериги и устройства, използвайки програми за анализатор в реално време (RTA). Основното предимство на този подход спрямо осцилоскопа е, че програмите за RTA
Сензорен екран за семейна синхронизация и домашен контролен панел със сензорен екран: 7 стъпки (със снимки)
Сензорен сензорен панел за семейно синхронизиране и домашен контролен панел: Имаме календар, който се актуализира ежемесечно със събития, но се извършва ръчно. Ние също сме склонни да забравяме неща, които сме свършили или други дребни задължения. На тази възраст си мислех, че е много по -лесно да има синхронизиран календар и система от тип бележник, която да
MacBook таблет или DIY Cintiq или Homebrew Mac таблет: 7 стъпки
MacBook Tablet или DIY Cintiq или Homebrew Mac Tablet: Вдъхновен силно от представените инструктори на c4l3b, който от своя страна беше вдъхновен от bongofish, реших да опитам същото на моя Core 2 Duo MacBook. Стъпките бяха достатъчно различни, така че мислех, че е оправдана отделна инструкция. Също