Flatulant Boss detektor (7 / 9 steg)

Steg 7: nu för den svåra biten.




Det är inte riktigt så knepigt om du vet lite om elektronik, men affären är att du måste använda utlösa signalen för att aktivera systemet. Du kan använda en one-shot timer, eller en komparator eller en 555 timer, men för mig, enklaste är att använda en 8-stifts mikro-controller. Jag använde en PIC Micro 12F675. Med det, kunde jag utlösa på input ändring av en PIN-kod, och blinka en röd lysdiod. Även om 5 personer går i vill jag inte det sak bli galen i 15 sekunder, så jag satte i ett 30 sekunders fördröjning så jag kunde slå en kill switch och stänga av. Så, jag ska bara snabbt-fwd och Visa slutresultatet av grej. Observera att jag täckt LED så att den fd chefen inte skulle se en ljus sväng på varje gång han barged i min ödmjuka 1/4 av ett skåp.

Denna bild är slutprodukten. Jag lämnar elektroniken som en övning för studenten.

Här är koden för PIC Micro 12F675:

;*****************************************************************************
; Filnamn: Flatulant_Boss
; Processor: 12F675
; Författare: Alan Mollick (alanmollick.com)
; Läge: Avbryta på GP2 förändring
;
; ~ GPIO REGISTRERAR ~
; GP0 = ingång--n/c
; GP1 = utgång--relay
; GP2 = INPUT--hög = rörelse upptäcks
; GP3 = ingång--n/c
; GP4 = utgång--röd LED
;*****************************************************************************
lista över p = 12F675; lista direktiv att definiera processor
#include < p12f675.inc >; processorn varierande definitioner
ERRORLEVEL-302; dölja meddelandet 302 från listan över
CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT

; ~ Variabler ~
w_temp EQU 0x20; variabel som används för ramen besparing
status_temp EQU 0x21; variabel som används för ramen besparing
hiB EQU 0x21; MSByte
lowB EQU 0x22; LSByte
Temp EQU 0x23
extra EQU 0x24
temp1 EQU 0x25; utlösa avbrott flagga
temp2 EQU 0x26
dröjsmål EQU 0x27; fördröjningstiden
Pins EQU 0x28; PIN staten
spare1 EQU 0x29
spare2 EQU 0x2a
greve EQU 0x2b; loop greve
count1 EQU 0x2c; yttre loopen greve
count2 EQU 0x2d; yttre loopen greve
D1 EQU 0x2e; dröjsmål counter
D2 EQU 0x2f; dröjsmål counter
D3 EQU 0x30; dröjsmål counter
D4 EQU 0x31; dröjsmål counter
;**********************************************************************

RESET_VECTOR ORG 0X000; processorn återställa vektor
gå till huvudsakliga; gå till början av program
INT_VECTOR ORG 0X004; avbrott vektor läge
movwf w_temp; spara av nuvarande W registrera innehållet
movf STATUS, w; flytta statusregistret till W register
movwf status_temp; besparing av innehållet i STATUS register

; ISR kod
kalla motion_detect; Skicka varningssignaler

banksel INTCON
BCF INTCON, ITF; Rensa GP2/INT flagga

movf status_temp, w; Hämta kopia av STATUS register
movwf STATUS, restaurera pre-isr STATUS register innehållet
swapf w_temp, f
swapf w_temp, w; återställa pre-isr W register innehållet
retfie; returnera från avbrott
;****************************************************************

huvudsakliga:; huvudprogrammet

; dessa första 4 instruktioner behövs inte om intern oscillator inte används
kalla 0x3FF; Hämta fabriken kalibreringsvärde
BSF STATUS, RP0; sätta filen register bank till 1
movwf OSCCAL; Uppdatera registret med fabriken cal värde
BCF STATUS, RP0; Anger filen register bank 0

;***********************************
; * Initiering *
;***********************************
; GP0 = inte används, GP1 = reläutgång, GP2 = input (motion detect),
; GP3 = ingång för cntrl/emergency cutoff, GP4 = utgång till LED-indikator,
; GP5 = inte används

; ställa in riktning I/O Pins
banksel TRISIO
movlw b '00000101'
; xx---inte genomfört
; --0---0 = utgång, GP5 = n/c
; ---0---0 = utgång, GP4 = LED
; ---x---inte används, GP3, tillägnad MCLR
; ---1--1 = ingång, GP2 rörelse upptäcks
; ---0-0 = utgång, GP1 = magnetventil
; ---1 1 = ingång GP0 = A/D
movwf TRISIO

; Ställ in A/D-omvandlare
banksel ANSEL
movlw b '00010000'
; x---inte genomfört
; -001---001 = Focs/8 konvertering klocka
; ---0---0 = digital I/O, GP4, Fosc/4 clockout för debug ändamål.
; ---0--0 = digital I/O, GP2
; ---0-0 = digital I/O, GP1, relä/etc
; ---0 0 = digital i/o, 1 = analoga GP0
movwf ANSEL

banksel ADCON0
movlw b '00000000'
; 0---1 = rätt motiverade resultat
; -0---0 = Vdd är spänning referens
; --xx---inte genomfört
; ---00--00 = välja kanal 0 (GP0)
; ---0-0 0 0/D omvandling inte startat
; ---0 0 = A/D-omvandlare-modulen är avstängd
movwf ADCON0

; initiera utgångsstift
init
banksel GPIO
movlw b '00000000'
movwf GPIO

; initiera avbryter
banksel INTCON
movlw b '00000000'
; 0---0 = global avbryter inaktiverad
; -0---1 = aktivera perifera avbryter
; --0---0 = inaktivera TMR0 overflow avbrott
; ---1---1 = aktivera GP2/INT yttre mellanjobb
; ---0---0 = inaktivera GPIO port förändring avbrott
; ---0--0 = ingen på TMR0 overflow
; ------0- 1=
; ---0 0 = ingen GPIO port förändring
movwf INTCON

; initiera avbrott på stift ändra GP2
banksel IOCEN
movlw b "00000100"
; x---inte genomfört
; -x---inte genomfört
; --0---0 = inaktivera GP5
; ---0---0 = inaktivera GP4
; ---0---0 = inaktivera GP3
; ---1--1 = aktivera GP2/INTR ***
; ---0-0 = inaktivera GP1
; ---0 0 = inaktivera GP0
movwf IOCEN

banksel PIE1
movlw b '00000000'
; 0---0 = inaktivera EE skriva komplett avbrott
; -0---0 = inaktivera A/D-omvandlare avbrott
; --xx---inte genomfört
; ---0---0 = komparator avbrott inaktiverad
; ---xx-inte genomfört
; ---0 1 = aktivera TMR1 overflow avbrott
movwf PIE1

banksel PIR1
movlw b '00000000'
; 0---0 = ingen EE skriva komplett
; -0---0 = ingen A/D omvandling komplett
; --xx---inte genomfört
; ---0---0 = ingen kontrollapparat avbrott
; ---xx-inte genomfört
; ---0 0 = ingen TMR1 overflow
movwf PIR1

;**********************************************************
; GP1 = utgång till relä
; GP4 = utgång till LED
;**********************************************************

banksel INTCON
BSF INTCON, INTE; Aktivera GP2-avbrott
BSF INTCON, GIE

Main_Loop:
; om GP2 = 1 sedan utgång varningssignaler på GP1, GP4 via avbrott

sömn
NOP
gå till Main_Loop

;**********************************************************
; Motion Detection avbrottshanterare
;
; GP1 = utgång till relä, GP4 = utgång till LED
;**********************************************************
motion_detect:
BSF GPIO, 1; vitalisera relä för 100 MSEK
kalla pause_100ms
BCF GPIO, 1; de-aktivera relä

BSF GPIO, 4. Aktivera LED för 0.5 sek.
kalla pause_500ms
BCF GPIO, 4
returnera

;**********************************************************
; Online dröjsmål kodgenerator
; http://massmind.org/techref/piclist/Codegen/Delay.htm
;**********************************************************

pause_100msec:
; Delay = 0.1 sekunder
; Klockfrekvensen = 4 MHz

movlw 0x1F; 99998 cykler
movwf d1
movlw 0x4F
movwf d2
Delay_100
decfsz d1, f
gå till $+ 2
decfsz d2, f
gå till Delay_100
gå till $+ 1; 2 cykler
returnera

pause_500msec:
; Delay = 0,5 sekunder
; Klockfrekvensen = 4 MHz
movlw 0x03; 499994 cykler
movwf d1
movlw 0x18
movwf d2
movlw 0x02
movwf d3
Delay_500
decfsz d1, f
gå till $+ 2
decfsz d2, f
gå till $+ 2
decfsz d3, f
gå till Delay_500

gå till $+ 1, 6 cykler
gå till $+ 1
gå till $+ 1
returnera

pause_1sec
; Delay = 1 sekunder
; Klockfrekvensen = 4 MHz

movlw 0x08; 999997 cykler
movwf d1
movlw 0x2F
movwf d2
movlw 0x03
movwf d3
Delay_1sec
decfsz d1, f
gå till $+ 2
decfsz d2, f
gå till $+ 2
decfsz d3, f
gå till Delay_1sec
gå till $+ 1, 3 cykler
NOP
returnera

;*****************************************************************************

Se Steg
Relaterade Ämnen

9V IR-detektor

detta är ett bra, enkla projekt att göra en liten och robust 9V IR-detektor. Det kan användas för att söka säkerhetskameror som använder infrarött ljus att "se" eller för att kontrollera om din fjärrkontroll fortfarande fungerar.Steg 1: Vad du b...

Bygga en Pocket joniserande strålning detektor (PIRD)

besök min youtube sida för cool projekt och mer: http://www.youtube.com/channel/UCksEFn8xaLP0z4rsiHa9zcA?feature=mheeI detta instructable jag kommer att visa hur man bygger en pocket strålning detektor eller "PIRD." Delarna för denna strålning d...

Boss TR2 C4 Mod

en mycket enkel mod att kompensera för minskade volymen på BOSS TR2 pedalen. Efter C4 mod lät TR2 en lite hård och lite stel (jag är en bit förlust av ord när det gäller som beskriver de ljud här). Jag gillar ljudet. Och den upplevda minskade volymen...

Barns Robot kostym med ljudeffekter, godis detektor och mer

jag gjorde min dotter denna robot kostym till halloween. Jag blev inspirerad av denna Kid Robot kostym. Jag tog mig i lite av en annan riktning och till några mer nyheter såsom lampor i antenner och öron, en big button-kontrollen med en ljudeffekt fö...

Custom 1969 Ford Mustang Boss 429

Hej alla, jag byggde denna anpassade 1969 Ford Mustang Boss 429 av LEGO. Det har huv scoop, sidan ventiler, främre och bakre spoiler, och bakre fönster lameller. Här är instruktionerna. Njut!Steg 1: Del CountTyvärr, denna del räkning har inte alla de...

Bygga din egen Ghost mätare/falska detektor av saker

är du i behov av en charlatan enhet att starta din egen kult, alternativ medicin kliniken, dowsing service eller paranormal undersökning grupp? DETTA ÄR ENHETEN FÖR DIG! Om du är tyngda av en moralisk kompass, som många av oss, är denna enhet också f...

Boss Monster infoga

Om du äger en kopia av både Boss Monster 1 och Boss Monster 2, då vet du att när du blandar upp alla kort, du är kvar med ett spel som inte riktigt passar bra i en av rutorna.Åtgärda problemet har jag utformat en insats som kommer att kombinera de tv...

Julerbjudande - Santa detektor och mer

God Jul!! Denna video visar dig hur man bygger din egna santa detektor med raspberry pi och vinkat systemet. Också det kommer att visa hur du använder bluetooth med raspberry pi och intel edison att kommunicera. Ta en kopp varm coco och sitta vid bra...

En mycket enkel närhet detektor

Gadget freaks, modell rallarna, roboticists eller katt-värdar kommer att älska mångsidigheten skarpa IS471 IR närheten detektorns. Det är storleken på en transistor fungerar över intervallet 4-16 volt och kan identifiera objekt om 4-9 inches bort av...

Lufta föroreningar detektor

Denna enhet är avsedd att förse användaren med ett kostnadseffektivt sätt att bestämma luftens kvalitet. Sensor fokuserar på de fem komponenterna i den Naturvårdsverkets Air Quality Index: ozon, partiklar, kolmonoxid, svaveldioxid och lustgas. Den hä...

Automatisk färg detektor med LDR

Detta är en guide för att bygga en automatisk färg detektor med LDR (light beroende motstånd). Detta är liten i storlek, och kan byggas på mindre än ett par minuter.Steg 1: Saker du behöverDu behöver följande-LDR (light beroende motstånd).LED-färgen...

Lätt, enkelt mörka detektor

Hej! I dag kommer du att bygga en mörk detektor. Det är lätt, enkelt och riktigt cool. Jag fick idén från en tidning och gjorde det till min egen. Detta är min första instructable, så jag hoppas du gillar det!Steg 1: DelarnaFör detta instructable, du...

Tömma vatten detektor

detta projekt är en "Tom vatten detektor" att berätta när vattnet är borta från ett fartyg - ursprungligen, jag konstruerade det för en julgran, men det kommer att fungera för hundens vattenskål eller bara om något annat.Reservdelslista220k Resi...

Metal detektor

Varför inte upptäcka den förlorade skatter av svunna civilisationer, (eller kanske glömda varor från en beachside part) med din egen metalldetektor? I detta Instructable, ska jag visa dig hur man bygger en metalldetektor som inte bara låter när du ha...

Coin slot detektor

av: amy khoshbinhennes hemsida: www.tinyscissors.com När din myntinkast utsätts, vibrerar denna bärbara hip-pack det området för att göra dig medveten om den. du bestämmer dig att täcka upp eller låter allt umgås.coin slot detektor är ett enkelt sätt...

Frekvens detektor PIC 12F683 Processor med

detta projekt beskriver maskin- och programvara har jag utvecklat som låter en liten 8 bitar PIC mikroprocessor kan fungera som en enda frekvens detektor eller tonen.En sådan krets kan användas för att påvisa förekomsten av en viss frekvens inom en a...

Väldigt blommig Cake Boss Cupcakes från scratch

jag var i en bokhandel nere i centrum när jag snubblade in på Cake Boss cook boken.Fantastiskt, jag har varit ett stort fan av showen Cake Boss men visste inte det fanns en Cake Boss cook bok.Så naturligtvis var jag tvungen att, verkligen var tvungen...

Coherer kärnvapenexplosion detektor

Det finns enheter med hög teknik dessa dagar som kan upptäcka en kärnvapenexplosion lätt, men vad om det finns ingen teknik på alla runt omkring dig!Ledsen för min gamla tekniklösning jag förlorade min lab i syriska kriget, för att alla mina instruct...

Raspberry Pi - TMD26721 infraröd Digital närhet detektor Python Tutorial

TMD26721 är en infraröd digital närhet detektor som ger en komplett närhet upptäckande och digitala gränssnitt logik i en enda 8-pin surface mount-modul. Avståndskontrollen inkluderar bättre signal-brus och noggrannhet. Ett närhet offset register kan...