Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Добро пожаловать в Кран-ресторан — казуальный симулятор, который превратит вас в настоящего мастера кулинарии! Управляйте краном, ловите нужные ингредиенты и готовьте блюда по рецептам, избегая ошибок, чтобы сохранить рейтинг и получить ценные награды.

Кран-Ресторан

Казуальные, Аркады, Шарики

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Arduino + Интересное

С этим тегом используют

Электроника Ardublock Самоделки YouTube Своими руками Вертикальное видео Видео ВК Фотография Познавательно Факты История Россия Юмор Наука Все
26 постов сначала свежее
44
Dionisnation
Dionisnation
9 лет назад

Arduino esp8266 отправляем сообщение на дисплей 1602 через интернет⁠⁠

Arduino Esp8266 1602 Радиолюбители Technobrother Интересное Видео
4
330
Dionisnation
Dionisnation
9 лет назад

Подборка видео о разработках доморощеных радиолюбителей или "Домашние кулибины" Ч.1⁠⁠

Хронометр ИН 16 - часы на газорозрядных Индикаторах Накала 16 с док станцией и корпусом из латуни и титана

Ещё одни часики "Неоника"

Как измерить пульс с помощью Ардуино - Ардуино Пульсометр
P.S. видео длинное

Небольшой хаккинг) Только в ознакомительных целях
Хак шлагбаумов

Ну и какой же радиолюбитель без паяльной станции?
Самодельная паяльная станция на Ардуино

Ну на этом пока всё, на завтра сделаю ещё подборку из интересных на мой взгляд видео по самоделкам и радиолюбительстве.

Показать полностью 4
Радиотехника Радиолюбители Technobrother Arduino Самоделки Интересное Видео Длиннопост
26
544
Dionisnation
Dionisnation
9 лет назад

Современный Левша - Очень маленький гравер с чпу на ардуино⁠⁠

Arduino Гравер ЧПУ Левша Интересное Technobrother Видео
27
589
vivaos
vivaos
9 лет назад

Что за технология RFID-меток и как её можно использовать в своих целях?⁠⁠

В этом видео я немного познакомлю вас с полезной технологией RFID (той самой, что используется в качестве антикражной системы во всевозможных бутиках и магазинах), расскажу о принципе работы RFID-меток и подключении RFID-считывателя к Arduino..

[моё] Arduino RFID Идентификация Считыватель Интересное Кво Видео
92
150
Dionisnation
Dionisnation
9 лет назад

NRF24L01 — ARDUINO⁠⁠

NRF24L01 — ARDUINO Nrf24l01, Arduino, Technobrother, Интересное, Техника, Своими руками, Радиолюбители, Длиннопост

Радиомодули nRF24L01+ позволяют передавать данные на частоте 2,4ГГц.


Общие характеристики для всех модулей:


Напряжение питания — от 1,9 до 3,6v, рекомендуемое 3,3v.

Входы толерантны к напряжению до 5v, то есть можно подключать к микроконтроллеру, работающему от 5v.

Взаимодействует с микроконтроллером по шине SPI.

Возможные скорости обмена данными — 250kbps, 1Mbps и 2Mbps.

Количество каналов — 126, с шагом 1мгц. Если установлена скорость передачи 2MBPS, то используется ширина двух каналов.

Энергопотребление около 0,9мкА в режиме power-down, до 11,3мА при передаче, и до 13,5мА при приёме.

Стоимость колеблется от 50 до 200р.


Версии модулей

NRF24L01 — ARDUINO Nrf24l01, Arduino, Technobrother, Интересное, Техника, Своими руками, Радиолюбители, Длиннопост

Дальность до 100м на открытом пространстве и до 30м в помещении (дальность указана для минимальной скорости передачи данных — 250kbps).


Размер 29мм на 15мм.

NRF24L01 — ARDUINO Nrf24l01, Arduino, Technobrother, Интересное, Техника, Своими руками, Радиолюбители, Длиннопост

Версия мини. Наследует характеристики предыдущего модуля.


Размер 18мм на 12мм.

NRF24L01 — ARDUINO Nrf24l01, Arduino, Technobrother, Интересное, Техника, Своими руками, Радиолюбители, Длиннопост

С внешней антенной.

Дальность до 200м на открытом пространстве и до 50м в помещении.

NRF24L01 — ARDUINO Nrf24l01, Arduino, Technobrother, Интересное, Техника, Своими руками, Радиолюбители, Длиннопост

С внешней антенной и усилителем.

Дальность до 1000м на открытом пространстве.

