Оглавление:
- Шаг 1. Установите программное обеспечение
- Шаг 2: демонстрационный эскиз
- Шаг 3: API
- Шаг 4: осциллограф за 2 доллара
Видео: Планшет / телефон как экран Arduino и осциллограф за 2 доллара: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Хотя для проекта на базе Arduino можно купить дешевый сенсорный ЖК-экран 320x240, может быть удобнее - особенно для создания прототипа и тестирования эскиза - использовать планшет или телефон как в качестве сенсорного экрана, так и в качестве источника питания для компьютера. проект. У вас может быть гораздо более высокое разрешение и более красивый дисплей на вашем устройстве Android (например, все ваши строки будут сглажены).
Экран на базе Android можно подключить через USB-порт, Bluetooth или Wi-Fi (например, ESP8266).
С этой целью я написал VectorDisplay (источник здесь), приложение для Android, которое сочетается с библиотекой Arduino, которая реализует большую часть интерфейса Adafruit GFX. Вы можете написать код, который затем можно будет легко перенести на автономный экран, или продолжать использовать эскиз с дисплеем на базе Android. И вы можете отправлять команды из приложения Android для управления эскизом Arduino. Библиотека Arduino в значительной степени не зависит от платы: она должна работать с любой платой, которая предоставляет объект последовательного порта USB с именем Serial или с ESP8266 через Wi-Fi или с Bluetooth (сначала выполните сопряжение платы).
В качестве доказательства применения концепции я портировал простой проект STM32-O-Scope для использования VectorDisplay вместо дисплея ILI9341. В результате получился портативный (грубоватый) портативный осциллограф с питанием от батареи 1,7 МС / с, для которого требуется всего лишь плата STM32F103C за 2 доллара (с использованием ядра Arduino на основе libmaple), два провода, кабель USB OTG и устройство Android.. Конечно, все, что вы получаете с этим, - это диапазон от 0 до примерно 3,3 В.
Шаг 1. Установите программное обеспечение
Я предполагаю, что у вас есть Arduino IDE, настроенная для вашей любимой платы, и что ваша любимая плата имеет последовательный интерфейс USB.
Перейти к эскизу | Включить библиотеку | Управляйте библиотеками. Поместите «VectorDisplay» в область поиска и нажмите «Установить», как только он будет найден.
Загрузите архив библиотеки отсюда.
Разархивируйте в папку внутри папки Arduino / libraries.
Загрузите VectorDisplay из Google Play и установите его на свое устройство Android. Возможно, вам потребуется включить установку из неизвестных источников на вашем устройстве Android. Приложение Android использует библиотеку UsbSerial, и отправной точкой было одно из примеров приложений для библиотеки.
Шаг 2: демонстрационный эскиз
Подключите вашу доску (при необходимости в режиме загрузки) к компьютеру и перейдите в Файл | Примеры | VectorDisplay | круги в вашей Arduino IDE. Нажмите кнопку загрузки (стрелка вправо).
Запустите приложение VectorDisplay на своем устройстве Android. Подключите плату к устройству Android через кабель USB OTG. (Если на вашей плате есть микро-порт USB, убедитесь, что сторона хоста USB OTG подключена к устройству Android). Теперь вы должны получить запрос разрешения для VectorDisplay. Нажмите ОК.
Если все пойдет хорошо, VectorDisplay теперь покажет две кнопки в левой части экрана: круг и цвет. Нажатие кнопки «Круг» рисует на экране случайный круг, а «Цвет» меняет цвет на случайный цвет перед следующим кругом.
Если вы посмотрите на эскиз кругов в среде IDE, вы увидите, что серийный векторный дисплей объявлен с помощью:
SerialDisplayClass Display;
а затем инициализируется в setup () с помощью:
Display.begin ();
Затем командные кнопки запрашиваются с помощью Display.addButton (). Затем loop () вызывает Display.readMessage () для поиска команд, отправляемых через командные кнопки.
По умолчанию система координат для дисплея 240x320. Однако линии и текст рисуются с использованием полного разрешения экрана вашего устройства Android со сглаживанием для хорошего внешнего вида. Вот почему приложение называется Vector Display.
Шаг 3: API
API в библиотеке находится в файле VectorDisplay.h. Вам необходимо сначала инициализировать объект Display. Для использования USB сделайте это с помощью:
SerialDisplayClass Display;
Инициализируйте соединение с помощью Display.begin ().
В объекте SerialDisplayClass доступны два набора методов: один набор использует 32-битный цвет (включая альфа-канал) и команды, которые довольно близки к последовательному протоколу USB, который использует мое приложение VectorDisplay, а другой набор является подмножеством стандарта. Методы библиотеки Adafruit GFX, использующие 16-битный цвет. По большей части вы можете свободно смешивать два набора команд, за исключением того, что если вы используете методы, совместимые с Adafruit, вы должны использовать 16-битные цветовые команды, имена которых заканчиваются на 565, вместо 32-битных.
Вы можете установить систему координат с помощью Display.coordinates (ширина, высота). По умолчанию ширина = 240, а высота = 320. Если вы хотите имитировать дисплей с неквадратными пикселями, вы можете использовать Display.pixelAspectRatio (ratio).
Некоторые методы, включая pixelAspectRatio (), принимают аргумент FixedPoint32. Это 32-битное целое число, представляющее число с плавающей запятой, где 65536 представляет 1,0. Чтобы преобразовать число x с плавающей запятой в FixedPoint32, выполните: (FixedPoint32) (65536. * X) (или просто TO_FP32 (x)).
Помимо возможности отправлять команды с кнопок Android, события касания экрана также отправляются в MCU.
Для использования Wi-Fi см. Пример circle_esp8266. Вам нужно будет нажать кнопку USB в приложении, чтобы переключиться в режим Wi-Fi.
Для Bluetooth вы должны уметь:
SerialDisplayClass Display (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. Синие таблетки (и некоторые черные таблетки с такой же распиновкой, что и синяя таблетка) имеют светодиод на PC13.
Подключите один провод - заземляющий щуп - к земле платы, а другой провод - к контакту B0 платы. Подключите плату к устройству Android с запущенным VectorDisplay, и вы получите портативный осциллограф с батарейным питанием.
На фото у меня осциллограф, подключенный к фототранзистору. След на экране - от инфракрасного пульта ДУ телевизора.
Рекомендуемые:
Держатель наушников (планшет, компьютер, телефон): 4 шага
Держатель наушников (планшет, компьютер, телефон): я всегда расстраиваюсь, когда мои наушники путаются или теряются. Поэтому я решил сделать что-то, что можно было бы надеть на заднюю часть планшетного компьютера и т. Д. Представляю вам держатель для наушников
Мини-графический планшет за 2 доллара: 4 шага
Мини-графический планшет за $ 2: TOUCHPAD HACK - Как превратить сенсорную панель в полезный мини-графический планшет с некоторыми простыми повседневными предметами Для полного видео, пожалуйста, посетите http://www.metacafe.com/watch/777196/2_mini_graphics_tablet
Как заменить мини-экран, ЖК-экран и корпус вашего IPad: 12 шагов
Как заменить экран, ЖК-экран и корпус вашего IPad Mini: Когда ваш экран на iPad mini ломается, это может оказаться дорогостоящим ремонтом в любом месте. Почему бы не сэкономить деньги и одновременно не изучить новый потрясающий навык? Эти инструкции помогут вам от начала до конца ремонта
Мобильный телефон в кассетной коробке за 2 доллара / зарядное устройство USB: 7 шагов
Мобильный телефон / зарядное устройство USB в кассетной коробке за 2 доллара: мне нравятся блоки питания / зарядные устройства Mintyboost Instructables, но я хотел найти что-то немного доступное, что больше не имеет особого смысла и которое было немного проще настроить. Перебрав несколько лишних вещей, я пришел
Планшет MacBook, DIY Cintiq или планшет Homebrew Mac: 7 шагов
Планшет MacBook, DIY Cintiq или планшет Homebrew Mac: во многом вдохновленный инструкциями c4l3b, который, в свою очередь, был вдохновлен bongofish, я решил попробовать то же самое на своем MacBook Core 2 Duo. Шаги были настолько разными, что я подумал, что необходимо отдельное руководство. Также