Annoy-O-Bug: Construa um Brinquedo Compacto de LED e Buzzer com ATtiny85
Componentes e Materiais
| Componente | Quantidade | Observações |
|---|---|---|
| PCB personalizado OSH Park | 1 | Link da placa |
| Buzzer | 1 | |
| LED (genérico) | 1 | |
| Resistor 330 ohm | 1 | |
| Bateria de moeda CR2032 | 1 | |
| Suporte para CR2032 | 1 | |
| Microchip ATtiny85 | 1 | |
| Soquete DIP de 8 pinos | 1 | |
| Arduino UNO | 1 | Apenas para programar o ATtiny |
| Capacitor 10 µF | 1 | Apenas para programar o ATtiny |
Ferramentas e Máquinas Necessárias
- Ferro de solda (genérico)
Aplicativos e Serviços Online
- Autodesk circuits.io
Sobre o Projeto
Pequeno o suficiente para caber em uma lata de mentos, mas alto o suficiente para ser ouvido pela casa toda por apenas alguns dólares por unidade. Uma combinação perfeita para uma boa pegadinha! Vamos mergulhar.
Passo 1: O Circuito

Você pode comprar a placa de circuito impresso na OSH Park usando o link na seção de peças. Não é obrigatório usar um ATtiny ou minha própria PCB. Este circuito levaria cerca de 20 minutos para montar em qualquer protoboard. Se quiser o circuito minúsculo, recomendo a opção de PCB. Se preferir montar em protoboard ou perfboard, a versão em protoboard é mostrada acima. Substitua o ATtiny85 por qualquer microcontrolador.
Passo 2: Monte a PCB

Esta PCB deve ser fácil de popular com componentes. Lembre-se de que o buzzer e o LED são componentes polarizados. O terminal mais longo do buzzer deve ir no pad redondo, e o mais curto no pad quadrado. O terminal mais longo do LED deve ir no furo oposto ao retângulo branco. A parte mais delicada é soldar o conector da bateria. Certifique-se de soldar todos os componentes na frente primeiro. Depois, você pode soldar o pino de terra do conector da bateria ao seu pad através do furo central do soquete DIP.
Também incluí um retângulo branco na serigrafia da PCB caso queira escrever uma pequena mensagem para a vítima :). Se quiser personalizar a PCB, apenas duplique meu design no circuits.io: https://circuits.io/circuits/2677013-annoying-circuit.
Passo 3: O Software
// Código produzido por Alex Wulff: https://www.AlexWulff.com
#define BUZZ 0
#define LED 1
#define BEEP_DELAY 30
#define LIGHT_DELAY 200
#define INITIAL 5000 // Valor em milissegundos.
// 10.000 ms resulta em tempo total de sequência de 46,5 segundos
// 20.000 ms resulta em tempo total de sequência de 91,5 segundos
// 30.000 ms resulta em tempo total de sequência de 136,5 segundos
// Você entende o padrão. Cada 10 segundos rende mais 45 segundos de tempo total na sequência.
void setup() {
// Inicializa pinos de saída
pinMode(BUZZ, OUTPUT);
pinMode(LED, OUTPUT);
// Pisca o LED para confirmar funcionamento
for (int i = 0; i < 5; i++) {
digitalWrite(LED, HIGH);
delay(LIGHT_DELAY);
digitalWrite(LED, LOW);
delay(LIGHT_DELAY);
}
}
void loop() {
// Itera 50 vezes, diminuindo o atraso do loop por um fator de 1/i a cada vez
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);
}
}
Acima está um programa de exemplo que demonstra algumas capacidades deste dispositivo. É também o programa rodando no vídeo mostrado no topo. O intervalo entre cada bip fica progressivamente menor, o que pode ficar realmente irritante! Você pode alterar a escala de tempo mudando INITIAL para algo muito maior. É até possível fazer isso rodar ao longo de uma semana, ficando progressivamente mais rápido a cada dia!
Você também poderia escrever um programa bem simples que apenas bipa e pisca aleatoriamente, ou fazer o buzzer tocar uma melodia curta sincronizada com o LED. As possibilidades são infinitas!
Criei uma simulação no Autodesk Circuits que permite testar seu sketch em um circuito virtual sem precisar ligar nada. Experimente aqui: https://circuits.io/circuits/4778452-the-annoy-o-bug-a-chirping-light-up-throwie/.
Passo 4: Programando o ATtiny85
Você pode programar seu ATtiny usando um Arduino Uno (ou praticamente qualquer dispositivo baseado em ATmega) e um capacitor de 10uF. Instruções aqui: https://www.hackster.io/arjun/programming-attiny85-with-arduino-uno-afb829.
Tenha cuidado ao remover o ATtiny do soquete DIP. Às vezes ajuda usar um alicate para puxá-lo em vez de tentar extrair com os dedos.
Passo 5: Posicionamento
Posicionar o dispositivo é metade da diversão. Dependendo de onde você compra as peças, cada unidade pode custar menos de $5; é relativamente barato fazer muitas delas. Elas são pequenas o suficiente para serem colocadas em vasos de plantas, caixinhas, travesseiros, dentro de luminárias, sobre mesas e em qualquer outro lugar que você imaginar! Se usar um watchdog timer para colocar o ATtiny em sleep, este circuito pode rodar por mais de um ano com uma bateria de moeda.
É isso! Se precisar de ajuda para criar um programa específico ou montar o circuito, apenas comente abaixo. Ficarei feliz em ajudar.
Para ver mais projetos meus, confira www.AlexWulff.com e https://www.hackster.io/AlexWulff.
Pequeno aviso: Devido à natureza deste projeto, é possível que alguns interpretem os sons que ele produz como uma possível ameaça explosiva. Portanto, não coloque estes em áreas públicas onde você possa ter problemas!
Código
Circuito Irritante (Arduino)
// Código produzido por Alex Wulff: https://www.AlexWulff.com
#define BUZZ 0
#define LED 1
#define INITIAL 5000
// 10.000 ms resulta em tempo total de sequência de 46,5 segundos
// 20.000 ms resulta em tempo total de sequência de 91,5 segundos
// 30.000 ms resulta em tempo total de sequência de 136,5 segundos
// Você entende o padrão. Cada 10 segundos rende mais 45 segundos de tempo total na sequência.
void setup() {
pinMode(BUZZ, OUTPUT);
pinMode(LED, OUTPUT);
// Pisca o LED para confirmar funcionamento
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);
}
}
Esquemáticos
Design da PCB
Disponível no link da OSH Park acima.
Processo de manufatura
- Drone Pi: Quadricóptero Multiwii & Raspberry Pi de Modo Duplo para Controle por Smartphone e Remoto
- Principais Componentes de uma Máquina CNC Explicados
- Elementos Essenciais de uma Comunicação de Crise Eficaz
- Kit MOSMusic: MOSFET, Arduino e Mais - Iluminação Sincronizada com Música
- Dominando Cross-Referencing: Guia para Precisão e Economia de Custos
- Componentes-Chave de um Sistema de Ar Comprimido Confiável
- Como a Modernização de Guindastes Transforma Componentes-Chave para Desempenho Máximo
- Peças Essenciais de Máquinas de Serra Fita de Coluna Dupla
- Dominando o Design de Peças Usinadas: Guia Abrangente
- Tendências de Mercado em Componentes Aeroespaciais e de Precisão para Aeronaves