Значение температуры один из важнейших параметров в автоматизации бытовых приборов и умного дома. На микрокомпьютере Orange Pi организовать контроль температуры очень просто.

Напишем программу измерения температуры микроконтроллера AllWiner ARM A53 и протестируем микрокомпьютер Orange Pi PC 2 под нагрузкой. Orange Pi в наших тестах будет работать под операционной системой ARMBIAN Ubuntu 16.04.2 server. Нагружать микроконтроллер будем 7-zip тестом.

На примере Orange Pi PC 2 c ARMBIAN Ubuntu 16.04 покажем как можно легко управлять выводами GPIO. С не большими отступлениями все примеры из этой статьи можно использовать на всех моделях Orange Pi b Raspberry Pi, Raspberry Pi 2, Raspberry Pi 3. О программировании GPIO подробно можно посмотреть в статье Orange PI PC 2 GPIO доступ через sysfs, а здесь – практика и тесты.

GPIO – интерфейс ввода/вывода общего назначения (general-purpose input/output). В Orange PI PC 2 используется микроконтроллер AllWiner H5 Quad-core (ARM Cortex-A53 64bit). Часть портов этого микроконтроллера соединены с GPIO (интерфейс 40 pin платы Orange Pi). Этими портами можно управлять программно. В этой инструкции будет подробно описано управление GPIO (портами микроконтроллера ARM Cortex-A53) с помощью командной строки Bash через системное окружение в файловой системе sysfs.

Рассмотрим технологию настройки VNC сервера на Orange Pi PC 2 с операционной системой Ubuntu XFCE для подключения к удаленному рабочему столу микро компьютера Orange Pi.

В Ubuntu 16.04 с рабочим столом XFCE для Orange Pi PC 2 дистрибутив с сайта www.orangepi.org, поддержка SSH включена по умолчанию. Прежде всего, убедимся в этом, проверим какие порты в Ubuntu XFCE для Orange Pi открыты:

В Ubuntu 16.04 с рабочим столом XFCE для Orange Pi PC 2 дистрибутив с сайта www.orangepi.org, поддержка русского языка не включена по умолчанию. Однако, репозитарии этого пакета содержат все средства для работы практически на любом языке. Рассмотрим один из способов подключения поддержки русского языка в этом дистрибутиве Ubunu для Orange Pi.

Подробная инструкция по установке Linux Ubuntu с рабочим столом XFCE  на Orange PI PC2. Операционные системы для Orange Pi устанавливаются на Micro SD Flash карту. Наша инструкция касается подготовки SD карты памяти и установки на нее операционной системы Linux Ubuntu XFCE дистрибутив которой можно скачать по ссылке с сайта www.orangepi.org.

Двухканальный реверсивный драйвер моторов постоянного тока со встроенным ШИМ регулятором на мостовом стерео усилителе класса D PAM8403. Дешевле драйвера моторов на L298N в 10 раз!

Маломощный кремниевый биполярный NPN транзистор 2N2222 в пластиковом корпусе TO-92. Предельно допустимые параметры: напряжение VCEO=30V, ток коллектора IC=0,6A, мощность, рассеиваемая на коллекторе PC=625mW. Максимальный коэффициент усиления в схеме с общим эмиттером hFE=300.

Микроконтроллер ATMega8 принадлежит семейству микроконтроллеров AVR фирмы Atmel. ATMega8 имеет 8кб Flash памяти и по 1024 байт SRAM и 512 байт EEPROM памяти. ATMega8 может работать на частоте до 16МГц.

ATMega8 выпускают в корпусах DIP-28, TQPF-32 и MLF-32

Модернизируем программу мигающую светодиодом в программу генератор звука. Фактически, программа мигающая светодиодом — это генератор прямоугольных импульсов инфра-низкой частоты. А нам нужно написать программу генерирующую сигнал в звуковом диапазоне 20 Гц ÷ 20000 Гц.

В терминале последовательно выполните следующие команды:

