Bygg din egen (billigt!) multi-function Trådlös kamera controller. (5 / 22 steg)
Steg 5: Kommunikation med kameran
Vi kommer att använda IR-sändare för att skicka en signal till kameran. Följden av detta är det är trådlöst och det finns inget sätt du kan skada din kamera (till skillnad från ansluta saker till kamerans portar). Om du lyckas skada din kamera genom att peka en IR-sändare på det, så hoppas jag fan du inte tar din kamera utanför!
Programvara
Finns två stater som vi ska tävla, och detta gäller för alla kameror (faktiskt mer eller mindre alla IR kommunikation). Meddelanden skickas som ettor och nollor, toppar och dalar.
Först är läget, när vi skickar en logisk en, vi måste slå sändaren på och av snabbt. Vi modulera signalen. Olika tillverkare har olika krav för detta. Nikon är 38,4 kHz, Canon är något mindre. 38k är runt vad de flesta kameror använder. För att få denna modulering arbetar vi ut perioden (1/f) att veta att för, säg, Nikon behöver vi en/på cykel varje 26 mikrosekunder. Moduleringen är symmetrisk så på tar 13uS och tar off 13uS.
Nikon är (kudos till BigMike.it):
På för 2000uS
Off för 27830uS
På för 390uS
Off för 1580uS
På för 410uS
Off för 3580uS
På för 400uS
Sekvensen är pulserande en gång, är 63ms försenad, då det är pulsade igen och att bilden tas. Observera att de flesta av dessa tal är delbart med 13.
Canon är det (med 32kHz modulering - tack vare http://www.doc-diy.net/photo/rc-1_hacked/index.php):
16 cykler (30uS)
Paus för 7.3ms
16 cykler (30uS)
Mycket enklare.
Med ett korrekt förseningen bibliotek i koden, som de flesta av sekvenserna som Nikon är multiplar av 13, vi kan bara använda för loopar för att gå igenom dem för att få relevanta mängden i tid (tid är bara en normal fördröjning). Finns det några guider som föreslår att du använder församlingen för att få tidpunkten exakt, men doc-diy länken visar tidpunkten kan vara ganska långt bort och fortfarande producera en giltig trigger signal.
Dröjsmål biblioteket använder jag baserar sina förseningar från klockcykler (att veta processorns klockfrekvens och antalet klockcykler det tar för att utföra en viss funktion) så det är mycket exakt, men begränsat till din kristall noggrannhet.
Andra tillverkare
Om du har en annan kamera, helt enkelt ändra shoot(); funktion i den slutliga C kod. Det bör vara ganska lätt om du vet moduleringen och puls sekvensen.
Olympus: http://olyflyer.blogspot.com/2007/07/how-to-make-your-own-rm-1-compatible.html
Pentax: http://sourceforge.net/projects/prcf/ titta på källkoden för sekvensen
Hårdvara
Då vi kommer att använda en hög nuvarande utsläppskälla, vi kan inte bara dra det strömmen genom mikroprocessorn (se databladet för absolut högsta betyg). Vad vi ska göra istället är dra det direkt från batteriet med en elektronisk växel, MOSFET.
Till skillnad från en transistor som innebär krångliga beräkningar att få kollektor och emitter strömmar, få och så vidare, är MOSFETs förvånansvärt lätta att använda.
2N7000 jag rekommenderar att du köper är en grundläggande strömsnål "FET. Det finns många olika "FET som kan användas till att växla många ampere med mikrokontroller som bara skulle frazzle om de försökte dra denna typ av strömmen. Det finns tre delar den "FET, källan, Tor och avloppet.
Källa ledningen är ansluten till marken och porten är ansluten till mikrokontroller stift (jag bara ansluta dem rakt upp, men du kan alltid sätta ett motstånd i skull - kolla plasttransistorn). De komponenter som du vill aktivera är anslutna till power järnväg och till avloppet bly. När plasttransistorn nås på utfärda utegångsförbud för - dvs när mikro vänder på PIN-koden - den "FET börjar bedriva och fungerar som en tråd att slutföra kretsen mellan power järnväg och marken. För 2N7000 är tröskeln högst 3V, minst 0.8V.
Vi noterar också att avloppet-source motståndet (den "FET fungerar som en resistor överbrygga komponenterna till marken) är mycket liten - i storleksordningen 5R max. Även om detta är mycket liten, det kan betyda en märkbar nedgång i nuvarande över sändare - kan du kompensera genom att sänka värdet på motståndet som är i serie med sändaren. Detta motstånd, med den mycket användbar LED kalkylator () med 3V i, en framåt spänning (kontrollera den emmiter datablad) 1.7V och en ström på 80mA vara 18R. Du kan komma undan med en 12R, men skulle jag sticka med 18R att vara på den säkra sidan. Bild 1 visar hur kretsen är trådbunden upp
V + i detta fall är våra 3V järnväg. Som porten är att se 5V, skulle LED nu vara aktiverat.
Om du vill undersöka hur MOSFETs faktiskt arbetar och mer detaljerad teknisk information: