Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Annoy-O-Bug: компактная звуко-световая шутка на ATtiny85

Компоненты и материалы

Печатная плата OSH Park (custom) × 1
Пьезоизлучатель (Buzzer) × 1
Светодиод (LED) × 1
Резистор 330 Ом × 1
Элемент питания CR2032 × 1
Крепление для CR2032 × 1
Микроконтроллер ATtiny85 × 1
DIP-разъем 8 pin × 1
Arduino UNO (для прошивки ATtiny) × 1
Конденсатор 10 мкФ (для прошивки) × 1

Необходимые инструменты

Приложения и сервисы

О проекте

Устройство достаточно мало, чтобы поместиться в банку от мятных конфет, но достаточно громко, чтобы его слышали по всему дому. Стоимость — всего несколько долларов за единицу. Идеальная комбинация для хорошей шутки!

Шаг 1: Схема

Annoy-O-Bug: компактная звуко-световая шутка на ATtiny85

Печатную плату можно заказать на OSH Park (ссылка в разделе компонентов). Обязательно использовать ATtiny или эту плату не требуется — схему можно собрать на макетной плате за ~20 минут. Если важны компактность — лучше использовать печатную плату. На фото показана версия на макетной плате. ATtiny85 можно заменить на любой другой микроконтроллер.

Шаг 2: Сборка печатной платы

Annoy-O-Bug: компактная звуко-световая шутка на ATtiny85

Плата простая для пайки. Важно: пьезоизлучатель и светодиод полярны. Длинный вывод пьезоизлучателя в круглый контактный площадку, короткий — в квадратный. Длинный вывод светодиода — в отверстие напротив белого прямоугольника. Сложнее всего припаять держатель батареи: сначала припаяйте все компоненты на лицевой стороне, затем заземляющий контакт держателя — через отверстие в центре DIP-разъема.

На плате есть белый прямоугольник для надписи — можно оставить сообщение для «жертвы» :). Хотите изменить плату? Скопируйте мой дизайн в circuits.io: https://circuits.io/circuits/2677013-annoying-circuit.

Шаг 3: Программное обеспечение

//Code produced by Alex Wulff: https://www.AlexWulff.com #define BUZZ 0 #define LED 1 #define BEEP_DELAY 30 #define LIGHT_DELAY 200 #define INITIAL 5000 //Значение в миллисекундах. //10,000 ms дает общее время последовательности 46.5 сек //20,000 ms дает общее время последовательности 91.5 сек //30,000 ms дает общее время последовательности 136.5 сек //Понятен принцип: каждые 10 сек добавляет 45 сек к общему времени. void setup() { pinMode(BUZZ, OUTPUT); pinMode(LED, OUTPUT); //Мигание светодиодом для проверки работоспособности for (int i = 0; i < 5; i++) { digitalWrite(LED, HIGH); delay(LIGHT_DELAY); digitalWrite(LED, LOW); delay(LIGHT_DELAY); } } void loop() { //50 итераций с уменьшением задержки по фактору 1/i for (int i = 1; i < 50; i++) { digitalWrite(BUZZ, HIGH); digitalWrite(LED, HIGH); delay(BEEP_DELAY); digitalWrite(BUZZ, LOW); digitalWrite(LED, LOW); delay(INITIAL/i); } }

Пример программы демонстрирует возможности устройства. Интервал между сигналами постепенно уменьшается, что становится очень раздражающим! Изменив INITIAL на большее значение, можно растянуть работу на неделю с ускорением каждый день. Можно запрограммировать случайные писки/мигания или мелодию в такт светодиоду — вариантов бесконечно много.

Создал симуляцию в Autodesk Circuits для тестирования скетча без сборки: https://circuits.io/circuits/4778452-the-annoy-o-bug-a-chirping-light-up-throwie/.

Шаг 4: Прошивка ATtiny85

Прошить ATtiny можно через Arduino Uno (или любую плату на ATmega) и конденсатор 10 мкФ. Инструкция: https://www.hackster.io/arjun/programming-attiny85-with-arduino-uno-afb829.

Осторожно извлекайте ATtiny из разъема — удобнее использовать плоскогубцы.

Шаг 5: Размещение

Размещение — половина удовольствия. При стоимости менее $5 за штуку можно сделать много устройств. Они помещаются в цветочные горшки, коробки, подушки, внутри ламп, на столах — куда угодно! С watchdog-таймером для сна ATtiny устройство может работать от элемента CR2032 более года.

Вот и всё! Нужна помощь с кодом или сборкой — пишите в комментариях.

Другие мои проекты: www.AlexWulff.com и https://www.hackster.io/AlexWulff.

Важное замечание: из-за природы проекта звуки могут быть приняты за угрозу взрыва. Не размещайте устройства в публичных местах, чтобы избежать проблем!

Код

Annoying Circuit (Arduino)

//Code produced by Alex Wulff: https://www.AlexWulff.com #define BUZZ 0 #define LED 1 #define INITIAL 5000 //10,000 ms yields a total sequence time of 46.5 Seconds //20,000 ms yields a total sequence time of 91.5 Seconds //30,000 ms yields a total sequence time of 136.5 Seconds //You get the pattern. Each 10 seconds yields another 45 //seconds of total time on the sequence. void setup() { pinMode(BUZZ, OUTPUT); pinMode(LED, OUTPUT); for (int i = 0; i < 5; i++) { digitalWrite(LED, HIGH); delay(200); digitalWrite(LED, LOW); delay(200); } } void loop() { for (int i = 1; i < 50; i++) { digitalWrite(BUZZ, HIGH); digitalWrite(LED, HIGH); delay(30); digitalWrite(0, LOW); digitalWrite(LED, LOW); delay(INITIAL/i); } }

Схемы

PCB Design

Производственный процесс

  1. Drone Pi: двухрежимный квадрокоптер Multiwii + Raspberry Pi для управления со смартфона и пульта
  2. Основные компоненты станка с ЧПУ: подробное объяснение
  3. Ключевые элементы эффективного кризисного коммуникационного менеджмента
  4. Набор MOSMusic: MOSFET, Arduino и управление светом по музыке
  5. Мастерство кросс-референсирования: руководство к точности и экономии затрат
  6. Ключевые компоненты надежной системы сжатого воздуха
  7. Как модернизация крана трансформирует ключевые компоненты для пиковой производительности
  8. Ключевые компоненты двухколонных ленточных пилорам
  9. Мастерство проектирования механически обрабатываемых деталей: всеобъемлющее руководство
  10. Рыночные тренды в аэрокосмической промышленности и точных авиационных компонентах