Размер 45мм на 16мм.

NRF24L01 — ARDUINO Nrf24l01, Arduino, Technobrother, Интересное, Техника, Своими руками, Радиолюбители, Длиннопост
Для модулей кроме мини, существует «переходник» со стабилизатором на 3.3v.
NRF24L01 — ARDUINO Nrf24l01, Arduino, Technobrother, Интересное, Техника, Своими руками, Радиолюбители, Длиннопост
Так же стоит отметить существование модуля nRF24LE1, способного работать автономно (без ардуины). Однако для работы с этим модулем необходим программатор и соответствующие навыки.
NRF24L01 — ARDUINO Nrf24l01, Arduino, Technobrother, Интересное, Техника, Своими руками, Радиолюбители, Длиннопост

Подключение к ардуине


Arduino Nano, UNO


SCK — D13

MOSI — D11

MISO — D12

CSN — D10

CE/SS — D9


Arduino MEGA


SCK — D52

MOSI — D51

MISO — D50

CSN — D53

CE/SS — D49


Для СЕ и CSN можно использовать любые пины (меняется в скетче RF24 radio(9,10);).


А на этом пока что всё, скоро выложу скетчи и библиотеки.

Показать полностью 7
Nrf24l01 Arduino Technobrother Интересное Техника Своими руками Радиолюбители Длиннопост
40
86
TechnoBro
9 лет назад

НАЧАЛО РАБОТЫ С ДАТЧИКОМ BOSCH BMP180⁠⁠

НАЧАЛО РАБОТЫ С ДАТЧИКОМ BOSCH BMP180 Arduino, Урок, Technobrother, Интересное, Радиолюбители, Перевод, Гифка, Длиннопост

Датчики барометрического давления Bosch BMP085 и BMP180 два небольших датчика, которые могут измерять малейшие изменения в атмосферном давлении. Эти датчики, как и большинство датчиков атмосферного давления, могут быть использованы для мониторинга погоды.


Большая польза от датчиков Bosch в том что они также являются достаточно чувствительны, чтобы измерить изменения в высоте. Их высокая чувствительность хороша, но с высокой чувствительностью приходит и дополнительный шум. Этот урок покажет вам, как подключить Bosch BMP085 или BMP180, базовое программное обеспечение, чтобы начать их использовать, и программное обеспечение для улучшения данных, поступающих от датчика. В данном руководстве показано один из способов использования этого датчика с Arduino.


Есть несколько Arduino-совместимых библиотек, которые могут быть использованы с этим датчиком, такие как:

► The Sparkfun BMP180 Library

► The Seed Studio Barometer Library

► The Adafruit BMP085 Library

► Использование без библиотеки



В дополнение к широким разнообразием библиотек, есть несколько секционных плат, которые будут работать с этим руководством. К ним относятся:

► Seed Studio Grove — Barometer Sensor (BMP180)

► Adafruit BMP180 Barometric Pressure Sensor

► Adafruit 10-DOF IMU Breakout

► SparkFun Barometric Pressure Sensor Breakout



Выбирая плату для работы с BMP180, учитывайте есть ли на ней пины питания 3.3 вольта (3v3) или 5 вольт (5v) если есть, то дополнительные ухищрения нам не понадобятся.


Необходимые компоненты:

НАЧАЛО РАБОТЫ С ДАТЧИКОМ BOSCH BMP180 Arduino, Урок, Technobrother, Интересное, Радиолюбители, Перевод, Гифка, Длиннопост
НАЧАЛО РАБОТЫ С ДАТЧИКОМ BOSCH BMP180 Arduino, Урок, Technobrother, Интересное, Радиолюбители, Перевод, Гифка, Длиннопост
НАЧАЛО РАБОТЫ С ДАТЧИКОМ BOSCH BMP180 Arduino, Урок, Technobrother, Интересное, Радиолюбители, Перевод, Гифка, Длиннопост
НАЧАЛО РАБОТЫ С ДАТЧИКОМ BOSCH BMP180 Arduino, Урок, Technobrother, Интересное, Радиолюбители, Перевод, Гифка, Длиннопост

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


► Откройте файл: AAC_BMP180_Part2

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

....► Она берёт 1, 25, и 50 сэмплы данных и получают среднее значение.

....► Затем данные отправляются в последовательный порт в формате .csv, так что могут быть построены в Excel.


Если посмотреть на график ниже, Среднее 50 сэмпла показано в красном, среднее 25 сэмпла показано синим цветом, а исключительный образец показан оранжевым:

