Оглавление:

Arduino XMAS Hitcounter: 6 шагов (с изображениями)
Arduino XMAS Hitcounter: 6 шагов (с изображениями)

Видео: Arduino XMAS Hitcounter: 6 шагов (с изображениями)

Видео: Arduino XMAS Hitcounter: 6 шагов (с изображениями)
Видео: Измеряем частоту ШИМ с помощью Arduino UNO. Изменяем частоту ШИМ на Ардуино 2024, Ноябрь
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

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

Он состоит из платы Arduino, звонка, сервопривода и пары строк кода на языках c, python и php. Большинство деталей довольно распространены, и их должно быть легко достать.

Шаг 1. Инструменты и материалы

Инструменты и материалы
Инструменты и материалы

Итак, что нужно?

  • Плата Arduino. Я получил Arduino Diecimila от Adafruits. А пока есть действительно дешевые и удобные клоны, например действительно голая костяная плата от Modern Devices, особенно если вы хотите использовать их на макетной плате.
  • Серводвигатель. Подойдет любой сервопривод. Взял старую, которую использовал в прошлом хобби.
  • Колокольчик. Предпочтительно тот, который достаточно мал, чтобы его можно было встряхнуть вместе с сервоприводом.
  • Две скрепки. Большой, чтобы удерживать звонок, и маленький, чтобы построить привод, чтобы звонить в звонок.
  • Провода для подключения сервопривода к Arduino.
  • Сайт. На самом деле это не должен быть веб-сайт или блог. Собственно все, что можно посчитать, будет работать.
  • ПК или Mac для подключения платы Arduino к блогу или веб-сайту.

Возможно, вам понадобится паяльник, если провода нельзя подключить напрямую к Arduino.

Шаг 2: Сборка оборудования

Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования

Колокольчик держится на прочной скрепке. Маленькая скрепка используется для создания своего рода рычага, который прикрепляется к сервомотору.

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

Шаг 3: схемы

Схемы
Схемы

Настоящей схемы нет. Просто прикрепите серводвигатель к Arduino. Сервопривод имеет три провода:

  • желтый или оранжевый: сигнал
  • красный: VCC
  • коричневый: GND

Красный и коричневый подключены к соответствующим контактам на Arduino (5V и GND). Оранжевый подключен к контакту 2. Он будет сигнализировать сервоприводу, в каком направлении нужно повернуться. Вы можете припаять к проводам небольшие разъемы, если провода не подходят непосредственно к Arduino или сервоприводу.

Шаг 4: программирование Arduino

Программирование Arduino
Программирование Arduino

Arduino Если вы новичок в Arduino, это небольшая плата, полностью собранная с микроконтроллером AVR. Он хорошо подходит для взлома и взаимодействия с вашей средой. Многое, что сложно с микроконтроллерами, с Arduino сделать довольно просто. Некоторые из преимуществ:

  • нет необходимости в отдельном программаторе (программаторе)
  • поставляется с интегрированной средой разработки (IDE)
  • работает на любой платформе, Windows, Mac, Linux.
  • простое подключение к ПК через USB
  • оборудование с открытым исходным кодом (но имя Arduino нет)
  • имеет отличное сообщество

Более подробную информацию можно найти на официальном сайте Arduino. Обязательно ознакомьтесь с инструкциями по Arduino Джона для получения дополнительных сведений о том, как начать работу с Arduino. Что делает программное обеспечение? Небольшая программа, которая загружается в Arduino, управляет сервоприводом. Он получает одиночные байты через последовательное соединение по USB-кабелю. Если он получает значение 5, он перемещает сервомеханизм пять раз вперед и назад. Таким образом, максимальное значение для отправки составляет 255. Запрограммируйте Ardiuno Итак, я предполагаю, что вы загрузили и установили последнюю версию Arduino IDE с Arduino.cc. На данный момент это версия 0010 Alpha. Чтобы управлять сервоприводом более комфортно, вам необходимо загрузить библиотеку. Вы можете найти его на игровой площадке Arduino. Разархивируйте его и поместите папку в… / arduino-0010 / hardware / libraries /.

  • Подключите Arduino к компьютеру с помощью USB-кабеля.
  • Откройте IDE и начните новый скетч. Sketch - это Arduino, говорящий за программу. Выберите Файл -> Создать.
  • Выберите соответствующее последовательное устройство (Инструменты -> Последовательный порт). Это зависит от вашей среды, для меня это /dev/tty.usbserial-A4001JAh.
  • Загрузите прикрепленный исходный файл и вставьте его в новый эскиз. Нажмите кнопку сохранения.
  • Нажмите кнопку подтверждения. Это скомпилирует ваш скетч в шестнадцатеричный файл, который можно будет перенести на ваш Arduino.
  • Нажмите кнопку загрузки, чтобы передать свой скетч в Arduino.

Тестирование Теперь ваш счетчик попаданий готов к некоторым действиям. Посмотрим, сработает ли это.

  • Нажмите кнопку последовательного монитора.
  • Выберите текстовое поле рядом с кнопкой отправки.
  • Нажмите клавишу табуляции и отправьте его.
  • К этому моменту сервомеханизм должен двигаться вперед и назад.

Уф. Это было самое сложное. А пока вы можете послать байт в Arduino, и сервопривод отправит вам сигнал. Далее нужно найти что-то, что вы хотите вызвать звонком. Мы почти закончили.

Шаг 5: сделайте счетчик посещений

Чтобы сделать его счетчиком посещений вашего веб-сайта, нам понадобятся два небольших фрагмента кода. Один два создают и заботятся о счетчике, а второй - получает значение счетчика и отправляет его в Arduino.

Примечание: если вы не знакомы с Python или PHP, скрипты можно легко перенести на ваш любимый язык программирования. Счетчик Это небольшой скрипт PHP, который считывает значение из файла (hitcounter.txt), увеличивает его и записывает его обратно в файл. Это все, что нужно. Этот файл можно сохранить, например, как counter.php на вашем сервере. Затем вы можете запустить подсчет, указав веб-браузер на https://www.youdomain.com/counter.php. Я включил этот фрагмент в свой блог на wordpress. $ hits = file ($ count_my_page); $ hit = обрезать ($ hits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "ш"); fputs ($ fp, "$ hit"); fclose ($ fp); echo $ hit; ?> Связующий код Этот следующий фрагмент кода используется для получения счетчика. Я использовал Python, но все должно работать. Он открывает HTTP-соединение и получает файл hitcounter.txt. Если значение изменилось с момента последней загрузки, разница вычисляется и передается в Arduino. Это делается каждые десять секунд, пока вы не прервете сценарий с помощью crtl-c. Адаптируйте myUrl и последовательное соединение ниже в соответствии с вашими потребностями. # # счетчик выборки # время импорта import urllib import serial # последовательное соединение usb с arduino ser = serial. Serial ('/ dev / tty.usbserial-A4001JAh', 9600) myUrl = 'https://tinkerlog.com/hitcounter.txt 'last_counter = urllib.urlopen (myUrl).read () while (True): _ counter = urllib.urlopen (myUrl).read () _ delta = int (counter) - int (last_counter) _ print "counter:% s, delta:% s "% (counter, delta) _ ser.write (chr (ord (chr (delta)))) _ last_counter = counter _ time.sleep (10) Мне не удалось загрузить файлы с расширением php, поэтому вы нужно переименовать counterphp.txt в counter.php. Если ваш Arduino все еще подключен к вашему ПК, запустите скрипт Python, чтобы получить счетчик посещений…> python counter.py, и вы должны увидеть результат счетчика. Если вы укажете в браузере URL-адрес своего counter.php и нажмете «перезагрузить», вы должны услышать звонок Hitcounter. Да, теперь все готово. Пора расслабиться и насладиться нашей работой.

Шаг 6: Заключение

Заключение
Заключение

Я впервые построил что-то, в котором есть движущиеся части. Это первый шаг к преодолению разрыва между виртуальным и реальным миром. И это было действительно просто, код простой. Также большая часть деталей была в моем мусорном ведре, кроме звонка. Сложить все вместе и ждать, пока кто-нибудь ударит по моему блогу, было весело.

Надеюсь, вам понравилось.

Рекомендуемые: