Содержание
Интернет-магазин
Вышла новая версия интегрированной среды разработки для PIC микроконтроллеров MPLAB IDE 8.40
Внутрисхемный программатор PICkit 3 теперь имеет возможность автономного программирования (Programmer-To-Go) и интерфейс командной строки.
Компания Microchip Technology Inc. и Гамма – Санкт-Петербург анонсируют проведение ежегодного семинара-тренинга по продукции Microchip – MASTERs 2009 Russia.
Компания Microchip объединяет библиотеки для работы с USB, с картами памяти и графическими индикаторами в единую библиотеку «Microchip Applications Libraries». Новая версия Microchip Applications Libraries (v2009-07-10) получила следующие изменения:
Скачать Microchip Applications Library (v2009-07-10)
Новая версия MPLAB 8.33 получила следующие улучшения:
Дополнен перевод Руководства пользователя PICkit 2
В версии MPLAB 8.30 программатор-отладчик ICD-3 и эмулятор REAL ICE получили поддержку работы из командной строки. PICkit3 теперь может отлаживать и программировать контроллеры PIC32.
Данный проект описывает создание на базе PICkit2 USB HID клавиатуры. Читатель сможет создать прошивку для PICkit2, работать с внешними устройствами и передавать данные от внешних устройств как будто бы эти данные вводятся с клавиатуры.
Народный мониторинг — проект по отображению на карте мира и контролю (по e-mail и sms) показаний датчиков среды (температуры, влажности, атм.давления, скорости и направления ветра, радиации, энергопотребления и др.), а также веб-камер. Структурная схема проекта находится здесь
Для передачи данных на Народный мониторинг через WiFi использую модуль WiFly (RN-171, RN-131) от Roving Networks (сейчас они часть Microchip). Модуль представляет собой «коммуникационную трубу» - данные посланные в UART передаются в Wi-Fi и наоборот. К модулю WiFly через UART интерфейс подключен микроконтроллер, который отсылает пакет в формате narodmon.ru (#MAC\n#mac1#value1\n … ##). Подробнее о формате на сайте http://narodmon.ru/#proto
Как только модуль получает пакет, то он соединяется с сервером и отсылает содержимое своего буфера UART. Ниже приведен набор команд для настройки модуля WiFly для отправки данных на сервер. Так же всю процедуру можно сделать с клавиатуры через терминальную программу и переходник USB - UART.
Вход в командный режим:
$$$
далее вводим команды настройки (то что за символами / / вводить не нужно - это комментарии ;)
//сетевые настройки set ip proto 9 // режим UDP + TCP client set ip tcp-mode 0x4 // используем DNS set ip address 0 // set dns name narodmon.ru set ip remote 8283 // порт set comm remote 0 // нулевой стринг, чтобы модуль при установке соединения с сервером не слал приветственных сообщений // настройка UART set comm size 1420 // максимальный размер приемного буфера UART это 1420 байт set comm time 5000 //FlushTimer=5000 ms // 5 секунд на ввод символа перед отсылкой пакета - так много для тестирования, например вводим данные с клавиатуры или если применяется внешний медленный микроконтроллер set uart mode 0x02 // установить TCP соединение по приему данных в UART set uart baudrate 9600 // желаемая скорость UART // настройки подключения к WiFi сети set wlan ssid yyy // подключиться к сети "yyy" set wlan phrase xxx // пароль к сети "xxx" set wlan join 1 // автоматическое подключение к точке доступа при вкл.питания save // сохраняем конфигурацию в памяти модуля reboot // перезагрузка с новым конфигом
Все. Модуль должен подключиться к заданной WiFi сети.
Теперь, если в приемный буфер UART приходит пакет, то он автоматически отсылается на narodmon.ru. Признаком завершения пакета является то, что в течение времени (значение указанное в FlushTimer) в UART не поступали новые данные (можно сделать не по времени, а по принятию к.л. символа).
Внутренние часы реального времени (RTC) модуля WiFly могут синхронизироваться с sNTP сервером. Если микроконтроллер, подключенный к WiFi модулю, ведет лог и загружает историю показаний, то UNIX time можно брать с синхронизированного RTC.
настройки синхронизации с sNTP сервером:
time enable 1 // 0 - sNTP выключен. 1 - получить время при включении питания или 2...255 - получать время с sNTP сервера каждые 2...255 минут set time address 129.6.15.28 // адресс sNTP сервера set time port 123 // порт sNTP сервера set time zome 20 //msk time zone - если нужны показания для своего часового пояса time // синхронизируем RTC с сервером
тогда команда show t t
выдаст примерно такое:
Time=18:08:24 UpTime=517 s RTC=1396015709 Restarts=1 Wake=1 RAW=299ac12e8131
где RTC=1396015709 это UNIX time. Это значение микроконтроллер может использовать для фиксации времени измерения показаний с датчиков.
Модули WiFly имеют хорошие параметры по потреблению. В Sleep потребение всего 4мкА, поэтому модуль может иметь автономное питание.
При работе с батарейным питанием сценарий может быть таким:
Настраиваем часы реального времени RTC на периодическое просыпание и засыпание (чтобы точка доступа не «забыла» о нас - разные точки доступа могут держать соединение разное время). Например, спим 10 минут, просыпаемся, если нет активности, то засыпаем через 5 секунд. Если во время спячки приходят данные по UART, то просыпаемся по сигналу CTS (подключенному к одному из Wake-Up входов модуля). Можно просыпаться по RX, но тогда может потеряться первый байт (UART не активен в Sleep).
Надеюсь эта простая инструкция поможет кому-нибудь в построении своей системы мониторинга!
Еще один проект на базе ОСРВ OSA:
PIC18 + немного деталек + монитор VGA = старый добрый Boulder Dash.
Наверняка каждый из нас хоть раз сталкивался, а многие уже давно пользуются приборами с емкостными кнопками и емкостными экранами. Сенсорные панели используются в бытовых приборах (кухонные варочные поверхности и вытяжки, телевизоры), компьютерной технике (Touch Pad ноутбуков), платежных терминалах, планшетных компьютерах, смартфонах и других массовых приборах. Преимущества сенсорных технологий очевидны – увеличение надежности по сравнению с контактными кнопками, улучшение внешнего вида приборов.
Хотите узнать как это работает?
Компания Microchip поддерживает свою бесплатную реализацию TCP/IP стека уже много лет. Стек оптимизирован для использования с микроконтроллерами семейств PIC18, PIC24, dsPIC и PIC32. Простая утилита TCPIPConfig создана для облегчения конфигурирования стека и быстрого запуска проекта. Хотите узнать как? - прочтите это описание:
Краткое описание по работе с Graphics Display Designer – инструментом, помогающим в работе с Графической Библиотекой Microchip из пакета Microchip Application Library
Этот проект представляет собой электронную игру типа GAMEBOY. Смысл игры — бегать по большому этапу, собирать монетки, жизни, бомбы, убивать множество врагов (бомбой или напрыгнув сверху).
Собрав все монетки появится где то ключ, найдя его, можно открыть запертые двери и найти 3 алмаза, которые и нужно собрать, чтобы закончить уровень.
В игре есть возможность создать разнообразные уровни- под землей, под водой,в замке,в пустыне, в пещере, на облаках и тд.
Есть всякие летающие островки, батуты, стреляющие, как в марио — пушки, потайные комнаты, блоки, которые можно разрушать подложив бомбу.
Реализован горизонтальный и псевдовертикальный скроллинг карты при игре. Игра сделана по типу DUCK TALES — восьмибитной игры на денди.
Я постарался сделать наиболее привлекательной графику и геймплей.
Буду рад услышать отзывы . vitshan@mail.ru
демо уровень(враги не отображены) Видео пока старое
Многие PIC-микроконтроллеры имеют встроенный SR-триггер и аналоговые компараторы. Рассмотрим возможные применения данных модулей.