Архив автора

Термометр на SHT21

В виду нехватки в хозяйстве термометров и в виду избытка халявных термодатчиков и еще кое-валяющихся без дела деталек, решил сбацать себе этот девайс. Как известно из прошлого поста, датчик измеряет не только температуру но и влажность. Для меня практическая польза от этой фичи сомнительна, но поскольку кому-то возможно пригодится — решил задействовать и её. Кстати это пожалуй один из самых моих долгих проектов: софт писался месяц(!). Разработка затянулась главным образом из-за нехватки свободного времени и глючности кое-какого компилятора от кое-какой фирмы. Но обо всём по-порядку.

Термометр на SHT21

Читать полностью »

Датчик влажности и температуры SHT21

Наконец то мои ручонки дошли до этого замечательного и халявного датчика от щедрой компании Sensirion. Напомню, что я получило его совсем бесплатно и аж в количестве двух штук, за что компании большое спасибо :-)  Начнем обзор датчика с его внешнего вида. Датчик представляет собой крошечную козявку величиной примерно с тетрадную клеточку. Феном припаять раз плюнуть, паяли и не такое. Сверху датчика есть отверстие через которое в него поступает воздух для замера влажности и температуры, настоятельно не рекомендую его чем либо заляпывать, особенно всякими флюсами типа лти120 итд. Чтоб не быть голословным вот фотка:

Датчик SHT21

Читать полностью »

Отладчик i2c SPI 1-wire

После того как NXP прислали мне кучу всяких микросхем с интерфейсом i2c, я начал их раскуривать некоторые из них. Как известно работа с i2c устройствами сводится к тому, чтоб записать или считать значения хранящиеся в определённых регистрах микросхемы. Обычно на время изучения какой либо микрухи я городил на своей отладочной плате небольшой макет из контроллера, программатора, RS232<-> UART преобразователя и непосредственно самой микросхемы. Через компьютер посылаются команды и контроллер что-то передаёт по шине i2c или наоборот читает, отправляет стартовые и стоповые посылки итд. Примерно таким же образом у меня происходит процесс изучение микросхем с интерфейсами SPI и 1-wire. Чтоб не городить каждый раз тестовый макет было принято решение собрать универсальный отладчик с поддержкой протоколов i2c SPI и 1-wire.

Отладчик i2c SPI 1-wire

Читать полностью »

Бесплатные образцы

Судя по всему настало время и на страницах моего блога осветить такую небезразличную для сердца русского человека вещь, как халява. До недавнего времени я сам не особенно верил в этот «бесплатный сыр», все эти попытки заполучить что-то стоящее бесплатно казались почти невозможными или казались требующими каких-то тайных знаний или усилий. Но как потом показала практика всё не так сложно и плохо. Начнем с того что разберемся что такое семплы, с чем их едят и для чего они нужны. Samples — это образцы. В нашем случае это образцы различных микросхем, транзисторов, светодиодов, отладочных плат и так далее. Иногда может возникнуть вполне здравый вопрос: А нужно ли вообще гоняться за этой халявой? Если деталька труднодоступная или дорогая — то можно смело сказать что да! Но пожалуй самый главный критерий по которому можно однозначно определить нужно ли запрашивать семпл — это необходимость! Если деталька не нужная то не нужно заказывать её «просто чтоб была, а вдруг пригодится». Как показывает практика (не моя) — не пригождается, а просто валяется мертвым грузом а потом выбрасывается с мусором. Читать полностью »

ИК удлинитель UART

Потребовалось мне недавно организовать беспроводной двусторонний обмен данными между двумя устройствами в зоне прямой видимости. Конечно для этой цели можно заюзать дешевенькие радиомодули, например TR24A о которых писалось ранее. Но это как палить из пушки по воробьям, ведь в данном случае вполне годится ИК канал. Одна из немаловажных особенностей разработанного удлинителя, заключается в прозрачности работы. Это означает что устройства находящиеся по разные стороны удлинителя будут общаться между собой точно так же как если бы они были соединены двумя обычными проводами.  Но одно ограничение по части прозрачности  все же есть и заключается оно в том, что передача данных может происходить только в полудуплексном режиме. Итак, что же представляет собой этот удлинитель:


Читать полностью »

FAQ

В связи с возросшим количеством однотипных вопросов решил ответить на них здесь:

q: Ты жив ?

a: Да всё окей :-)

q: А чё сайт не обновляется ?

a: Катастрофическая нехватка времени ни на что.

q: Куда оно подевалось?

a: Вышел из запоя после получения диплома и устроился на работу!

q: Обновления будут ?

a: Будут.

q: Когда ?

a: В ближайшем будущем. Немного разгребу дела и времени станет побольше.

Микропаскаль учебный курс. Часть 3

Почти всё то что мы рассматривали в учебном курсе ранее, справедливо не только для микропаскаля, но и для «большого» паскаля для ПК. Начиная с этой части так же будут рассматриваться некоторые специфические особенности паскаля для AVR. Но начнем мы с пары слов о пользовательских функциях и процедурах в микропаскале.  Функция или процедура это некоторый код который может быть вызван из любой части основной программы с какими либо параметрами (или без них). После того как процедура или функция отработала, управление возвращается основной программе. Между функциями и процедурами всего одно различие: Функция может возвращать какое либо значение, а процедура не может.  Функция выглядит следующим образом:

Function ИмяФункции(СписокПараметров):ТипВозвращаемогоЗначения;
begin
  result:=ВозвращаемоеЗначение;
end;

Читать полностью »

Этот штангенциркуль я купил себе давным давно на ебее. Ну работал я им как все нормальные люди, а потом случайно наткнулся на 4-х пиновый разъем спрятанный под крышечкой. Ну и разумеется у меня возникло желание узнать для чего всё это надо. Как в последствии оказалось через этот интерфейс штангенциркуль непрерывно посылает результаты своих измерений. Вооружившись паяльником и осциллографом я стал раскуривать протокол по которому наш девайс шлёт данные. И вот что из этого получилось.

Читать полностью »

Расширитель портов MCP23008

Сегодня на нашем операционном столе новый гость, это продукт компании Microchip расширитель портов MCP23008-E. Предназначена эта штуковина (как понятно из названия) для увеличения числа I/O ног микроконтроллера, если их вдруг стало не хватать. Конечно если нам нужные ноги-выходы то можно взять сдвиговый регистр и не париться. Если нужны ноги-входы то и тут есть решение на жесткой логике. Если же нам нужны одновременно входы и выходы да еще и управляемая подтяжка для входов, то расширитель портов это пожалуй самое нормальное решение. Что касаемо цены девайса то она весьма скромная — примерно бакс. В данной статье я попробую детально описать как рулить данной микросхемой при помощи микроконтроллера AVR.

Читать полностью »

Микропаскаль учебный курс. Часть 2

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

if Условие then Оператор1 else Оператор2

Условие — некоторое логическое выражение принимающие значение true или false. Если условие истинно, то будет выполнен Оператор1 а если ложно то Оператор2. Ключевое слово else не является обязательным. Пример:

if a=0 then PORTB:=0xFF else PORTB:=0xAA;

Читать полностью »

Сайту один год!

Итак на календаре 7 апреля. Ровно год назад я написал первый пост с которого зародился этот сайт. Хочется сказать спасибо восьмистам читателям которые заходят ко мне каждый день, за проявленный интерес к моему проекту, приятно осознавать что то что я пишу хоть кому-то нужно. Двойное спасибо тем кто не только читает но и комментирует записи, и задаёт каверзные вопросы. Они заставляют меня лучше разобраться в чем-либо и пошевелить мозгами. Короче, оставайтесь на связи. Впереди еще много интересного! В связи с написанием диплома, времени у меня поубавилось, но сайт будет обновляться в обычном порядке. И наконец отдельное спасибо тем кто делает пожертвования, пусть небольшие но всё равно приятно. Кстати теперь когда появилась реклама от яндекса можно в знак благодарности кликнуть по ней и я получу за это небольшое вознаграждение. Предложения, вопросы и поздравления принимаются в комментариях! Ура товарищи :-)

Блок питания Mastech HY1803D

Каких только блоков питания у меня не было. Самой различной мощности,на самые разные напряжения и ток. У всех у них было один недостаток: они были без корпуса и там постоянно что-то отваливалось, замыкало итд. Конечно можно было бы склеить нормальный корпус из пластика, но очень уж хотелось красоты и прочности. В итоге придушил жабу, взял две тыщи денег и пошел выбирать себе блок питания. Выбор пал на Mastech HY1803D. Его характеристики и цена меня вполне устраивали. Были точно такие же блоки но послабее, а разница в сто рублей, в итоге взял именно эту модель.

Читать полностью »

Микропаскаль учебный курс. Часть 1

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

Program ИмяПрограммы;
uses ОписаниеПодключаемыхМодулей;
const ОписаниеКонстант;
type ОписанияПользовательскихТиповДанных;
var ОписаниеПеременных;
label ОписаниеМеток;
 
//Раздел описания пользовательских функций и процедур
 
Begin
   //Тело программы
End.

Итак начнем разбираться по порядку. Читать полностью »

Радиомодули TR24a

Если нужна беспроводная передача данных и в то же время не хочется самостоятельно городить радиоканал, то проще всего воспользоваться готовыми радиомодулями коих сейчас выпускается великое множество. Частоты, мощности и цены у радиомодулей самые разные. Для моей задачи дальность была не сильно критична, и я взял на пробу парочку бюджетных радиомодулей TR24a. О них в интернете пишут самые противоречивые мнения. У кого-то дальность связи 6 метров, у кого то под 60 метров. Короче я решил провести независимое расследование :-)

Читать полностью »

Микропаскаль учебный курс. Часть 0.

Сейчас существует несколько языков высокого уровня на которых можно писать программы для микроконтроллеров AVR. У каждого из них есть свои преимущества и недостатки. О них уже много раз писалось в интернете и вряд ли я смогу рассказать о них что-то новое. Но об одном из этих языков информации практически нет. Для того что-бы устранить этот пробел, я начинаю писать свой учебный курс о языке микропаскаль.

Читать полностью »