Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Annoy-O-Bug: Construa um Brinquedo Compacto de LED e Buzzer com ATtiny85

Componentes e Materiais

ComponenteQuantidadeObservações
PCB personalizado OSH Park1Link da placa
Buzzer1
LED (genérico)1
Resistor 330 ohm1
Bateria de moeda CR20321
Suporte para CR20321
Microchip ATtiny851
Soquete DIP de 8 pinos1
Arduino UNO1Apenas para programar o ATtiny
Capacitor 10 µF1Apenas para programar o ATtiny

Ferramentas e Máquinas Necessárias

Aplicativos e Serviços Online

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

Annoy-O-Bug: Construa um Brinquedo Compacto de LED e Buzzer com ATtiny85

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

Annoy-O-Bug: Construa um Brinquedo Compacto de LED e Buzzer com ATtiny85

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

  1. Drone Pi: Quadricóptero Multiwii & Raspberry Pi de Modo Duplo para Controle por Smartphone e Remoto
  2. Principais Componentes de uma Máquina CNC Explicados
  3. Elementos Essenciais de uma Comunicação de Crise Eficaz
  4. Kit MOSMusic: MOSFET, Arduino e Mais - Iluminação Sincronizada com Música
  5. Dominando Cross-Referencing: Guia para Precisão e Economia de Custos
  6. Componentes-Chave de um Sistema de Ar Comprimido Confiável
  7. Como a Modernização de Guindastes Transforma Componentes-Chave para Desempenho Máximo
  8. Peças Essenciais de Máquinas de Serra Fita de Coluna Dupla
  9. Dominando o Design de Peças Usinadas: Guia Abrangente
  10. Tendências de Mercado em Componentes Aeroespaciais e de Precisão para Aeronaves