НАЧАЛО РАБОТЫ С ДАТЧИКОМ BOSCH BMP180 Arduino, Урок, Technobrother, Интересное, Радиолюбители, Перевод, Гифка, Длиннопост

Вывод:


Как вы можете видеть, с маленькой базовой обработкой на Bosch датчиках атмосферного давления, данные могут быть улучшены. Это гладкие данные могут обеспечить лучшие результаты во многих приложениях, таких как беспилотные летательные аппараты или внутри помещений системы определения местоположения. Этот проект использовал простое скользящее среднее значение для сглаживания данных, но есть немало других алгоритмов сглаживания, такие как экспоненциального сглаживания и аддитивного сглаживания, которые могли бы достичь подобных (или лучше!) результатов.


Видео (ссылкой так как пока не могу добавить видео)



Translation specifically for #TechnoBrothers by @TechnoBro.

Показать полностью 5
[моё] Arduino Урок Technobrother Интересное Радиолюбители Перевод Гифка Длиннопост
7
54
Dionisnation
Dionisnation
9 лет назад

Робомашинка на Arduino⁠⁠

Автор: mihail shevchenko

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


К сожалению видео получилось не очень. Снимаю мало. Разбираться в тонкостях нет ни времени, ни желания. Видно что недостаточно света. Освещение искусственное. Можно это исправить настройками? Менять освещение? Я понятия не имею. Как нибудь постараюсь разобраться. С естественным освещением сейчас тоже не очень. Дни короткие и пасмурные.

Схема обычная. Трехколесная. Сделана из подручных материалов. Что можно приклеить на двусторонний скотч, то клеится на скотч. Пластиковые стяжки наше всё. Болты и гайки это последнее средство. У такого подхода есть как достоинства так и недостатки. Для изготовления небольшого прототипа это вполне приемлемые решения.


Фото:

Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост
Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост
Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост
Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост

В этой платформе используются шаговые двигатели.

Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост

Крепежные отверстия моторов рассчитаны на болтики 2.5 мм. Их днем с огнем не найдешь. Покупайте сразу вместе с моторами у китайцев.


Переходники для крепления колес под трех миллиметровый вал.

Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост

Мои переходники свободно одеваться не захотели. Пришлось помочь тисочками.


Колеса от радиоуправляемых моделей автомобилей масштаба 1/10.

Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост

Внешний диаметр колеса (Outer Diameter): 65 mm

Диаметр пластикового диска (Wheel Diameter): 52 mm

Размер переходника (Wheel Drive Hex): 12 mm

Ширина колеса (Wheel Width): 26 mm


Для управления моторами используются готовые драйвера на L293D. Они дешевые. И к ним просто подключить моторы. Есть все нужные разъемы. Не нужно ничего паять.

Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост

Драйверами двигателей управляет ардуино уно.

Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост

Для удобства используется Arduino UNO Sensor Shield V5

Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост

Интересная платка. Есть клеммы для подключения аккумулятора. Если напряжение выдаваемое аккумулятором превышает 5 вольт, то необходимо удалить перемычку с SEL. Иначе ардуино сгорит. При этом ардуино останется без питания. Можно запитать уно от того же аккумулятора, но через стабилизатор самой ардуино. Выводы шилда vcc расположенные рядом с цифровыми пинами всегда соединены непосредственно с аккумулятором. На них будет тоже напряжение, что и на аккумуляторе. А вот на выводах vcc находящихся рядом с аналоговыми пинами будут 5 вольт выдаваемые стабилизатором ардуино. Перед подключением всякого разного к шилду не повредит и напряжение мультиметром проверить.


Питается робот от двух соединенных последовательно Li-ion аккумуляторов 18650.

Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост

Обратите внимание на то, что эти аккумуляторы пожароопасны и взрывоопасны. Заряжать их следует только специальным зарядным устройством (процесс необходимо постоянно контролировать лично). Также их нельзя разряжать ниже определенного напряжения. При падении напряжения ниже некоторого порога, такие аккумуляторы выходят из строя. Для разных моделей литиевых аккумуляторов величина минимального напряжения различна. Поэтому настоятельно рекомендуется использовать защищенные аккумуляторы. В них встроена специальная платка предотвращающая критический разряд и перезаряд аккумулятора. Однако абсолютная безопасность при использовании таких аккумуляторов не гарантируется. Тщательно проверяйте все цепи своих конструкций перед подключением литиевых аккумуляторов. Аккумуляторы должны быть способны выдать ток потребляемый устройством. Это должен быть штатный режим работы аккумулятора, а не кратковременно допустимый пиковый ток. Иначе ничего хорошего не ждите.


Моя конструкция потребляет около 1.5 ампера.


Одной обмотке моего шагового двигателя нужно

(4.2 + 4.2) / 26.0 = 0.323 A


При одновременной запитке двух обмоток будет

0.323 * 2.0 = 0.646 A


В платформе используется два двигателя

0.646 * 2.0 = 1.292 A


Не стоит забывать об ардуино и драйверах двигателей. Им тоже нужен ток.


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


Итого. Ток разряда аккумулятора должен быть более 3 амперов. Я заказал себе аккумуляторы с током разряда в 30 ампер. Для данного проекта многовато, но у меня на них большие планы. Когда получу, напишу.


Для аккумуляторов 18650 есть специальные батарейные отсеки.

Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост

Подавать питание на ардуино удобно через Power Plug Connector Adapter 2.1*5.5 mm

Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост

Закончу рассказ об электрической части описанием соединений компонентов.


Подключение шагового двигателя к драйверу.


stepper motor --- driver

A1 --- A+

A2 --- A-

B1 --- B+

B2 --- B-

VCC --- VIN


Питание драйвера двигателя.


driver --- battery (7.4 V)

VIN --- +

GND --- -


Настройки драйвера двигателя.


driver --- driver

EN1 --- VCC

EN2 --- VCC


Подключение драйвера правого двигателя к ардуино.


driver --- arduino uno

GND --- GND

IN1 --- D11

IN2 --- D10

IN3 --- D9

IN4 --- D8


Подключение драйвера левого двигателя к ардуино.


driver --- arduino uno

GND --- GND

IN1 --- A3

IN2 --- A2

IN3 --- A1

IN4 --- A0


Код. В данной статье я приведу лишь простую тестовую программу:

http://pastebin.com/VPRiN4mP


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


Момент развиваемый шаговым двигателем не зависит от частоты вращения вала. Момент является максимальным на всём возможном диапазоне скоростей. Частоту вращения вала коллекторного двигателя можно регулировать с помощью ШИМ. Но при этом меняется и момент развиваемый двигателем. Чем ниже частота, тем меньше момент.


Колеса можно крепить непосредственно на вал шагового двигателя. Правда перед этим неплохо бы измерить момент развиваемый двигателем. С коллекторными моторами колеса соединяются только через редуктор.


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


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


Из минусов можно отметить цену. Мощные шаговые двигатели не дешевле сравнимых коллекторных моторов с редукторами.


Для платформы на коллекторных моторах достаточно было бы одного драйвера на L293D. А для платформы на шаговых двигателях нужно два драйвера.


Число ножек ардуино отведенных под управление шаговыми двигателями составляет 8. В платформе с коллекторными моторами достаточно 4.


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


Ещё мне не очень нравится как робот движется. Но это скорее тоже связано с программой. Попробую добиться более плавного движения используя микрошаговый режим управления шаговым двигателем.


Возможно добавлю один элемент в батарею. Это приведет к увеличению момента развиваемого моторами. Дождусь хороших аккумуляторов, тогда и будет видно.


Последнее. Хранение литиевых аккумуляторов. Элементы 18650 нужно хранить в специальных пластиковых контейнерах. Это защитит их от механических повреждений и короткого замыкания.

Робомашинка на Arduino Arduino, Technobrother, Своими руками, Интересное, Машина, Видео, Длиннопост

И всё это лучше держать подальше от легковоспламеняющихся вещей.


Соблюдайте технику безопасности. Берегите себя и своих близких.

Показать полностью 14
Arduino Technobrother Своими руками Интересное Машина Видео Длиннопост
8
Партнёрский материал Реклама
specials
specials

Сколько нужно времени, чтобы уложить теплый пол?⁠⁠

Точно не скажем, но в нашем проекте с этим можно справиться буквально за минуту одной левой!

Попробовать

Ремонт Теплый пол Текст
13
Dionisnation
Dionisnation
9 лет назад

Терминал для Arduino⁠⁠

Микроконтроллерные модули семейства Arduino оснащены последовательным интерфейсом и могут через него в текстовом виде выдавать информацию о своей работе и получать команды. Но для отображения этой информации на экране и ввода команд необходимо подключить к последовательному порту модуля устройство, называемое терминалом. Как правило, им служит компьютер с запущенной на нём терминальной программой. Но это не всегда удобно, поскольку для компьютера может найтись много других дел. В статье описано несложное терминальное устройство, которое может получать и отображать поступающую по последовательному порту текстовую информацию на экране обычного телевизора и передавать обратно сообщения, вводи­мые с обычной компьютерной клавиатуры. Его можно использо­вать для отладки и контроля работы не только устройств на Arduino, но и самого разнообразного оборудования, имеющего последовательный интерфейс RS-232. Терминал собран на мик­роконтроллере ATmega88PA-AU.


При разработке микроконтроллер­ах устройств очень часто приме­няют в качестве отладочного средства вывод контрольных текстовых сообще­ний через последовательный порт. На­пример, в различных проектах на базе Arduino такой приём — основной, и ред­ко не встретишь в скетче (так среди фанатов Arduino называют исходный текст программы) строки


serial,begin(9600);

serial .pnntln(value);.


Обычно в качестве терминального устройства, "слушающего” по­следовательный порт и посы­лающего в него текстовые ко­манды, используют компью­тер с запущенной на нём тер­минальной программой. Но в практике автора однажды слу­чилось так, что все компьюте­ры были заняты, и для того чтобы поработать с Arduino, пришлось ждать, когда хотя бы один из них освободится. Тогда и появилась мысль соз­дать самостоятельное терми­нальное устройство. В качест­ве устройства ввода вполне подошла бы обычная компью­терная клавиатура, которая почти всегда есть под рукой, да и приобрести новую — не такое уж затратное дело. В качестве устройства отображения информации хотелось иметь небольшой "ЖК-экранчик”, но такового под рукой не оказа­лось, зато нашёлся никем не исполь­зуемый телевизор.


Сразу вспомнилась молодость и первые самодельные компьютеры на КР580ВМ80А, Z80A... Тогда бытовые те­левизоры применяли в качестве мо­ниторов повсеместно (ничего другого просто не было). Для сопряжения с ними делали специальные платы со своей экранной памятью, контроллерами отображения и формирователями видео­сигнала.


С тех пор минули десятилетия, и ны­нешние рядовые микроконтроллеры обладают достаточными ресурсами для формирования телевизионного сигнала без использования дополнительных мик­росхем. Почти все компоненты разраба­тываемого терминального модуля с вы­ходом на телевизор удалось разместить на отладочной плате SEM0010M-88PA [1] с уже установленным на ней микроконт­роллером ATmega88PA-AU.


Этот микроконтроллер должен вы­полнять три основные задачи:

получать информацию о нажатых клавишах от стандартной компьютер­ной клавиатуры;

принимать и отправлять сообще­ния по последовательному интерфейсу;

формировать видеосигнал, содер­жащий текст принятых и введённых с клавиатуры сообщений.


Телевизионный сигнал [2] представ­ляет последовательность строк, вре­менная диаграмма одной из которых показана на рис. 1. Для нашей цели можно считать, что сигнал изображения имеет три уровня (оттенки серого не нужны): уровень синхроимпульсов, уро­вень чёрного (практически совпадаю­щий с уровнем гасящих импульсов) и уровень белого. Следовательно, для формирования видеосигнала достаточ­но простого двухразрядного ЦАП: код 00 — уровень синхроимпульсов, код 11 — уровень белого, коды 01 или 10 — уро­вень чёрного.

Терминал для Arduino Терминал, Телевидение, Arduino, Своими руками, Интересное, Радиолюбители, Technobrother, Паяльник, Длиннопост

Чтобы сформировать временную диаграмму сигнала программным пу­тём, проще всего использовать запро­сы прерываний от таймера, следующие с периодом 64 мкс, равным длительно­сти строки телевизионного сигнала. Обработчик этого запроса сначала ус­тановит уровень синхроимпульса и выдержит паузу, равную стандартной длительности строчного синхроимпуль­са (4...5 мкс). Затем установит уровень чёрного (гасящий импульс) и подгото­вит к выводу информацию, которая должна быть отображена в текущей строке. По её готовности выведет 32 байта (по числу содержащихся в строке символов) через аппаратный интерфейс SPI микроконтроллера (ис­пользование аппаратного интерфейса существенно снижает нагрузку на про­цессор). По окончании вывода инфор­мации установит уровень чёрного, чем и завершит свою работу.


Использование SPI позволяет полу­чить элементы изображения минимальной длительностью 125 не (по­ловина тактовой частоты мик­роконтроллера 16 МГц). Чтобы вывести на экран 32 символа по горизонтали, в каждой теле­визионной строке приходится с учётом интервалов между сим­волами занять около 46 мкс, что хорошо укладывается в её видимую на экране часть.


Выводимые текстовые сим­волы формируются из матри­цы 8x8 элементов изображе­ния. Таблица знакогенератора находится в памяти микро­контроллера и содержит сим­волы ASCII только с кодами 0x20—0x7F (цифры 0—9, знаки препинания и некоторые мате­матические и специальные символы, прописные и строчные буквы ла­тинского алфавита). Из восьми разря­дов каждого байта, содержащегося в знакогенераторе, для формирования символов используются только пять. Время, в течение которого контроллер SPI передаёт остальные три разряда загруженного в него байта, а затем про­грамма загружает в него новый байт, образует интервал, разделяющий сим­волы на экране по горизонтали.


По вертикали между символами, на­ходящимися в соседних горизонталь­ных рядах, выводятся по четыре пустые телевизионные строки. Поэтому один ряд символов занимает 12 телевизион­ных строк.


Формируемый микроконтроллером видеосигнал имеет упрощённую форму. В частности, не формируется черес­строчная развёртка из 312,5 строк в каждом полукадре. Кадр образуют ровно 312 строк, причём вертикальная развёртка получается прогрессивной. Кадровый гасящий импульс занимает строки 250—312, кадровый синхроим­пульс — строки 290—292. Уровень гася­щих импульсов, как уже было сказано, считается совпадающим с уровнем чёрного. Такие упрощения не приводят к искажениям формируемого микро­контроллером изображения на экранах как старых, так и новых телевизоров.


Обмен информацией между ком­пьютером и его клавиатурой подробно рассмотрен в статьях [3, 4]. Исполь­зуемый для этого интерфейс PS/2 имеет двунаправленную линию данных и линию синхронизации, сигнал кото­рой формирует клавиатура. Приём ин­формации микроконтроллером про­исходит в процедуре обработки за­проса прерывания INTO, на вход кото­рого подан сигнал синхронизации от клавиатуры. Принятые от клавиатуры скан-коды клавиш преобразуются в коды ASCII соответствующих символов, которые программа выводит в самый нижний (двадцать первый) ряд симво­лов на экране телевизора. При нажатии на клавишу Enter программа отправ­ляет коды ранее введённых символов по последовательному интерфейсу и очищает ряд 21 на экране.


Приём сообщений по последова­тельному интерфейсу также организо­ван по прерываниям. Принятый байт (код символа), если его значение нахо­дится в интервале 0x20—0x7F, сразу помещается в буфер вывода на экран. В противном случае он предваритель­но заменяется 0х2Е (кодом символа "точка”). Исключение — байты 0х0А ("Перевод строки") и 0x0D ("Возврат каретки"). Вывод полученных вслед за ними символов продолжится соответ­ственно в следующем ряду либо с начала текущего ряда.


Схема терминального модуля по­казана на рис. 2. Он построен на мик­роконтроллере ATmega88PA-AU (DD1), тактовая частота которого стабили­зирована кварцевым резонатором ZQ1.

Терминал для Arduino Терминал, Телевидение, Arduino, Своими руками, Интересное, Радиолюбители, Technobrother, Паяльник, Длиннопост

Компьютерную клавиатуру с интер­фейсом PS/2 подключают к разъёму XS1.1 — сиреневой части сдвоенной ро­зетки MDD-6FR, хотя можно использо­вать и совсем уж старые АТ-клавиатуры с пятиконтактным разъёмом DN-5F1 (схема подключения такой клавиатуры приведена в [3]).


Для сопряжения с видеовходом те­левизора использован узел, аналогич­ный применённому в компьютере "Радио-86РК" [5]. Из нескольких опробо­ванных вариантов он оказался наибо­лее стабильным. На резисторах R1— R3 выполнен простейший ЦАП, для сопря­жения которого с низкоомной нагруз­кой служит эмиттерный повторитель на транзисторе VT1.


Питают модуль от не показанного на схеме зарядного устройства для сото­вого телефона через разъём XS2. Кон­денсаторы С2, СЗ — фильтр в цепи пи­тания. Зарядное устройство пригодно любое с напряжением холостого хода не выше 6 В, чтобы не повредить мик­роконтроллер. Если в телевизоре есть разъём USB, питать модуль можно и от него.


Внешние устройства с последова­тельным интерфейсом присоединяют к разъёму XS1.2 (зелёной части сдвоен­ной розетки MDD-6FR). Такое решение позволяет использовать для подключе­ния внешнего оборудования кабель от неисправной компьютерной мыши с ин­терфейсом PS/2. Поскольку защитных цепей в модуле не предусмотрено, подключать оборудование к этому разъему следует в отключённом от сети состоя­нии.


Разъём программирования микро­контроллера ХР1 на плате SEM0010M- 88РА уже имеется.


Печатная плата для терминального модуля не разрабатывалась. Большая часть его элементов смонтирована на отладочной плате SEM0010M-88PA раз­мерами 42x42 мм с уже установленны­ми на ней микроконтроллером DD1, разъёмом ХР1, кварцевым резонато­ром ZQ1 на 16 МГц и конденсаторами Cl, С4 Разъёмы XS1.1, XS1.2 и XS2 вы­несены на отдельную небольшую плату. Между собой платы соединены отрез- ком шестипроводного плоского кабе­ля, как показано на рис. 3. Платы помещены в пластмассовый корпус от электромонтажной коробки. Для дос­тупа к разъёмам использованы его технологические отверстия.

Терминал для Arduino Терминал, Телевидение, Arduino, Своими руками, Интересное, Радиолюбители, Technobrother, Паяльник, Длиннопост

Сдвоенную розетку MDD-6FR мож­но найти на старой компьютерной материнской плате. Разъём XW1 — гнездо RCA RP-8 ("тюльпан"), XS2 — розетка микро-USB USB/Mc-1J, в которой использованы только контак­ты питания.


Настройки цифровые устройства при правильном монтаже, как прави­ло, не требуют. Возможно, потребуется подобрать в небольших пределах номиналы резисторов R1—R3 для получения стабильного и контрастно­го изображения на экране телевизора.


Предназначенная для микроконт­роллера DD1 программа tvk9b.alp (за­грузочный файл tvk.9b.hex) подготов­лена в среде разработки Algorithm Builder for AVR. После подачи питания на микроконтроллер она настраивает таймер Т2 на формирование запросов прерывания с периодом 64 мкс, конт­роллер SPI — на передачу информации с тактовой частотой 8 МГц, последова­тельный интерфейс — на скорость 9600 Бод и восьмиразрядные посылки без контроля чётности с двумя стопо­выми разрядами. Затем программа очищает экранную память, выводит на экран телевизора надпись "Terminal v.9b", а на клавиатуру подаёт команду установки в исходное состояние.


Далее программа циклически проверяет готовность информации, принятой по последовательному интерфейсу и от клавиатуры.


Принятые по последовательному интерфейсу байты программа заносит в буфер экрана, определяя при этом позицию (ряд и колонку) символа на экране. В каждом ряду возможно ото­бражение до 32-х символов с кодами ASCII 0x20—0x7F. Символы с другими кодами отображаются в виде точек (символов с кодом 0х2Е). Символы "Перевод строки" (0х0А) и "Возврат каретки" (0x0D) вызывают соответст­вующую коррекцию места вывода на экран последующих принимаемых сим­волов. В отсутствие переводов строки и возвратов каретки символы, следую­щие за 32-м, затирают его на экране.


Всего на экране имеется место для 21-го ряда по 32 символа в каждом. Двадцать из них предназначены для информации, принимаемой по последовательному интерфейсу. Ес­ли приём идёт в ряду 20, то символ "Перевод строки" сдвигает весь при­нятый текст на один ряд вверх, осво­бождая ряд 20 для дальнейшего приёма.


Самый нижний ряд 21 предназначен для отображения символов, вводимых с клавиатуры. При нажатии на клавишу Enter содержимое этой строки отправ­ляется по последовательному интер­фейсу во внешнее устройство.


Как уже было отмечено, формиро­вание видеосигнала, взаимодействие с клавиатурой и внешним оборудова­нием происходит в процедурах обра­ботки запросов прерываний соответ­ственно от таймера по спадающему перепаду сигнала на линии INTO и от последовательного интерфейса.


Конфигурация микроконтроллера DD1 должна соответствовать показан­ной на рис. 4.

Терминал для Arduino Терминал, Телевидение, Arduino, Своими руками, Интересное, Радиолюбители, Technobrother, Паяльник, Длиннопост
Рассмотрим пример взаимодейст­вия терминального модуля с микро- контроллерным модулем Arduino Pro Mini [6], в который должна быть загружена програм­ма, скетч которой пред­ставлен в таблице.
Терминал для Arduino Терминал, Телевидение, Arduino, Своими руками, Интересное, Радиолюбители, Technobrother, Паяльник, Длиннопост

После подачи питания на модуль Arduino с этой про­граммой в памяти на нём включится светодиод, со­единённый с его выводом 13, а в последовательный порт будет выведено сообщение "START PROGRAM". Далее в последовательный порт станут периодически выво­дится сообщения о про­шедшем с момента запуска программы времени в мил­лисекундах, а также выпол­няться проверки, не принят ли из того же порта байт. Если принятый байт — ASCII-код латинской буквы А, то светодиод переклю­чится в режим одиночных вспышек, если это код ла­тинской буквы В, вспышки станут двойными, а если латинской буквы С — трой­ными.


Теперь подключим мо­дуль Arduino к терминалу. Для этого достаточно со­единить выход ТХ Arduino (вывод 0) с входом RXD (контакт 1 разъёма XS1.2) терминального модуля, вход RX Arduino (вывод 1) — с выходом TXD (контакт 5 разъёма XS1.2), а также общий провод (GND) Arduino — с кон­тактом 3 разъёма XS1.2. Разъём XW1 нужно соединить с видеовходом теле­визора, а к разъёму XS1.1 подключить клавиатуру. Все эти соединения видны на рис. 5. Цепь +5 В модуля Arduino соединена с одноимённой цепью тер­минального модуля. Теперь на модули можно подать питание.

Терминал для Arduino Терминал, Телевидение, Arduino, Своими руками, Интересное, Радиолюбители, Technobrother, Паяльник, Длиннопост
На экране телевизора должны по­явиться надписи "Terminal v.9b“ (это за­работал терминальный модуль), а затем "START PROGRAM" — первое принятое от Arduino сообщение. Далее, как пока­зано на рис. 6, на экране периодиче­ски станет появляться новая строка с числом прошедших с момента запуска программы Arduino миллисекунд.
Терминал для Arduino Терминал, Телевидение, Arduino, Своими руками, Интересное, Радиолюбители, Technobrother, Паяльник, Длиннопост

Переведём клавиатуру в режим за­главных букв коротким нажатием на клавишу Caps Lock. На клавиатуре должен включиться одноимённый индикатор.


Если теперь нажимать на клавиши латинских букв А, а, В, b, С, с и, нажав на клавишу Enter, отправлять код соот­ветствующей буквы в Arduino, то, со­гласно полученной команде, светодиод станет вспыхивать однократно, дважды или трижды, а сообщения о времени будут появляться на экране реже.


Некоторые клавиши выполняют управляющие функции.


Клавиша Caps Lock переключает на клавиатуре одноимённый индикатор и изменяет регистр передаваемых при нажатиях на клавиши букв. При вклю­чённом индикаторе они заглавные, а при погашенном — строчные.


При нажатой клавише Shift (как правой, так и левой) поднимается регистр цифровых и знаковых клавиш, а регистр букв становится противопо­ложным установленному клавишей Caps Lock.


Клавиша Scroll Lock управляет одноимённым индикатором клавиату­ры. Когда индикатор включён, к после­довательности символов из ряда 21, передаваемой по последовательному интерфейсу в результате нажатия на клавишу Enter, программа автоматиче­ски добавляет коды перевода строки и возврата каретки. При погашенном индикаторе происходит передача только символов из ряда 21.


Клавиша Esc — очистка строки 21 без передачи информации.


Клавиша Back Space — удаление из* строки 21 ранее введённого символа.


Терминальный модуль получился очень простым и компактным. Его удобно использовать не только при отладке микро­процессорных устройств, но и для отображения текс­товой информации от лю­бых приборов, оснащённых последовательным интер­фейсом. А немного изме­нив программу микроконт­роллера и добавив, напри­мер, датчики температуры, влажности и атмосферного давления, можно превра­тить сам модуль в метео­станцию, выдающую ин­формацию на экран теле­визора. Питать модуль це­лесообразно от разъёма USB того телевизора, с которым он работает. Такие разъёмы есть практически в каждом современном те­леприёмнике.


Нужно признать, что описанный модуль не ли­шён недостатков. Напри­мер, при нажатии на клави­шу Enter кратковременно нарушается синхронизация телевизионного изображе­ния. В это время микро­контроллер модуля выво­дит информацию в после­довательный порт, и прио­ритет в прерываниях отдан этому процессу в ущерб формированию видеосиг­нала.


Скачать архив к проекту


Автор: А. ПАХОМОВ, г. Владимир

Источник: журнал Радио №11, 2015

Показать полностью 7
Терминал Телевидение Arduino Своими руками Интересное Радиолюбители Technobrother Паяльник Длиннопост
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии