Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Приближается Рождество, так что вот мой вклад, чтобы поднять вам настроение. Это счетчик посещений блога, который звонит в колокол. Буквально. Это вызывает улыбку на вашем лице каждый раз, когда кто-то посещает ваш блог.
Он состоит из платы 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, это небольшая плата, полностью собранная с микроконтроллером 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: Заключение
Я впервые построил что-то, в котором есть движущиеся части. Это первый шаг к преодолению разрыва между виртуальным и реальным миром. И это было действительно просто, код простой. Также большая часть деталей была в моем мусорном ведре, кроме звонка. Сложить все вместе и ждать, пока кто-нибудь ударит по моему блогу, было весело.
Надеюсь, вам понравилось.