USB счетчик посещений на AVR ATtiny25

ATtiny25 MAX7219

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

USB счетчик посещений

Посредником между компьютером и дисплеем будет служить микроконтроллер. Выбор автора пал на AVR. За отображение информации отвечают драйвер MAX7219 и 7-ми сегментный LED дисплей (к сожалению, проект рассчитывается на странички, количество посетителей которых не переваливает за 7-мизначный рубеж). «Мозг» устройства - ATtiny25, код написан в AVR-GCC и является модификацией примера EasyLogger разработанного Christian Starkjohann из Objective Development, ему же принадлежит разработка крайне полезной USB прошивки AVR-USB, использующую медленный USB 1.1 для Atmel AVR микроконтроллеров. Теперь отпадает необходимость дополнительно нагружать схему или использовать уже не популярный RS232. Драйверу MAX7219 необходимо внешнее питание (чтобы не перегрузить порт) - 300 мА, 9-12 В DC или AC. Не забудьте использовать радиатор для ИС1. ИС3 питается от шины.


Нажмите для увеличения

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

  • LibUSB-Win32 , библиотека Windows, позволяющая программам обращаться к USB устройствам напрямую, а не через ядро.
  • Также могут понадобиться компоненты CoolTrayIcon и TextTrayIcon для Delphi.

Это позволит сворачивать окно программы в трей, что согласитесь, очень удобно.

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

Принцип работы крайне прост: каждые 10 секунд (интервал timer1) программа обращается к файлу hits.txt на Вашем сервере, «хостинге» если Вам угодно, и, считав ВСЮ! информацию, посылает ее на дисплей. Теперь поговорим о необходимом ПО на стороне сервера. На сервере создаем файл hits.txt, в который мы будем записывать количество посетителей, присваиваем ему следующий chmod (то есть права) - не менее 755 (rwxrw-rw-, если мне не изменяет память). Согласитесь, просто так, и даже если мы его назвали hits.txt, файл считать посетителей не будет. Поэтому разместим на главной странице нашего сайта (выберите изменить HTML код главной страницы, если вы используете систему управления сайтом) следующий код:

ПО тестировано только на Windows XP. Используемый программатор - PonyProg.

Скачать ПО, компоненты для Windows и исходный код можно здесь: Исходный код AVR

ПО для компьютера (как исходный код Delphi 6, так и .exe приложение)

Перевод: Ale)(ander, по заказу РадиоЛоцман

На английском языке: USB Physical Hit Counter Based on AVR ATtiny25

Изготовление 1-4 слойных печатных плат за $2

28 предложений от 23 поставщиков
8 - бит микроконтроллер 2кБ Flash, 128 bytes EEPROM, 128 bytes SRAM, 32x8 register, 4.5 ... 5.5В, 20 МГц, - 40...
Триом
Россия
ATTINY25V-15MT
Microchip
42 ₽
ATTINY25-20SSN
от 75 ₽
Контест
Россия
ATTINY25-20PU
Microchip
166 ₽
DM Electronics
Россия
ATTINY25V-10SSU
по запросу
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя