dalkova spoust pro zrcadlovku
Úvodní stránka › Fórum › Vaše projekty › Arduino › dalkova spoust pro zrcadlovku
Označeno štítky: senzor pohybu 433 mhz transmitter reciever
- Toto téma obsahuje celkem 28 odpovědí. Do diskuze (2 diskutující) se naposledy zapojil uživatel
posjirka a poslední změna proběhla před 7 roky a 8 měsíci.
-
AutorPříspěvky
-
25.11.2016 v 20:14 #9301
fidos
ÚčastníkAhoj
obracim se na Vas s prosbou o radu, kde muze byt chyba v zapojeni dalkove spouste. Sestavil jsem podle navodu viz. :
http://www.instructables.com/id/Motion-Triggered-DSLR-Remote-System/
krom toho, ze jsem pouzil jine soucastky, nez ma on :
senzor pohybu: HC-SR501
433Mhz RF Transmitter + Receiver: http://www.dx.com/p/433mhz-rf-transmitter-module-receiver-module-link-kit-for-arduino-arm-mcu-wl-green-220194#.WDhmgdThBQJ
Jeden ochotny clovek mi poradil s kodem pro transmitter :
#include <VirtualWire.h>
#define PIN_MOTION 2
#define PIN_LIGHT 13
#define PIN_TX 12char *message;
void setup() {
pinMode(PIN_LIGHT, OUTPUT);
pinMode(PIN_MOTION, INPUT);digitalWrite(PIN_LIGHT, LOW);
vw_set_ptt_inverted(true);
vw_set_tx_pin(PIN_TX);
vw_setup(1200);delay(1000);
}void loop(){
byte input = digitalRead(PIN_MOTION);if (input == HIGH){
digitalWrite(PIN_LIGHT, HIGH);message = „1“ ;
vw_send((uint8_t *)message, strlen(message));
vw_wait_tx();
delay(1000);
}
else{
digitalWrite(PIN_LIGHT, LOW);
}
}ktery se zda, ze funguje – nevim to jiste, jen vim, ze pri detekci pohybu se rozsviti ledka a snad i posila signal (nevim jak overit)
Dejme tomu, ze odesila.
Kod pro reciever jsem pouzil ze stranek autora projektu a to tento :
/*———————————————————————————-
Motion Activated DSLR Shutter Remote
Receiver Sketch (433mHz Serial RX)
Written By: Angelo Casimiro (ASCAS/ TechBuilder)
Date Written: October 18, 2014Pin Configuration:
– Digital#12 of Arduino to Data Out of RX module
– Digital#11 of Arduino to IR LED
———————————————————————————-*/
#include <multiCameraIrControl.h>
#include <VirtualWire.h>Canon D5(11);
void setup()
{
vw_set_ptt_inverted(true);vw_set_rx_pin(12);
vw_setup(4000);vw_rx_start();unsigned int data = 0;
pinMode(13, OUTPUT);
pinMode(11, OUTPUT);
}
void loop(){uint8_t buf[VW_MAX_MESSAGE_LEN];uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)){
if(buf[0]==’1′){
digitalWrite(13,1);
D5.shutterNow();
}
if(buf[0]==’0′){
digitalWrite(13,0);
}
}
}ale transmitter pravdepodobne nic neprijima – nerosvicuje ir ani led na desce.
Jinak jsem zkousel samotne zapojit transmitter a reciever, zda komunikuji a zda se ze funguji. Jen bylo videt, ze signal je ruseny.
Proto se Vas tazi, kde muze byt chyba?
Na zaver musim rict, ze jsem zacatecnik a programovani neni moje silna stranka 🙂
27.11.2016 v 14:41 #9307posjirka
Účastníktakže:
– máš rozdílné komunikační rychlosti (v setup() máš jednou vw_setup(4000); podruhé vw_setup(1200);)
– 433 Mhz je standardní řešení, jen je třeba dávat si pozor na napájení (aby to utáhlo vysílač). Pro vyšší výkon se dává vyšší napětí (tuším až okolo 9-12V) ale je to potřeba podívat se na datasheet tvého řešení.Nejsou všechyn stejné.
– nevím jak máš řešenou anténu. Její provedení výrazně ovlivňuje chování celého řešení hlavně pro dosah.
– když chceš něco odladit nech si vypsat na seriový port/monitor co ti vlastně přijímá.1.12.2016 v 0:16 #9348fidos
ÚčastníkDik za odpoved… upravil jsem rychlosti a funguje to 🙂 Akorat neplni funkci – ir ledka se rosviti, ale nespusti fotak… tak nevim proc
1.12.2016 v 7:44 #9349posjirka
Účastníknech si vypsat co ti přijímá . viz exampl na stránkách tvůrce knihovny:
https://www.pjrc.com/teensy/td_libs_VirtualWire.htmlurčitě bych použil více než 1 znak. zrovna „1“ se vcelku blbě hledá v tom co ti bude chodit v návalu rušení.
1.12.2016 v 14:11 #9356fidos
Účastníknemuze to bejt ir ledkou, sice sviti, ale neznam presne jeji parametry?
…pak tady sem nasel kod, ktery by mel fungovat i pro moji zrcadlovku, ale v autorove zapojeni (pouze deska + ir led) :
Bit of a learning curve but spent the day looking into how to get the Canon 5DMkII and 7D MkII to work.
With an infrared detector and an Arduino sketch I found that the RC-6 remote from Canon outputs a 500uS burst, a delay of 6940us and then another 500uS burst. I then used a IR Led at 940nm – modified a sketch to send these bursts and lo and behold – it works.
The RC-6 is used for a number of Canon Dslr’s so should cover a few more models for your libraryclass CanonRC6{
public:
CanonRC6(int pin);
void shutterNow();
private:
int _pin;
int _freq;
};CanonRC6::CanonRC6(int pin)
{
pinMode(pin, OUTPUT);
_pin = pin;
_freq = 33;
}void CanonRC6::shutterNow()
{
for(int i=0; i<16; i++) {
digitalWrite(_pin, HIGH);
delayMicroseconds(15);
digitalWrite(_pin, LOW);
delayMicroseconds(15);
}
delayMicroseconds(6940);
for(int i=0; i<16; i++) {
digitalWrite(_pin, HIGH);
delayMicroseconds(15);
digitalWrite(_pin, LOW);
delayMicroseconds(15);
}
}Zkousel se nahrat jeho knihovnu (download viz. jeho blog) a nic se nezmenilo.
2.12.2016 v 8:01 #9368posjirka
Účastníkto se klidně může stát. IR LED má mimo jiné parametr jako vlnová délka. může být špatně nastavená i nosná frekvence a foťák ji pak nedetekuje. Jak píšeš, že jsi zkoušel ten „přímý“ program arduino- foťák a nefunguje , tak bych to na nesprávnou IR LED i typnul.
2.12.2016 v 8:09 #9369posjirka
Účastníkuž an neumím česky 🙂 … samozřejmě tipnul …
2.12.2016 v 19:02 #9373fidos
Účastníktak ledku sem vymenil dokonce primo z ovladace rc-6 nespousti. Tim padem to musi bejt v uprave knihovny multiCameraControl nebo VirtualWire, ale netusim jak to mam upravit
2.12.2016 v 19:07 #9374fidos
Účastníktak ledku sem vymenil dokonce primo z ovladace rc-6 a nespousti. Tim padem to musi bejt v uprave knihovny multiCameraControl nebo VirtualWire, ale netusim jak to mam upravit
2.12.2016 v 20:47 #9375posjirka
Účastníktak to zapoj jak to měl ten sebastian – z arduina přímo na ir led …
2.12.2016 v 22:50 #9376fidos
Účastníkjo tak podle jeho zapojeni to funguje, ale na mym projektu, kdyz pripojim ledku na reciever, tak to nefunguje. Jak je to mozny, kdyz spusti ledku vlastne stejne jako u Sebastiana?
3.12.2016 v 23:22 #9385posjirka
Účastníknapadá mě varianta … zda knihovna virtual Wire nepoužívá stejné časovače/přerušení jako knihovna pro IR/foták…. jak budu mít chvilku zkusím se na to podívat…
9.12.2016 v 10:34 #9440fidos
Účastníkcau, jak to presne myslis?
10.12.2016 v 18:49 #9462posjirka
Účastníktak jsem se konečně dostal no to tvoje řešení.
knihovny se netlučkou – vždyť to fungovalo v instructable.com , ale zaráží mě 2 věci:
1- spouštíš vysílač na urovńi HIGH. Ty opravdu připojuješ +5V přímo na pin? to je celkem sebevražda.
Vždy se dává odpor (1k0) mezi pin a +5V a pak se tlačítkem ten pin přizemní (takže úroveń LOW)
2 – proč máš pauzu 1000 ms (vysílač) ,po odelslání signálu, když v originále bylo 10ms. Takže mohl ten signál odeslat několikrát a pak byla větší pravdepodobnost, že se chytí.
JKeslti chceš omezit počet semoutí, tak to nech až u přijímače.11.12.2016 v 11:52 #9469fidos
ÚčastníkPauzu uz sem zkousel nastavit na 10ms, ale stejny. Vysilac mam zapojeny primo na +5V, proc se tam musi davat odpor? Jinak nerozumim “ a pak se tlačítkem ten pin přizemní “ – dam odpor na +5V a co dal?
-
AutorPříspěvky
- Pro reakci na toto téma se musíte přihlásit.