ATMEGA8
Опубликовано чт, 01/18/2018 — 19:49 пользователем trol
Частотомер — полезный прибор в лаборатории радиолюбителя (особенно, при отсутствии осциллографа). Кроме частотомера лично мне часто недоставало тестера кварцевых резонаторов — слишком много стало приходить брака из Китая. Не раз случалось такое, что собираешь устройство, программируешь микроконтроллер, записываешь фьюзы, чтобы он тактировался от внешнего кварца и всё — после записи фьюзов программатор перестаёт видеть МК. Причина — «битый» кварц, реже — «глючный» микроконтроллер (или заботливо перемаркированый китайцами с добавлением, например, буквы “А» на конце). И таких неисправных кварцев мне попадалось до 5% из партии. Кстати, достаточно известный китайский набор частотомера с тестером кварцев на PIC-микроконтроллере и светодиодном дисплее с Алиэкспресса мне категорически не понравился, т.к. часто вместо частоты показывал то ли погоду в Зимбабве, то ли частоты «неинтересных» гармоник (ну или это мне не повезло).
Опубликовано ср, 08/24/2016 — 20:25 пользователем trol
Если у вас сохранился старый компьютер, то проблема подключения к нему современной мыши может быть вам знакома. Механические мыши старого образца рано или поздно изнашиваются — перетирается провод, продавливается пластмасса у кнопок так, что они перестают нажиматься и т.д. Да и вообще, иметь дело с современным лазерным мышом, как правило, гораздо приятнее, чем с образцами прошлого века вроде такого (конечно, если постоянная чистка колёсика питомца от грязи и намотанных волос не доставляют вам большого удовольствия) .
Опубликовано вт, 05/17/2016 — 18:51 пользователем trol
При разработке микроконтроллерных поделок практически всегда возникает потребность реализации пользовательского ввода и вывода. Часто функции ввода информации берёт на себя клавиатура (реже — энкодер), а для отображения состояния устройства используются либо светодиоды, либо светодиодные семисегментные индикаторы, либо ЖК-дисплеи (текстовые вроде 16х2 или графические).
Опубликовано вс, 09/20/2015 — 17:50 пользователем trol
Решил соорудить себе светодиодныю лампу для экспонирования фоторезиста и паяльной маски. Для чего на алиэкспрессе были закуплены в количестве 500 штук 5мм-светодиоды на 2000 милликандел с длиной волны около 400нм. Питать их решил от блока питания с напряжением 12В. Т.к. на одном светодиоде падает напряжение около 3.5В, то соединять их надо в цепочки по 3 штуки и для тока через светодиод около 20мА сопротивление токоограничивающего резистора будет 68 Ом.
Светодиодную матрицу решил делать размерами 18 х 26 светодиодов с шагом между ними в 1 см. Матрица собрана на двух одиноковых печатных платах (18 х 13 светодиодов в каждой).
Корпус для лампы фабричный, алюминиевый. Был куплен в «Ашане» занедорого, там он более известен под кодовым названием «противень для выпекания пирогов» :).
Опубликовано вт, 09/28/2010 — 22:50 пользователем trol
Лучший друг человека в жару (при отсутствии в помещении кондиционера, разумеется) — вентилятор. Однако, часто побочным эффектом такой дружбы являются всяческие простудые последствия. Обычно среднестатистический карлсон может находиться в двух состояниях — включенном и выключеном. В первом случае от него нет никакой пользы, т.к. приятно-охлаждающего воздушного потока он не создает. Во втором случае воздушный поток есть, но в силу своей непрерывности, он оказывает не самое благоприятное влияние на сидящего перед ним человека.
Опубликовано вт, 09/28/2010 — 21:48 пользователем trol
Бывшие некогда популярные 8- и 16-битные видеоприставки уже давно утратили свое лидерство на рынке игровых развлечений и вытеснены новыми поколениями консолей.
Опубликовано вт, 06/09/2009 — 23:38 пользователем trol
Защита от перепадов напряженияКаждому известно, что напряжение в электроосветительной сети должно равняться примерно 220В. Но, наверное, не все подозревают, что в реальности оно может значительно отличаться от этой величины как в меньшую, так и в большую сторону.
Опубликовано сб, 05/16/2009 — 23:46 пользователем trol
Плата позволяет быстро собрать схему на микросхемах в DIP-корпусах и дискретных элементах. Она предназначена в первую очередь для макетирования устройств на МК серии ATMega8/48/88/168/16/32/8535 а также АТ89Сх50. Плата делается из 40-пиновых однорядных разъемов PBS и микросхемных панелей.
Опубликовано пн, 05/11/2009 — 21:22 пользователем trol
В Сети водится большое множество разных схем дверных звонков на микроконтроллерах, но просмотрев их, не смог найти для себя ничего подходящего. Хотелось бы, чтобы звонок мог воспроизводить много мелодий, как простых, так и полифонических или просто аудиофрагменты, а так же любые их комбинации и чтобы набор мелодий можно было легко менять не отключая звонка. Самым простым решением для воспроизведения голоса и полифонии является проигрывание
Digital Chip
Случилось так, что дверной звонок в моей квартире приказал долго жить. Верой и правдой он прослужил туеву хучу лет (даже и не помню сколько). Жил, по-моему, он еще с советских времен. И был он не музыкальным, а обычным зуммером. Издавал он противный дребезжащий звук, чем уже порядком надоел и раздражал. Руки сменить его на что-либо более современное все никак не доходили.
В связи кончиной звонка и пришла в голову идея собрать музыкальный звонок самому. И мелодии использовать те, которые нравятся мне. И сделать его таким, чтоб мне нравился. Тем более руки чешутся чего-нибудь попрограммировать и попаять.Прежде чем делать плату звонка и паять детальки, нужно смоделировать его на беспаечной макетной плате и посмотреть как он будет работать. Сказано — сделано.
Схема у звонка простейшая. К одной ноге прицеплена кнопка, к другой — динамик через транзистор. Кнопка замыкается на землю, соответственно, при нажатой кнопке активный уровень — логический ноль. Для подавления помех кнопка притянута через резистор 4.7 КОм к питанию. Вот в общем-то и вся схема.
Схема одноголосного музыкального звонка
Собираем схему на макетке
Одноголосный музыкальный звонок, собранный на беспаечной макетной плате
подключаем к ней питание и программатор
Одноголосный музыкальный звонок с подключенным питанием и программатором
и начинаем программировать.
Что бы послушать, как будет звучать такой одноголосный музыкальный звонок, написал простую программу на WinAVR C. Программа простая, я ее хорошо прокомментировал. Разберется даже новичек. Никаких прерываний и т.д. Обычный бесконечный цикл с опросом кнопки и проигрыванием мелодии.
Я не владею музыкальной грамотой, поэтому погуглил на эту тему. Оказывается, что в музыке есть не 7 нот, а 12 (представляете, я и не знал). Каждая нота характеризуется частотой звука и длительностью звучания. После раздумий решил каждую ноту кодировать одним байтом. Естественно, мелодия будет храниться в программной памяти. Поэтому я пришел к следующей схеме, как кодировать мелодию.
Кодирование ноты для музыкального звонка
В итоге, по такой схеме мы можем закодировать 32 ноты и 8 длительностей. Коду ноты с номером 1 соответствует нота «до» 1-й октавы, с кодом 2 — «до#» 1-й октавы, с кодом 3 — «ре» 1-й октавы и так далее. Всего 32 ноты. Это чуть дольше 2.5 октав. Для звонка, я думаю, более чем достаточно.
Но помимо нот, у нас есть паузы между нотами. Примем, что пауза будет кодироваться нулем, и соответствующей ей длительностью. Пауза в нашем устройстве — это просто момент, в который не воспроизводится звук в течении заданной длительности.
Если же и код ноты и код длительности, а соответственно и весь байт, будет равен нулю, то это будет означать конец мелодии.
Итак, открываем AvrStudio, открываем в ней программу, компилируем и заливаем ее в АТМегу8 (не принципиально, просто у меня их просто несколько штук без дела валяется).
Одноголосный музыкальный звонок с подключенным питанием и программатором
После этого жмем кнопарик и наслаждаемся звуком… 🙂
Как все это выглядит и звучит я решил показать на видео (получилось через одно место, много раз оговорился, ну да ладно…).
Ну и как вам звучание? Мне не очень. Ну, конечно, можно его использовать его в качестве звонка, звучит это лучше, чем звучал мой умерший советский звонок. Но… я ожидал большего.
Теперь думаю, нужно делать по-другому. Первое что пришло в голову, это поставить простейший ЦАП R-2R и воспроизводить wav-файл, который хранить на карте памяти. Пошел переделывать….
UPDATE (15.03.2012):
Забыл добавить исходники… И никто не напомнил… 🙁
download
sound.c
melody.h
sound.hex — откомпилированный проект
Весь проект в архиве
[Свернуть]
Дтмф | Хакадей | Страница 3
18 сентября 2012 г., Майк Щис
[Лиор] хотел отключить систему слежения за домашней сигнализацией, но не хотел полностью прекращать пользоваться сигнализацией. Хитрость заключается в том, чтобы придумать какой-нибудь способ контролировать это самому. Было бы просто позвонить ему, а не в охранную компанию, поскольку система просто использует телефонную связь. Но для этого потребуется, чтобы у него была наземная линия, к которой он мог бы подключиться, и когда он звонит ему, он понятия не имел, какая часть системы была отключена. Он разработал способ отправки системного текстового сообщения со всеми доступными данными.
Плата Arduino управляет системой, а GSM-шилд SIM900 поддерживает сотовую связь. Плата слева эмулирует стандартную телефонную линию с декодером тонального набора M8870 DTMF, чтобы понять, что ему говорит система сигнализации. Ему также нужно было внедрить генерацию сенсорного тона для обратной связи с системой. Его рецензия включает ссылки на другие опубликованные им статьи об оборудовании, программном обеспечении и особенностях протокола.
4 августа 2012 г., Брайан Бенчофф
Мы понятия не имеем, почему, но с тех пор, как несколько дней назад мы представили Botiful, робота телеприсутствия на базе Android , линия советов была завалена мэшапами робот/Android. Вот несколько крутых.
Использование Android в качестве пульта дистанционного управления
[Стеф] использовала Samsung Galaxy S3 для управления старым радиоуправляемым танком. Android отправляет данные акселерометра и гироскопа по Bluetooth на Android, где он приводит в действие пару H-мостов для вращения колес.
Превращение Android в операционную систему для роботов
ROS, или операционная система для роботов, предоставляет набор утилит для любого типа роботов, таких как отображение облака точек для управления несколькими суставами руки. [Лентин] прислал руководство по установке ROS на Android. Пока что он может получать данные акселерометра, кадры с бортовой камеры, говорить с роботом и использовать небольшой вибратор. Вот (несколько ограниченная) демонстрация [Lentin], играющая с ROS в терминале.
«Просто проект для быстрой прокрастинации»
В мае прошлого года [Джош] написал, спросив, не будет ли крутой идеей создать робота на основе гусениц, управляемого через Skype. Мы сказали «черт возьми», и [Джош] убежал в свою мастерскую на несколько месяцев. Он вернулся со своим танковым роботом. Что действительно интересно, так это то, что робот реагирует на тональные сигналы DTMF, что позволяет управлять им через Skype без какого-либо дополнительного оборудования. Это чертовски умно. Вы можете посмотреть видео SkypeRobot после перерыва.
12 июля 2012 г., Майк Щис
Нет, здесь нет микроконтроллера, просто полноценный мобильный телефон, используемый в качестве мозга этого маленького робота. Секрет того, как это работает, заключается в звуках, которые издает телефон. Сенсорные сигналы, известные как DTMF, контролируются схемой, установленной на передней половине шасси, и отвечают за приведение в действие двигателей.
[Ачу Уилсон] построил схему на основе микросхемы MT8870, которая декодирует звуки DTMF и использует выход BCD для питания некоторых логических микросхем. Декодер от 4 до 16 строк и микросхема инвертора форматируют сигналы для использования в качестве входных данных для драйвера двигателя L293D.
Это, безусловно, забавный способ поиграть с протоколом DTMF.
Читать далее «Автомобиль с GSM управлением без микроконтроллера» →
Posted in Взлом мобильных телефонов, Взлом роботовTagged dtmf, l293, mt8870, robot, rover20 октября 2011 г. Брайан Бенчофф
Если вы когда-нибудь задумывались о том, как лучше всего распознавать сигналы набора номера и DTMF-тоны на телефонной линии, [Debraj] — ваш помощник.
[Debraj] построил детектор DTMF, используя алгоритм Goertzel. Обычно, когда мы думаем об обнаружении тонов, мы вытаскиваем БПФ из нашего набора трюков. Алгоритм Герцеля не так сложен в вычислительном отношении, как БПФ, и может быть реализован даже на самых маленьких микроконтроллерах.
Для сборки в первую очередь нужно припаять хороший аудио трансформатор и несколько защитных диодов. Мелодия звонка на телефонной линии варьируется от +35 В до -35 В — немного больше, чем может выдержать микроконтроллер. Плата разработчика PIC18F4520 использовалась как мозг системы, весь код доступен на сайте [Debraj].
Хотя реализации алгоритма Герцеля немного необычны, [Debraj] видел несколько интересных проектов, использующих этот метод. Сборка [Debraj] может быть легко преобразована в гитарный тюнер, например, с несколькими изменениями в коде.
Этот проект был построен как система управления и контроля для системы домашней автоматизации, и, судя по видео после перерыва, мы не можем дождаться, когда [Дебрадж] разозлится на фразу: « Чтобы включить свет на кухне, пожалуйста нажмите 1…»
Продолжить чтение «Обнаружение тонов DTMF с нуля» →
Posted in classic hacksTagged dtmf, Goertzel, PIC18F4520, телефон30 августа 2011 г. , Майк Щис
Все мы знакомы с системами IVRS, которые позволяют получить доступ к информации с помощью телефона с тональным набором. [Ачу Уилсо] построил свою собственную версию, в которой используется мобильный телефон, микроконтроллер и компьютер.
Мобильный телефон контролируется операционным усилителем LM324 с подключенным чипом таймера 555. Когда поступает вызов, напряжение на выходе наушников становится высоким, активируя схему таймера. Если он станет низким и не станет снова высоким в течение примерно 25 секунд, вызов будет завершен. Каждый входящий сигнал касания действует как подтверждение активности канала.
Чип-декодер MT8870 DTMF (тональный набор) отслеживает ввод пользователя. Микроконтроллер ATmega8 получает декодированные тональные сигналы от этого чипа и передает их на ПК через USB. Программное обеспечение для ПК написано на Python с использованием привязок MySQL для доступа к информации базы данных. eSpeak, программное обеспечение синтезатора речи с открытым исходным кодом, используется для чтения меню и информации из базы данных вызывающему абоненту.
Неплохая маленькая система, мы бы хотели, чтобы был аудиоклип, чтобы мы могли услышать ее в действии.
Posted in Взлом мобильных телефоновTagged dtmf, ivrs, lm324, mt8870, mysql, python9 августа 2011 г., Майк Щис
Подруга [Виктора] работает в музее и воспользовалась его опытом в разработке интерактивной детективной игры для детей, посещающих музей. Идея заключалась в том, чтобы дети находили номера телефонов, по которым они могли бы позвонить, чтобы получить подсказки. Первоначально он планировал отображать подсказки на символьном ЖК-дисплее, но, очевидно, гораздо удобнее слышать подсказки в трубке телефона.
Быстро переключившись, [Виктор] отказался от ATtiny2313 и начал с чипа Xmega — на самом деле, именно наш недавний пост Xmega вдохновил его на документирование своего проекта. Микроконтроллер отвечает за многие процессы. Он сканирует матрицу клавиш на предмет ввода, имитирует сенсорные тональные сигналы DTMF, считывает аудиофайлы из файловой системы FAT на SD-карте и воспроизводит их через динамик портативного устройства. Так как большая часть аппаратного обеспечения уже встроена в телефоны, не составило труда поместить его надстройки внутрь корпуса. Простая схема аудиоусилителя соединяется с микроконтроллером, который подключается к рядам и столбцам клавиатуры. Посмотрите видео после перерыва, чтобы увидеть устройство в действии.
Читать далее «Вы когда-нибудь задумывались, откуда берутся крутые интерактивные музейные экспонаты?» →
Posted in МикроконтроллерыTagged dtmf, fat, музей, sd, телефон, xmega17 апреля 2011 г., Майк Щис
[Колин] хотел найти способ надежного управления Arduino с помощью любительского радио. Один из самых простых методов автоматизированного радиоуправления использует двухтональную многочастотную сигнализацию. Для тех, кто не увлекается радиолюбительством, вы, вероятно, узнали DTMF как систему тонального набора для телефонной связи. [Колин] построил экран, который имеет аудиовход и может декодировать DTMF-сигналы.
Аппаратное обеспечение основано на микросхеме декодера DTMF MT8870. Это популярный выбор для аппаратного обеспечения DTMF, поскольку он выполняет всю работу по декодированию за вас. Всякий раз, когда обнаруживается действительный тон, он выводит соответствующее значение в двоичном виде на четыре выходных контакта. Есть пятый штифт, который мигает после каждого нового тона. Дизайн [Колина] предлагает много обратной связи о том, что происходит с входным сигналом. Значение DTMF отображается на 7-сегментном дисплее (полностью управляется аппаратно), значение выводится для двоично-десятичных контактов и сопоставляется с набором из десяти контактов, которые замыкаются на землю, чтобы соответствовать полученной цифре.
Posted in Arduino Hacks, Radio HacksTagged 7 сегмент, arduino, dtmf, ветчина, mt8870, щитБиблиотека Arduino — тон
Установка для Arduino IDE-библиотек: Информация об Arduino
Информация (ENG):
Описание
цикл) на любом выводе Arduino.
Опционально можно указать продолжительность, в противном случае волна будет продолжаться до тех пор, пока не будет вызвана функция stop().
Штифт можно подключить к пьезоизлучателю или другому динамику для воспроизведения тонов.
Обязательно попробуйте пример RTTTL (язык передачи текста рингтона)!
Версия ядра Arduino
Упрощенная версия библиотеки Tone была включена в ядро Arduino с 0018 года. Она обеспечивает только один тон (поскольку используется только один таймер). Вы можете найти основную документацию здесь.
Ознакомьтесь с учебным пособием Тома Айго из Программы интерактивных телекоммуникаций Нью-Йоркского университета (ITP). Он демонстрирует, как использовать основные команды tone() и noTone().
ПРЕДУПРЕЖДЕНИЕ
Не подключайте контакт непосредственно к какому-либо аудиовходу. Напряжение значительно выше, чем стандартное линейное напряжение, и может повредить входы звуковой карты и т. д. Вы можете использовать делитель напряжения, чтобы понизить напряжение, но вас предупредили.
Библиотека использует аппаратные таймеры микроконтроллера для генерации тонов прямоугольной формы в слышимом диапазоне.
Вы можете выводить тоны на любой контакт (произвольно). Количество тонов, которые могут воспроизводиться одновременно, зависит от количества аппаратных таймеров (с возможностью CTC), доступных на микроконтроллере.
- ATmega8: 2 (таймеры 2 и 1)
- ATmega168/328: 3 (таймеры 2, 1 и 0)
- ATmega1280: 6 (таймеры 2, 3, 4, 5, 1, 0)
Приведенный выше порядок таймеров соответствует порядку их размещения. Таймер 0 является чувствительным таймером на Arduino, так как он обеспечивает функции millis() и PWM.
Диапазон воспроизводимых частот зависит от тактовой частоты микроконтроллера и используемого таймера:
Часы микроконтроллера | 8-битный таймер F младший | 16-битный таймер F младший | F высокий |
8 МГц | 16 Гц | 1 Гц (1/16 Гц) | 4 МГц |
16 МГц | 31 Гц | 1 Гц (1/8 Гц) | 8 МГц |
Хотя F high может достигать 8 МГц, диапазон человеческого слуха обычно достигает 20 кГц.