Метка: GPIO

Работа с GPIO в Linux. Часть 7. Управление подсветкой (backlight) экрана используя ШИМ (PWM)

В публикации Подключение дисплея SPI LCD ILI9341 был подключен данный дисплей к плате Banana Pi BPI-M64. Все управление подсветкой сводилось к двум состояниям: включено или выключено. Контакт LED на дисплее предназначен для регулирования уровня яркости экрана. Из-за того, что плата Banana Pi BPI-M64 не имеет аналоговых выходов, невозможно было регулировать степень яркости дисплея. Поэтому для регулирования значения напряжения на контакте LED, воспользуемся драйвером двигателя (микросхема TB6612FNG). Входящий сигнал ШИМ (PWM) в микросхеме TB6612FNG регулирует напряжение на выходе. С ШИМ (PWM)  уже работали в публикации LED, ШИМ (PWM), КНОПКА. Поэтому потребуется лишь соединить контакт ШИМ (PWM) на плате Banana Pi BPI-M64 с соответствующим контактом на микросхеме TB6612FNG, и вывод с микросхемы TB6612FNG соединить с входом контакта LED на дисплее. Как это сделать, для возможности регулирования  подсветки экрана, читаем под катом.

Читать далее »

Управляем контактами GPIO из C# .NET 5 в Linux на одноплатном компьютере Banana Pi M64 (ARM64) и Cubietruck (ARM32)

Когда заходит речь про программирование на C# .NET для одноплатных компьютеров, то разговоры крутятся только в основном вокруг Raspberry Pi на Windows IoT. А как же Banana/Orange/Rock/Nano Pi, Odroid, Pine64 и другие китайские одноплатные компьютеры работающие на Linux? Так давайте это исправим, установим .NET 5 на Banana Pi BPI-M64 (ARM64) и Cubietruck (ARM32), и будем управлять контактами GPIO из C# в Linux. В первой части серии постов, подключим светодиод и кнопку для отработки прерываний и рассмотрим библиотеку Libgpiod (спойлер, библиотеку так же можно использовать в C++, Python) для доступа к контактам GPIO.

Читать далее »

Работа с GPIO в Linux. Часть 6. Библиотека Libgpiod

В 2017 году Bartosz Golaszewski начал разработку библиотеки Libgpiod и утилит для работы с GPIO. Библиотека libgpiod инкапсулирует вызовы ioctl и структуры данных за простым API в Linux, и предназначена для замены доступа к GPIO через виртуальную файловую систему sysfs. Используемый в библиотеке новый интерфейс chardev гарантирует, что все выделенные ресурсы будут освобождены после закрытия файлового дескриптора устройства, и добавляет несколько новых функций, которых нет в устаревшем интерфейсе sysfs (например, опрос событий, установка/чтение нескольких значений одновременно). В публикации будет установка библиотеки Libgpiod из исходного текста и работа с GPIO через утилиты на примере светодиода и кнопки. Практическая часть будет выполнятся на одноплатном компьютере Banana Pi BPI-M64, ОС Armbain.

Читать далее »

Работа с GPIO в Linux на примере Banana Pi BPI-M64. Часть 5. Device Tree overlays. Шина I2C, подключение датчиков Bosh BMx

Пришло время задействовать шину I2C, будем подключать датчики серии BMP и BME компании Bosch Sensortec, такие как: BME280, BMP085, BMP180, и BMP280. Подключение датчиков по шине I2C позволяет экономить контакты GPIO. Дополнительно, в подобных датчиках уже есть АЦП, и значение напряжения уже не проецируется на шкалу температуры, а выдается в цифровом виде. Помимо датчиков температуры, к шине I2C можно подключать и другие всевозможные датчики и модули, например расширитель контактов GPIO MCP23017 I2C I/O Expander.

Читать далее »

Работа с GPIO в Linux на примере Banana Pi BPI-M64. Часть 4. Device Tree overlays. Подключение дисплея SPI LCD ILI9341

В этот раз будем подключать TFT-LCD дисплей на популярном контроллере ILI9341 к одноплатному компьютеру Banana Pi BPI-M64. В сети Интернет много материала как подключать различные LCD экраны к Raspberry Pi. Но что если у вас нет Raspberry Pi, а хочется подключить недорогой LCD экран? Есть решение, подключить с помощью дерева устройств (Device Tree overlays) Linux. Будем подключать недорогой цветной TFT-LCD экран диагональю 2.4 дюйма по SPI интерфейсу к Banana Pi BPI-M64 под ОС Armbian.

Читать далее »

Работа с GPIO в Linux на примере Banana Pi BPI-M64. Часть 3. Device Tree overlays. LED, ШИМ (PWM), КНОПКА

В предыдущей части работали с 1-Wire интерфейсом, подключали датчик DS18B20 для замера температуры. В этой публикации познакомимся как работать с устройством класса светодиод (LED), что такое ШИМ (PWM),  подключим кнопки и ответим на вопрос, можно ли обойтись без стандартной клавиатуры на USB интерфейсе. Драйвера периферии LED, PWM, BUTTON входят в состав ядра Linux, поэтому данное руководство, так же подойдет владельцам других плат, включая Raspberry Pi. Все указанную периферию будем подключать к плате Banana Pi BPI-M64, конфигурация:

Читать далее »

Отладочная плата Cubietruck

Команда Cubieteam, одни из первых начали делать одноплатные мини-компьютеры на процессорах компании AllWinner Tech. Первый open-source-hardware продукт команда разработала еще в августе 2012 года. Cubieteam — небольшая команда, с несколькими молодыми людьми, у которых нет опыта ведения бизнеса, умения управления компанией, но очень любит современные технологии. Команда Cubieteam объедена общей мечтой: «Создание дешевого мини-компьютера и обмен технологиями с гиками со всего мира». Для нас было большой неожиданностью, когда мы получили более чем 90 000 $ для начала производства Cubieboard. Эти деньги мы получили от энтузиастов, друзей, и желающих получить заветную плату, путем предоплаты. За прошлый год множество людей связывалось с нами для изменения продукта, что делало изготовление продукта не легким делом. Команда Cubieteam ограничена в возможностях делать больше проектов, но не хочет разочаровывать поклонников, и не смотря на все трудности продолжает работу. Каждый год технологии встраиваемых решений улучшаются (embedded SOCs). Мы горды, быть на пике современных технологий. И основываясь на предложениях в форумах, от клиентов, команда Cubieteam решила разработать второй open-source hardware продукт. Это другая PCB модель платы, названая —  CubieTruck( или Cubieboard3). На данный момент плата Cubietruck не выпускается, новые продукты команда Cubieteam не разрабатывает. Спецификация платы Cubietruck: Процессор: SoC AllWinner A20 ARM® Cortex™-A7 Dual-Core(двухъядерный процессор) GPU ARM® Mali400MP2, Complies with OpenGL ES 2.0/1.1, HDMI 1080p@30fps или 720p@60fps Оперативная память: 1GB/2GB DDR3 @480MHz Пользовательская память: NAND память + MicroSD или TSD+ MicroSD или 2*MicroSD SATA: поддержка дисков от 2T до 2.5T размером 2.5′ Питание: 5V постоянного тока в 2.5A, при подключенном диске SATA, поддержка Li-ion батареи и RTC(часы реального времени) Сеть: 10/100/1000 Ethernet, Wi-Fi+BT с антенной размещенной на плате Разъемы: два порта USB 2.0 HOST, и один порт USB 2.0 OTG, один SPDIF, один IR, четыре LED индикатора, наушники, три программируемые кнопки Операционная система: Ubuntu Desktop 12.04, Android 4.2.2, Armbian Размер: 11 см x 8 см x 1.4 мм…

Читать далее »