Detector de Boss Flatulant: 9 etapas (com imagens)
Detector de Boss Flatulant: 9 etapas (com imagens)
Anonim
Detector de Flatulant Boss
Detector de Flatulant Boss
Detector Flatulant Boss
Detector Flatulant Boss

Quanto mais velho fico, menor fica meu cubículo. Na verdade, eu nem tenho um cubículo agora. Mas meu chefe costumava entrar sem ser detectado e me pegava fazendo pesquisas para alguma tarefa (WWW - para o chefe parecia navegar na web) e me dizia para trabalhar. Eu queria colocar um sino de vaca ao redor dele, mas tenho certeza de que ele não aceitaria, então tive que pensar em outra coisa. (note - o título deve ser "Flatulento".)

Passo 1: Compre este fabricante de ruído bacana por cerca de 6 dólares na seção de brinquedos da loja de alimentos

Comprei este fabricante de ruído bacana por cerca de 6 dólares na seção de brinquedos da loja de alimentos
Comprei este fabricante de ruído bacana por cerca de 6 dólares na seção de brinquedos da loja de alimentos

Você pode ler o pacote por si mesmo. Tem cerca de 6 "melodias" aleatórias diferentes. Mas, o item principal é o pequeno botão remoto RF que vem com ele.

Etapa 2: E eu encontrei esta pequena joia no WalMart por cerca de US $ 5,00

E eu encontrei esta pequena joia no WalMart por cerca de US $ 5,00
E eu encontrei esta pequena joia no WalMart por cerca de US $ 5,00

Obviamente, ele acende uma pequena luz (LED) quando o movimento é detectado e a sala fica escura. (Hmmmmm, eu me pergunto se eu poderia …)

Etapa 3: OK. Vamos abrir o sensor de movimento e dar uma olhada, veja …

OK. Vamos abrir o sensor de movimento e dar uma olhada, veja …
OK. Vamos abrir o sensor de movimento e dar uma olhada, veja …

Bem, eu rotulei tudo. A fotocélula (não mostrada, mas acredite, ela está lá) serve para evitar que a luz (LED) acenda durante o dia e, portanto, prolonga a vida útil da bateria.

A lente Fresnel existe para fornecer um amplo campo de visão para o sensor de movimento. Fresnel é pronunciado frie-nel, procure na Wikipedia para mais informações.

Etapa 4: vamos fazer alguns hackers

Vamos fazer um pouco de Hackin '
Vamos fazer um pouco de Hackin '

Primeiro, você vê aquele detector de movimento PIR. PIR significa "infravermelho passivo". Algumas pessoas o chamam de "Pyro infravermelho". Não sei por quê. Independentemente disso, não vamos hackear isso. Podemos precisar de algo mais tarde.

Em seguida, nós (bem, eu … mas o nós da realeza) cobrimos aquela fotocélula de que falei. Veja, eu quero que meu detector de chefe esteja ativo dia e noite. Então, ao cobri-lo, ele pensa que está no escuro mesmo quando as luzes estão acesas. Mas, acabamos de puxar a lã sobre seus olhos (na verdade, um olho) e ele / ela agora é mantido no escuro. E você pode ver que instalamos nossa própria fotocélula bem ao lado do LED. Esse pequeno truque nos permite saber quando o LED acende porque um movimento foi detectado. Claro que poderíamos ter instalado um fio do LED para atingir o mesmo propósito, mas onde está a graça nisso. A coisa divertida sobre hackear é hackear de forma diferente de outros hackers, como nos outros engenheiros elétricos. E isso torna seu hack um verdadeiro original.

Etapa 5: o circuito de fotocélula

O circuito de fotocélula
O circuito de fotocélula

A fotocélula, como a que você pode comprar na Radio Shack, tem uma resistência de cerca de 50k ohms sem exposição à luz e cerca de 5k ohms ou menos quando exposta a uma luz forte. Portanto, se usarmos um resistor em série com a fotocélula, que é apenas um resistor, e os ligarmos a uma fonte de tensão e aterrar, teremos um divisor de tensão. A partir daí, batendo entre os dois resistores fornece um sinal de tensão que vai alto ou baixo e pode ser usado para acionar um dispositivo. Neste caso, o detector de movimento usa 3 baterias AA, que é de 4,5 volts. E é assim que o circuito é conectado para fornecer o sinal necessário para acionar alguns outros componentes eletrônicos. Com o LED apagado, o sinal do circuito é de cerca de 1,7 volts, com o LED ligado, o sinal sobe para cerca de 3,5 volts, o que é suficiente para acionar um microcontrolador

Etapa 6: hackear o botão Whoopee do controle remoto

Hackeando o botão Whoopee do controle remoto
Hackeando o botão Whoopee do controle remoto

Há um botão, o que significa em algum lugar lá dois pinos, que quando em circuito fechado, faz com que a almofada whoopee faça a coisa. Os pinos são bastante óbvios, então não mostrei essa parte. Mas, eu fiz um pequeno orifício e passei um par de fios para os pinos do botão. E, usando um relé de palheta de 5v da Radio Shack, posso conectar os dois pinos energizando o relé de palheta.

Etapa 7: agora para a parte complicada

Agora para a parte mais complicada
Agora para a parte mais complicada

Não é tão complicado se você conhece um pouco de eletrônica, mas o negócio é que você precisa usar o sinal de gatilho para ativar o sistema. Você pode usar um cronômetro de disparo único, ou um comparador, ou um cronômetro 555, mas, para mim, a coisa mais fácil é usar um microcontrolador de 8 pinos. Usei um PIC Micro 12F675. Com isso, eu poderia acionar na mudança de entrada de um pino e piscar um LED vermelho. Além disso, se 5 pessoas entrarem, eu não quero que a coisa enlouqueça por 15 segundos, então coloquei um atraso de 30 segundos para que eu pudesse acionar um botão de desligamento e desligá-lo. Então, vou apenas avançar e mostrar o resultado final da engenhoca. Observe, cobri o LED para que o ex-chefe não visse uma luz acender toda vez que invadisse meu humilde 1/4 de cubículo. Esta foto é o produto final. Vou deixar a eletrônica como um exercício para o aluno. Aqui está o código do PIC Micro 12F675:; *************************** ***************************************************; Nome do arquivo: Flatulant_Boss; Processador: 12F675; Autor: Alan Mollick (alanmollick.com); Modo: Interromper na mudança de GP2;; ~ GPIO REGISTERS ~; GP0 = ENTRADA - n / c; GP1 = SAÍDA - relé; GP2 = ENTRADA - Alta = movimento detectado; GP3 = ENTRADA - n / c; GP4 = SAÍDA - LED vermelho; ****************************************** ************************************ lista p = 12F675; a diretiva list para definir o processador # include; definições de variáveis específicas do processador; nível de erro -302; suprimir a mensagem 302 da lista fileCONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT; ~ Variáveis ~ w_temp EQU 0x20; variável usada para salvar o contexto status_temp EQU 0x21; variável usada para salvar o contexto hiB EQU 0x21; MSBytelowB EQU 0x22; LSBytetemp EQU 0x23 EQU sobressalente 0x24 temp1 EQU 0x25; disparar interrupção flagtemp2 EQU 0x26 atraso EQU 0x27; timepins de atraso EQU 0x28; pin statespare1 EQU 0x29spare2 EQU 0x2acount EQU 0x2b; loop countcount1 EQU 0x2c; contagem de loop externo2 EQU 0x2d; loop externo countd1 EQU 0x2e; atraso counterd2 EQU 0x2f; atraso contadord3 EQU 0x30; atraso counterd4 EQU 0x31; contador de atrasos; ************************************************ ************************ RESET_VECTOR ORG 0x000; vetor de redefinição do processador goto principal; vá para o início do programaINT_VECTOR ORG 0x004; interromper a localização do vetor movwf w_temp; salvar o conteúdo do registro W atual movf STATUS, w; move o registrador de status para o registrador W movwf status_temp; salvar o conteúdo do registro STATUS; código isr chamada motion_detect; enviar sinais de alarme banksel INTCON bcf INTCON, INTF; limpar o sinalizador GP2 / INT movf status_temp, w; recuperar cópia do registro STATUS movwf STATUS; restaurar o conteúdo do registro STATUS pré-isr swapf w_temp, f swapf w_temp, w; restaurar o conteúdo do registro W pré-isr retfie; retornar da interrupção; ********************************************** ******************a Principal:; programa principal; essas 4 primeiras instruções não são necessárias se o oscilador interno não for usado, ligue para 0x3FF; recuperar o valor de calibração de fábrica bsf STATUS, RP0; definir banco de registro de arquivo para 1 movwf OSCCAL; atualizar o registro com o valor de calibração de fábrica bcf STATUS, RP0; definir banco de registro de arquivo para 0; ***********************************; * Inicialização *; *** ********************************; GP0 = não usado, GP1 = saída do relé, GP2 = entrada (detecção de movimento),; GP3 = entrada para cntrl / corte de emergência, GP4 = saída para o indicador LED; GP5 = não usado; configurar a direção dos pinos de I / O banksel TRISIO movlw b'00000101 '; xx ------ não implementado; --0 ----- 0 = saída, GP5 = n / c; --- 0 ---- 0 = saída, GP4 = LED; ---- x --- não usado, GP3, dedicado ao MCLR; ----- 1-- 1 = entrada, movimento GP2 detectado; ------ 0- 0 = saída, GP1 = válvula solenóide; ------- 1 1 = entrada GP0 = A / D movwf TRISIO; configurar o banco do conversor A / D ANSEL movlw b'00010000 '; x ------- não implementado; -001 ---- 001 = Relógio de conversão Focs / 8; ---- 0 --- 0 = E / S digital, GP4, Fosc / 4 clockout para fins de depuração.; ----- 0-- 0 = E / S digital, GP2; ------ 0- 0 = E / S digital, GP1, relé / etc; ------- 0 0 = E / S digital, 1 = GP0 analógico movwf ANSEL banksel ADCON0 movlw b'00000000 '; 0 ------- 1 = resultado justificado à direita; -0 ------ 0 = Vdd é a referência de tensão; --xx ---- não implementado; ---- 00-- 00 = selecione o canal 0 (GP0); ------ 0- 0 = conversão A / D não iniciada; ------- 0 0 = Módulo conversor A / D desligado movwf ADCON0; inicializar a saída pinsinit banksel GPIO movlw b'00000000 'movwf GPIO; inicializar interrupções banksel INTCON movlw b'00000000 '; 0 ------- 0 = interrupções globais desabilitadas; -0 ------ 1 = habilita interrupções periféricas; --0 ----- 0 = desabilita a interrupção de overflow TMR0; --- 1 ---- 1 = habilitar interrupção externa GP2 / INT; ---- 0 --- 0 = desativa a interrupção de mudança de porta GPIO; ----- 0-- 0 = não no overflow TMR0; ------ 0- 1 =; ------- 0 0 = nenhuma mudança de porta GPIO movwf INTCON; inicializar interrupção na alteração do pino GP2 banksel IOC movlw b'00000100 '; x ------- não implementado; -x ------ não implementado; --0 ----- 0 = desabilitar GP5; --- 0 ---- 0 = desabilitar GP4; ---- 0 --- 0 = desabilitar GP3; ----- 1-- 1 = habilitar GP2 / INTR *****; ------ 0- 0 = desabilitar GP1; ------- 0 0 = desabilitar GP0 movwf IOC banksel PIE1 movlw b'00000000 '; 0 ------- 0 = desabilita a interrupção completa da escrita EE; -0 ------ 0 = desabilita a interrupção do conversor A / D; --xx ---- não implementado; ---- 0 --- 0 = interrupção do comparador desabilitada; ----- xx- não implementado; ------- 0 1 = habilitar interrupção de estouro de TMR1 movwf PIE1 banksel PIR1 movlw b'00000000 '; 0 ------- 0 = nenhuma gravação EE completa; -0 ------ 0 = nenhuma conversão A / D concluída; --xx ---- não implementado; ---- 0 --- 0 = sem interrupção do comparador; ----- xx- não implementado; ------- 0 0 = nenhum estouro TMR1 movwf PIR1; *********************************** ************************; GP1 = saída para relé; GP4 = saída para LED; ******************************************** ************** banksel INTCON bsf INTCON, INTE; habilitar interrupção GP2 bsf INTCON, GIEMain_Loop:; se GP2 = 1 então emitir sinais de alarme em GP1, GP4 via interrupção do sono nop goto Main_Loop; ******************************* ***************************; Manipulador de interrupção de detecção de movimento;; GP1 = saída para relé, GP4 = saída para LED; ************************************* ******************** motion_detect: bsf GPIO, 1; energizar o relé por 100 mseg chamada pause_100ms bcf GPIO, 1; desativar relé bsf GPIO, 4; ativar o LED por 0,5 seg. chamar pause_500ms bcf GPIO, 4 return; ******************************************* ****************; Gerador de código de atraso online; https://massmind.org/techref/piclist/codegen/delay.htm;********************************** ************************** pause_100msec:; Atraso = 0,1 segundos; Frequência de clock = 4 MHz movlw 0x1F; 99998 ciclos movwf d1 movlw 0x4F movwf d2Delay_100 decfsz d1, f goto $ + 2 decfsz d2, f goto Delay_100 goto $ + 1; 2 ciclos returnpause_500msec:; Atraso = 0,5 segundos; Frequência de relógio = 4 MHz movlw 0x03; 499994 ciclos movwf d1 movlw 0x18 movwf d2 movlw 0x02 movwf d3Delay_500 decfsz d1, f goto $ + 2 decfsz d2, f goto $ + 2 decfsz d3, f goto Delay_500 goto $ + 1; 6 ciclos goto $ + 1 ir para $ + 1 returnpause_1sec; Atraso = 1 segundo; Frequência de relógio = 4 MHz movlw 0x08; 999997 ciclos movwf d1 movlw 0x2F movwf d2 movlw 0x03 movwf d3Delay_1sec decfsz d1, f goto $ + 2 decfsz d2, f goto $ + 2 decfsz d3, f goto atrasa_1sec goto $ + 1; 3 ciclos nop Retorna;************************************************ *****************************

Etapa 8: Palavras finais

Palavras finais
Palavras finais

Esta foto é uma forma de esconder tudo.

Nota - usando um microcontrolador, o número de variações neste instrutível é ilimitado. Você pode posicionar o alto-falante de forma que o som saia por trás de seu chefe. Ou você pode vinculá-lo ao sistema de PA da empresa. Você pode até mesmo fazer o sistema pingar seu computador e ter uma página relacionada ao trabalho aparecendo em 1/10 de segundo para que sempre que seu ex-chefe, ou qualquer outra pessoa entrar em seu perímetro, haja sempre uma planilha ou documento técnico que você deveria estar trabalhando. E 24 horas por dia, 7 dias por semana … qualquer pessoa que entre no seu cubículo, ou saia dele, pode dizer que você está ferrado a cada segundo do dia. Isso o torna um funcionário de alto valor. Você é um maldito workaholic. Além disso, você realmente não precisa da lente Fresnel. Na verdade, para detecção de chefe, é melhor removê-lo, caso contrário, as pessoas dentro do seu cubículo se movendo irão detoná-lo. Você pode tirar a lente de Fresnel e colocar um pedaço de 1 polegada de tubo de PVC (1/2 polegada de diâmetro de Home Depot) no detector PIR e isso lhe dará um campo de visão muito estreito, como diretamente em sua porta (assumindo você tem uma porta), mas o sensor funciona tão bem. Seu alcance é de cerca de 5-10 pés sem a lente Fresnel. Você também pode remover o detector PIR e, usando 3 fios, colocar o detector em qualquer lugar para ocultá-lo. Você pode até comprar um módulo de som por 6 dólares e gravar seus próprios sons. Você pode usar o sinal internacional para "o chefe está se aproximando", que está limpando sua garganta. E você pode alterá-lo todas as manhãs. Ou grave o som de você digitando febrilmente, etc. Aqui está um efeito sonoro que fiz com aquela almofada whoopee, e executei no meu computador, editei com o Audacity e usei para um hack Easy Button que eu poderia fazer um dia.

Etapa 9: uma variação

Uma variação
Uma variação

Aqui está outro detector de boss baseado no mesmo conceito. Além disso, alguém queria um vídeo, então colocarei um vídeo para isso em breve. O detector para este é obviamente um Robo Sapien acoplado a um detector de movimento da Home Depot. Quando o movimento é detectado, o robô envia um sinal IR para a gaiola onde há um detector de 38 kHz escondido. O mecanismo do pássaro tem várias opções. Todas as opções são selecionáveis individualmente, mas com tudo ligado, o pássaro começa a girar, chilrear, com um LED piscando. Também adicionei um LED vermelho superbrilhante montado embaixo que pisca 4 vezes para que você saiba que alguém está vindo sem toda a raquete. Este também tem um atraso de 30 segundos e você pode desativar tudo simplesmente levantando o lápis. O lápis tem um ímã na extremidade que, quando inserido no comedouro para pássaros, ativa o circuito por meio de um pequeno relé magnético de palheta. A única diferença real neste sistema é que eu não usei o truque da fotocélula. Há um amplificador operacional quádruplo no detector de movimento, e acabei de desligar o pino de saída do estágio final. Comprei várias dessas coisas de pássaros em uma farmácia porque estavam à venda por 5 dólares cada. Em seguida, adicionei pedras e vegetação para esconder o detector de infravermelho, fiz uma caixinha de cerejeira e apliquei verniz para esconder a bateria AA extra de que precisava. A coisa funciona com 2 pilhas AA e é ativada por som. Eu o tornei menos sensível ao som e precisava da bateria extra porque o detector de 38 kHz que usei precisava de pelo menos 4,5 volts, o que significa 3 baterias. O detector de movimento foi feito para ser conectado a uma tomada de parede, então cortei a parte grande da placa de circuito e agora ele funciona com uma bateria de 9v instalada onde a lâmpada estava localizada.

Aqui está um link para um vídeo deste. Vídeo