Команды MOV, MOVW, LD, LDI, LDD, LDS, ST, STD, STS, LPM, SPM, IN, OUT, PUSH и POP позволяют пересылать данные между регистрами общего назначения (РОН) и регистрами ввода/вывода (РВВ), памятью данных (ОЗУ), памятью программ FLASH, стеком.

Команды CPSE, SBRC, SBRS, SBIC, SBIS, SRBS производят проверку определенного условия и если условие выполняется следующая за этими командами команда в программе будет пропущена.

Регистр состояния SREG содержит набор флагов, показывающих текущее состояние микроконтроллера. Большинство флагов автоматически меняется при наступлении определенных событий.

Следующая схема демонстрирует работу двоичного четырехразрядного счетчика импульсов.

Микросхемы К155ТМ2 КМ155ТМ2 К555ТМ2 SN54ALS74A SN54AS74A SN74ALS74A SN74AS74A содержат два D-триггера с прямыми и инверсными выходами, с инверсными входами асинхронного сброса и установки, с раздельными входами для синхроимпульсов.

Следующий музыкальный автомат генерирует звук выполняя в цикле декремент счетного регистра (общего назначения) программно. Длительностью нот в этом автомате управляет сторожевой таймер watchdog.

Следующий музыкальный автомат генерирует звук выполняя в цикле декремент счетного регистра (общего назначения) программно. Длительностью нот в этом автомате управляет сторожевой таймер watchdog.

В одном из режимов работы сторожевого таймера (Watchdog) ATtiny13 по истечении времени ожидания возникает прерывание 8 "Тайм-аут сторожевого таймера". Это прерывание можно использовать, например, для ограничения времени выполнения циклического участка программы.

Таймер/счетчик ATtiny13 может быть подключен к выводу PB0/OC0A микросхемы и работать в режиме генератора прямоугольных импульсов. При этом, смена уровня сигнала на выводе PB0/OC0A происходит по совпадению значений в регистре OCR0A и счетном регистре таймера/счетчика.

В этой статье мы приводим листинг программы для ATtiny13 на ассемблере. В этой программе таймер счетчик ATtiny13 используется для отсчета длительности полупериода звукового сигнала. Уровень сигнала на выводе PB3 микроконтроллера инвертируется по прерыванию таймера/счетчика.

В этой статье мы приводим пример прошивки для музыкального автомата на микроконтроллере AVR ATtiny13, схему подключения и таблицу частот музыкальных нот.

В подпрограмме генератор прямоугольных импульсов (меандра) вычислим частоту звукового сигнала на выводе микроконтроллера.

Консольная утилита simulavr - эмулятор микроконтроллеров Atmel AVR поддерживает программную эмуляцию микроконтроллеров серий at90s, atmega8, atmega16, atmega103, atmega128, at43usb.

Вой двух тональной сирены, сквозь звуки сирены слышен рев мотора, свет мигалки ослепляет прохожих синим и красным свечением...

Следующая программа может пригодиться при конструировании устройств со звуковым сигналом.

В Arduino скетч (прошивку) пишут на C, затем ее компилируют. Получают hex файл с прошивкой и загружают эту прошивку в микроконтроллер.

T0 8-ми разрядный таймер/счетчик может использоваться для отсчета временных интервалов, как счетчик внешних событий или в качестве двухканального генератора 8-ми битного ШИМ сигнала.

Следующая программа на ассемблере в бесконечном цикле включает и выключает на выводе PB4 микроконтроллера ATtiny13 напряжение питания, мигает светодиодом. В подпрограмме реализована задержка. Длительность задержки устанавливается параметром.

Программа на ассемблере устанавливает режим работы вывода PB4 микроконтроллера ATtiny13 как выход и включает на выводе PB4 сигнал высокого или низкого уровня.

Приводим пример компиляции программы на Assembler-AVR под Linux и прошивки микроконтроллера AVR.

Включаемый  файл tn13def.inc содержит директивы ассемблера объявляющие символические имена регистров и флагов микроконтроллера ATtiny13, принятые в документации ATMEL.

AVRA - совместимый с Atmel AVRASM32 Assember для семейства 8-битных RISC-микроконтроллеров AVR. AVRA Assember поддерживает микроконтроллеры серий AT90, ATmega, ATtiny. AVRA имеет улучшенную поддержку макросов и дополнительные директивы.

AVRDude (AVR Downloader-Uploader) — кросплатформенная свободная консольная программа, предназначенная для прошивки микроконтроллеров фирмы Atmel серии AVR.

Программирование микроконтроллера AVR ATtiny13 в среде Arduino и с помощью программы avrdude.

Микроконтроллер ATtiny13A принадлежит семейству микроконтроллеров AVR фирмы Atmel. ATtiny13A имеет 1кб Flash памяти и по 64 байта SRAM и EEPROM памяти. ATtiny13A может работать на частоте до 20МГц.

Практически все ножки микроконтроллеров, кроме питания могут быть запрограммированы на выполнение одной из нескольких функций. В распиновке микроконтроллеров для каждой ножки перечисляют аббревиатуры всего списка возможных для ножки функций.

Предлагаем Вам схему USB программатора на микроконтроллере ATmega8. Этот USB программатор Вы можете собрать своими руками за несколько минут на макетной плате Breadboard Half (BREADBOARD - 456 HOLES) размером 82х59 мм. На этой плате хватит места и для программируемых микроконтроллеров в корпусах до DIP-28.

Микроконтроллер ATtiny84 принадлежит семейству микроконтроллеров AVR фирмы Atmel. ATtiny84 имеет 8кб Flash памяти и по 512кб SRAM и EEPROM памяти. ATtiny84 может работать на частоте до 20МГц с внешним кварцевым резонатором и до 8МГц с внутренним генератором.

Подробно рассмотрим установку программы Arduino под Linux и Windows.

Микроконтроллеры ATtiny фирмы Atmel не поддерживаются средой Arduino из коробки. По крайней мере, так обстоят дела в Arduino v. 1.0.6. Но, добавить поддержку микроконтроллеров ATtiny в среду Arduino не сложно.

Для работы с микроконтроллером ATmega8 или с Arduino устройством на ATmega8 в среде разработки Arduino программу Arduino необходимо настроить. Нужно добавить в файл hardware/arduino/boards.txt параметры поддерживаемых устройств на микроконтроллере ATmega8.

В нашем самодельном Arduino микроконтроллер ATmega328P-PU работает на частоте 16 МГц, есть USB интерфейс, кнопка сброса и схема сброса в начале загрузки скетчей. И самое главное, в микроконтроллер зашит bootloader (загрузчик) Arduino Uno.

В современных сотовых телефонах микросхема USB-UART встроена в телефон и кабель от них нам не подходит. В старых телефонах, для связи телефона с компьютером по USB интерфейсу использовался USB-DATA кабель, в который была встроена микросхема USB-UART, такой кабель нам и нужен.

Для сборки Arduino Вам понадобится один микроконтроллер ATmega8 или ATmega168 или ATmega328, кнопка и резистор 10k. Здесь мы приводим схему, собранную на макетной плате Breadboard Half (BREADBOARD - 456 HOLES) размером 82х59 мм.

Самую простую схему Arduino вы можете собрать на макетной плате своими руками и без паяльника. Для сборки Arduino вам понадобится микроконтроллер ATmega8A-PU, адаптер USB-UART CP2102, резистор на 10k и кнопка.

На микроконтроллере ATmega8 с использованием не большого количества дополнительных деталей можно собрать самодельный 100% совместимый с Arduino NG ATmega8 макет для учебы, тестирования и программирования микроконтроллеров.

Arduino позволяет программировать микроконтроллеры ATmega несколькими способами. Один из них - загрузить в Arduino Sketch ArduinoISP из примеров. В частности, такой программатор подходит для программирования микроконтроллера ATmega8A, о чем и пойдет речь в этой статье.