Chcel by som sa poradit, ohladom tejto vecicky, ma to byt senzor na fotenie burky/bleskov na arduine, s niekym kto vie viac a s tymto robi. Niesom zbehly vo wiring/c++ mam to doma 4. den. Chcel som co najjednoduchsie poriesit detekciu blesku bez ohladu na okolote osvetlenie, pri fototranzistore s potenciometrom by bolo trebo stale nieco stelovat a aj tak by to nefungovalo poriadne... Tak by som sa chcel spytat, ze ci to co som zmotal je vhodne riesenie? Urcite sa to da spravit lepsie/efektivnejsie, ale toto je proste v ramci mojich doterajsich vedomosti Pravdepodobne by to malo byt ok.
Ide o 2 fotorezistory, jeden namiereny smerom na burku, druhy inde... Arduino bude vyhodnocovat rozdiel medzi hodnotami s tychto senzorov a ked doshiahne urcitu hodnotu, tak cvakne... Doma na stole mi to funguje dobre
Udajne:
- dlzka vyboja blesku je 200-300ms (neviem, ci pocitali samotne vybitie blesku do zeme, alebo komplet od zaciatku...) - shutter lag na 50D je okolo 120ms - refresh v programe mam nastaveny na 10ms - + nekake ms v samotnom arduine a niekde po ceste do fotaku
(v programe je docasne pouzity aj displej, ktory tam v neskor uz nebude, je tam iba pre jednoduchsie overenie fungovania...)
Tak ak sa niekto najde, tak vopred dik za nejaku reakciu
#include // importuje kniznicu LiquidCrystal LiquidCrystal LCD1(2,3,4,5,6,7); // definicia pinov pre LCD int senPin1 = 0; // fotorezistor 1 pin 0 int sen1_value = 0; // fotorezistor 1 hodnota int senPin2 = 1; // fotorezistor 2 pin 1 int sen2_value = 0; // fotorezistor 2 hodnota int shutterPin = 8; // vystup na uzavierku int prefocusPin = 9; // vystup na predostrenie
void setup() {
LCD1.begin(16, 2); // typ displeja 16x2 digitalWrite(prefocusPin,HIGH); // predostrenie 1
}
void loop() {
float out_value = sen1_value - sen2_value; // rozdiel fotorezistor1, fotorezistor2
if (out_value 0) // ak je hodnota vacsia ako 0 digitalWrite(shutterPin,LOW); // uzavierka 0
sen1_value = analogRead(senPin1); // cita hodnotu z fotorezistoru 1 LCD1.setCursor(0,0); // nastaví kurzor na displej LCD1.print("S1= "); // napíše text S1 = LCD1.print(sen1_value); // napíše hodnotu S1
sen2_value = analogRead(senPin2); //cita hodnotu z fotorezistoru 2 LCD1.setCursor(9,0); // nastaví kurzor na displej LCD1.print("S2= "); // napíše text S2 = LCD1.print(sen2_value); // napíše hodnotu S2
LCD1.setCursor(0,2); // nastaví kurzor na displej LCD1.print("S1 - S2 = "); // napíše text S1 -S2 = LCD1.print(out_value); // napíše hodnotu
chbali tam nejake riadky... asi niekde po ceste medzi ctrl+c/ctrl+v sa nieco stratilo
#include // importuje kniznicu LiquidCrystal LiquidCrystal LCD1(2,3,4,5,6,7); // definicia pinov pre LCD int senPin1 = 0; // fotorezistor 1 pin 0 int sen1_value = 0; // fotorezistor 1 hodnota int senPin2 = 1; // fotorezistor 2 pin 1 int sen2_value = 0; // fotorezistor 2 hodnota int shutterPin = 8; // vystup na uzavierku int prefocusPin = 9; // vystup na predostrenie
void setup() {
LCD1.begin(16, 2); // typ displeja 16x2 digitalWrite(prefocusPin,HIGH); // predostrenie 1
}
void loop() {
float out_value = sen1_value - sen2_value; // rozdiel fotorezistor1, fotorezistor2
if (out_value 0) // ak je hodnota vacsia ako 0 digitalWrite(shutterPin,LOW); // uzavierka 0
sen1_value = analogRead(senPin1); // cita hodnotu z fotorezistoru 1 LCD1.setCursor(0,0); // nastaví kurzor na displej LCD1.print("S1= "); // napíše text S1 = LCD1.print(sen1_value); // napíše hodnotu S1
sen2_value = analogRead(senPin2); //cita hodnotu z fotorezistoru 2 LCD1.setCursor(9,0); // nastaví kurzor na displej LCD1.print("S2= "); // napíše text S2 = LCD1.print(sen2_value); // napíše hodnotu S2
LCD1.setCursor(0,2); // nastaví kurzor na displej LCD1.print("S1 - S2 = "); // napíše text S1 -S2 = LCD1.print(out_value); // napíše hodnotu
A ako si to doma testoval ? Fotografickym bleskom ? Pretoze (prirodny) blesk ma omnoho nizsiu intenzitu a zmena vodivosti fotorezistoru bude preto minimalna, co A/D prevodniku Arduina asi stacit nebude. Lepsie je na detekciu bleskov pouzit detekciu elektromagnetickeho impulzu blesku, ktory sa da snimat napriklad feritovou antenou alebo kratkou drotovou antenou (samozrejme umiestnenou vnutri aby do nej neudrel blesk). Bude ale treba znizit citlivost, aby to snimalo len blizke blesky (bezna citlivost takychto detektorov su desiatky km) a samozrejme to urobi snimku aj vtedy ak udrie blesk blizko, ale nebude pred objektivom. Na internete je mnozstvo schem, staci hladat "lightning detector schematics".
chbali tam nejake riadky... asi niekde po ceste medzi ctrl+c/ctrl+v sa nieco stratilo
#include // importuje kniznicu LiquidCrystal LiquidCrystal LCD1(2,3,4,5,6,7); // definicia pinov pre LCD int senPin1 = 0; // fotorezistor 1 pin 0 int sen1_value = 0; // fotorezistor 1 hodnota int senPin2 = 1; // fotorezistor 2 pin 1 int sen2_value = 0; // fotorezistor 2 hodnota int shutterPin = 8; // vystup na uzavierku int prefocusPin = 9; // vystup na predostrenie
void setup() {
LCD1.begin(16, 2); // typ displeja 16x2 digitalWrite(prefocusPin,HIGH); // predostrenie 1
}
void loop() {
float out_value = sen1_value - sen2_value; // rozdiel fotorezistor1, fotorezistor2
if (out_value 0) // ak je hodnota vacsia ako 0 digitalWrite(shutterPin,LOW); // uzavierka 0
sen1_value = analogRead(senPin1); // cita hodnotu z fotorezistoru 1 LCD1.setCursor(0,0); // nastaví kurzor na displej LCD1.print("S1= "); // napíše text S1 = LCD1.print(sen1_value); // napíše hodnotu S1
sen2_value = analogRead(senPin2); //cita hodnotu z fotorezistoru 2 LCD1.setCursor(9,0); // nastaví kurzor na displej LCD1.print("S2= "); // napíše text S2 = LCD1.print(sen2_value); // napíše hodnotu S2
LCD1.setCursor(0,2); // nastaví kurzor na displej LCD1.print("S1 - S2 = "); // napíše text S1 -S2 = LCD1.print(out_value); // napíše hodnotu
delay(100); // reload
}
Pozerajúc na tento text ma napadlo, že omylom ma to hodilo na interný portál elektrárne v Jaslovských Bohuniciach...potom mi svitlo, že je to len o bleskoch...
Pozerajúc na tento text ma napadlo, že omylom ma to hodilo na interný portál elektrárne v Jaslovských Bohuniciach...potom mi svitlo, že je to len o bleskoch...
no s nastupom digitalu a kadejakych basmekov sa moznosti troska rozsirili
Pozerajúc na tento text ma napadlo, že omylom ma to hodilo na interný portál elektrárne v Jaslovských Bohuniciach...potom mi svitlo, že je to len o bleskoch...
Nestras, ak by mali Jaslovske Bohunice interny system zalozeny na Arduine, tak si idem hned kopat protiatomovy kryt.
1) Ja by som tie fotorezistory zapojil do serie ako napatovy delic,, tym by malo byt zabezpecene, ze ked Jeden uvidi blesk, bude zmena hodnoty dostatocne velka a nebudes to musiet ladit potenciometrom.
2) vyhod ten delay a testovacie vypisy, mozes koli tomu premeskat zablesk, ak chces testovacie vypisy, aktualizuj ich len obcas (castejsie ako raz za sekundu ich aj tak nestihnes precitat).
3) ak budes pouzivat predsklopenie zrkadla skratis shutter lag
1) Ja by som tie fotorezistory zapojil do serie ako napatovy delic,, tym by malo byt zabezpecene, ze ked Jeden uvidi blesk, bude zmena hodnoty dostatocne velka a nebudes to musiet ladit potenciometrom.
2) vyhod ten delay a testovacie vypisy, mozes koli tomu premeskat zablesk, ak chces testovacie vypisy, aktualizuj ich len obcas (castejsie ako raz za sekundu ich aj tak nestihnes precitat).
3) ak budes pouzivat predsklopenie zrkadla skratis shutter lag
Dik moc... 2) a 3) mi je jasne, tie vypisy to bola len pomocka pre mna (ved 3 dni dozadu som to vybalil z krabice ), ked som to robil... s predskopenim som pocital, ale nevedel som, ci tie casy su len cisto uzavierka, alebo pocitaju aj so zrkadlom.... a co sa tyka potenciometra, ten tam je len koli tomu displeju - kontrast. tak aspon viem, ze to neni az taka blbost co som spravil, povodne som sa snazil s jednym fotorezistorom, urcite sa to da, ale neviem ako mozno by sa dal priebezne pocitat nejaky priemer a porovnat ho s tym skokom pri blesku, ale urcite by to predlzilo cas...
som dufal, ze sa ozves Dik. inak ako si na tom s tym vozitkom?
chbali tam nejake riadky... asi niekde po ceste medzi ctrl+c/ctrl+v sa nieco stratilo
#include // importuje kniznicu LiquidCrystal LiquidCrystal LCD1(2,3,4,5,6,7); // definicia pinov pre LCD int senPin1 = 0; // fotorezistor 1 pin 0 int sen1_value = 0; // fotorezistor 1 hodnota int senPin2 = 1; // fotorezistor 2 pin 1 int sen2_value = 0; // fotorezistor 2 hodnota int shutterPin = 8; // vystup na uzavierku int prefocusPin = 9; // vystup na predostrenie
void setup() {
LCD1.begin(16, 2); // typ displeja 16x2 digitalWrite(prefocusPin,HIGH); // predostrenie 1
}
void loop() {
float out_value = sen1_value - sen2_value; // rozdiel fotorezistor1, fotorezistor2
if (out_value 0) // ak je hodnota vacsia ako 0 digitalWrite(shutterPin,LOW); // uzavierka 0
sen1_value = analogRead(senPin1); // cita hodnotu z fotorezistoru 1 LCD1.setCursor(0,0); // nastaví kurzor na displej LCD1.print("S1= "); // napíše text S1 = LCD1.print(sen1_value); // napíše hodnotu S1
sen2_value = analogRead(senPin2); //cita hodnotu z fotorezistoru 2 LCD1.setCursor(9,0); // nastaví kurzor na displej LCD1.print("S2= "); // napíše text S2 = LCD1.print(sen2_value); // napíše hodnotu S2
LCD1.setCursor(0,2); // nastaví kurzor na displej LCD1.print("S1 - S2 = "); // napíše text S1 -S2 = LCD1.print(out_value); // napíše hodnotu
delay(100); // reload
}
Hneď mi to bolo podozrivé,tie riadky naozaj chýbali.Čítanie inak zaujímavé...domnievam sa,že vrahom je záhradník.Či?
1) Ja by som tie fotorezistory zapojil do serie ako napatovy delic,, tym by malo byt zabezpecene, ze ked Jeden uvidi blesk, bude zmena hodnoty dostatocne velka a nebudes to musiet ladit potenciometrom.
2) vyhod ten delay a testovacie vypisy, mozes koli tomu premeskat zablesk, ak chces testovacie vypisy, aktualizuj ich len obcas (castejsie ako raz za sekundu ich aj tak nestihnes precitat).
3) ak budes pouzivat predsklopenie zrkadla skratis shutter lag
MLU možno pomôže pri niektorých foťákoch ale nie pri všetkých. Pred chvíľou som to meral s D750 a nezávisle od toho či je alebo nie je MLU, tak to bolo stále medzi 59 a 60ms
prečo si nedáš fotodiodu na zosilňovač ovládať priamo relátko, a špičkami budeš ovládať priamo foťák. dostaneš sa na reakčné časy 5ms. toto ale asi nebude fungovať cez deň nemusíš nič programovať ale zase budeš musieť nastavovať špičky
prečo si nedáš fotodiodu na zosilňovač ovládať priamo relátko, a špičkami budeš ovládať priamo foťák. dostaneš sa na reakčné časy 5ms. toto ale asi nebude fungovať cez deň nemusíš nič programovať ale zase budeš musieť nastavovať špičky
Dik, no mal tom to aj takto spravene fototranzistor + SSR, ale stale cosi stelovat... a to arduino budem mat univerzalnejsie na viac veci, meteostanica, kontrola klimy vo florariu atd.. a ked to budem mat hotove, tak to bude na mensej doske (arduino nano) a nasuniem to priamo na fotak.
Namier fotak na burku, poriadne zaclon a fot niekolkosekundove snimky. A hned na to dalsiu a dalsiu. S tymto som mal velku, takmer 100% istotu ze blesky chytim. Navyse aj viacero na jednu snimku.
Namier fotak na burku, poriadne zaclon a fot niekolkosekundove snimky. A hned na to dalsiu a dalsiu. S tymto som mal velku, takmer 100% istotu ze blesky chytim. Navyse aj viacero na jednu snimku.
Ved hej, toto skusil asi kazdy a je to v pohode, ked je tma.... vtedy tam moze byt velka uspesnost, ale urcite nie, ked je vonku este ake take svetlo a cas dlhsi napr ako 3s sa uz neda pouzit, lebo by ti zaniklo vela mensich slabsich vybojov... A ked cvakas tak kratke casy, urcite ti vela toho ujde... skor chcem nieco univerzalnejsie a hlavne vzdy nechcem byt pri tom, ked bude vonku peklo a nebude sa kde skryt dost sa pri fotaku nasedim, ked je pekne, taketo pocasie si rad pozrem aj s poza okna..
Ved hej, toto skusil asi kazdy a je to v pohode, ked je tma.... vtedy tam moze byt velka uspesnost, ale urcite nie, ked je vonku este ake take svetlo a cas dlhsi napr ako 3s sa uz neda pouzit, lebo by ti zaniklo vela mensich slabsich vybojov... A ked cvakas tak kratke casy, urcite ti vela toho ujde... skor chcem nieco univerzalnejsie a hlavne vzdy nechcem byt pri tom, ked bude vonku peklo a nebude sa kde skryt dost sa pri fotaku nasedim, ked je pekne, taketo pocasie si rad pozrem aj s poza okna..
A ako si to doma testoval ? Fotografickym bleskom ? Pretoze (prirodny) blesk ma omnoho nizsiu intenzitu a zmena vodivosti fotorezistoru bude preto minimalna, co A/D prevodniku Arduina asi stacit nebude. Lepsie je na detekciu bleskov pouzit detekciu elektromagnetickeho impulzu blesku, ktory sa da snimat napriklad feritovou antenou alebo kratkou drotovou antenou (samozrejme umiestnenou vnutri aby do nej neudrel blesk). Bude ale treba znizit citlivost, aby to snimalo len blizke blesky (bezna citlivost takychto detektorov su desiatky km) a samozrejme to urobi snimku aj vtedy ak udrie blesk blizko, ale nebude pred objektivom. Na internete je mnozstvo schem, staci hladat "lightning detector schematics".
dik, sorry som vtedy prebehol tvoju odpoved... hej, o tomto viem, takisto chcem nieco na detekciu bliziacej sa burky, toto mi tiez pomoze co si pisal... citlive by to malo byt dost, netestoval som to s bleskom, len som porovnaval, aka mala zmena jasu je treba aby vznikol rozdiel, ktory by sa dal pouzit a myslim, ze je to dost.... pripadne nieje problem na odpor, ktory bude namiereny smerom na burku spravit optiku a rozdiel bude este vacsi... alebo pouzit nieco s vacsou plochou, ako boli tie prilozene odpory za par centov dik este raz
Fotenie burky/senzor
Chcel by som sa poradit, ohladom tejto vecicky, ma to byt senzor na fotenie burky/bleskov na arduine, s niekym kto vie viac a s tymto robi.
Niesom zbehly vo wiring/c++ mam to doma 4. den. Chcel som co najjednoduchsie poriesit detekciu blesku bez ohladu na okolote osvetlenie,
pri fototranzistore s potenciometrom by bolo trebo stale nieco stelovat a aj tak by to nefungovalo poriadne...
Tak by som sa chcel spytat, ze ci to co som zmotal je vhodne riesenie?
Urcite sa to da spravit lepsie/efektivnejsie, ale toto je proste v ramci mojich doterajsich vedomosti
Pravdepodobne by to malo byt ok.
Ide o 2 fotorezistory, jeden namiereny smerom na burku, druhy inde...
Arduino bude vyhodnocovat rozdiel medzi hodnotami s tychto senzorov a ked doshiahne urcitu hodnotu, tak cvakne...
Doma na stole mi to funguje dobre
Udajne:
- dlzka vyboja blesku je 200-300ms (neviem, ci pocitali samotne vybitie blesku do zeme, alebo komplet od zaciatku...)
- shutter lag na 50D je okolo 120ms
- refresh v programe mam nastaveny na 10ms
- + nekake ms v samotnom arduine a niekde po ceste do fotaku
(v programe je docasne pouzity aj displej, ktory tam v neskor uz nebude, je tam iba pre jednoduchsie overenie fungovania...)
Tak ak sa niekto najde, tak vopred dik za nejaku reakciu
#include // importuje kniznicu LiquidCrystal
LiquidCrystal LCD1(2,3,4,5,6,7); // definicia pinov pre LCD
int senPin1 = 0; // fotorezistor 1 pin 0
int sen1_value = 0; // fotorezistor 1 hodnota
int senPin2 = 1; // fotorezistor 2 pin 1
int sen2_value = 0; // fotorezistor 2 hodnota
int shutterPin = 8; // vystup na uzavierku
int prefocusPin = 9; // vystup na predostrenie
void setup() {
LCD1.begin(16, 2); // typ displeja 16x2
digitalWrite(prefocusPin,HIGH); // predostrenie 1
}
void loop() {
float out_value = sen1_value - sen2_value; // rozdiel fotorezistor1, fotorezistor2
if (out_value 0) // ak je hodnota vacsia ako 0
digitalWrite(shutterPin,LOW); // uzavierka 0
sen1_value = analogRead(senPin1); // cita hodnotu z fotorezistoru 1
LCD1.setCursor(0,0); // nastaví kurzor na displej
LCD1.print("S1= "); // napíše text S1 =
LCD1.print(sen1_value); // napíše hodnotu S1
sen2_value = analogRead(senPin2); //cita hodnotu z fotorezistoru 2
LCD1.setCursor(9,0); // nastaví kurzor na displej
LCD1.print("S2= "); // napíše text S2 =
LCD1.print(sen2_value); // napíše hodnotu S2
LCD1.setCursor(0,2); // nastaví kurzor na displej
LCD1.print("S1 - S2 = "); // napíše text S1 -S2 =
LCD1.print(out_value); // napíše hodnotu
delay(10); // refresh time
}
#include // importuje kniznicu LiquidCrystal
LiquidCrystal LCD1(2,3,4,5,6,7); // definicia pinov pre LCD
int senPin1 = 0; // fotorezistor 1 pin 0
int sen1_value = 0; // fotorezistor 1 hodnota
int senPin2 = 1; // fotorezistor 2 pin 1
int sen2_value = 0; // fotorezistor 2 hodnota
int shutterPin = 8; // vystup na uzavierku
int prefocusPin = 9; // vystup na predostrenie
void setup() {
LCD1.begin(16, 2); // typ displeja 16x2
digitalWrite(prefocusPin,HIGH); // predostrenie 1
}
void loop() {
float out_value = sen1_value - sen2_value; // rozdiel fotorezistor1, fotorezistor2
if (out_value 0) // ak je hodnota vacsia ako 0
digitalWrite(shutterPin,LOW); // uzavierka 0
sen1_value = analogRead(senPin1); // cita hodnotu z fotorezistoru 1
LCD1.setCursor(0,0); // nastaví kurzor na displej
LCD1.print("S1= "); // napíše text S1 =
LCD1.print(sen1_value); // napíše hodnotu S1
sen2_value = analogRead(senPin2); //cita hodnotu z fotorezistoru 2
LCD1.setCursor(9,0); // nastaví kurzor na displej
LCD1.print("S2= "); // napíše text S2 =
LCD1.print(sen2_value); // napíše hodnotu S2
LCD1.setCursor(0,2); // nastaví kurzor na displej
LCD1.print("S1 - S2 = "); // napíše text S1 -S2 =
LCD1.print(out_value); // napíše hodnotu
delay(100); // reload
}
Pretoze (prirodny) blesk ma omnoho nizsiu intenzitu a zmena vodivosti fotorezistoru bude preto minimalna, co A/D prevodniku Arduina asi stacit nebude.
Lepsie je na detekciu bleskov pouzit detekciu elektromagnetickeho impulzu blesku, ktory sa da snimat napriklad feritovou antenou alebo kratkou drotovou antenou (samozrejme umiestnenou vnutri aby do nej neudrel blesk). Bude ale treba znizit citlivost, aby to snimalo len blizke blesky (bezna citlivost takychto detektorov su desiatky km) a samozrejme to urobi snimku aj vtedy ak udrie blesk blizko, ale nebude pred objektivom.
Na internete je mnozstvo schem, staci hladat "lightning detector schematics".
#include // importuje kniznicu LiquidCrystal
LiquidCrystal LCD1(2,3,4,5,6,7); // definicia pinov pre LCD
int senPin1 = 0; // fotorezistor 1 pin 0
int sen1_value = 0; // fotorezistor 1 hodnota
int senPin2 = 1; // fotorezistor 2 pin 1
int sen2_value = 0; // fotorezistor 2 hodnota
int shutterPin = 8; // vystup na uzavierku
int prefocusPin = 9; // vystup na predostrenie
void setup() {
LCD1.begin(16, 2); // typ displeja 16x2
digitalWrite(prefocusPin,HIGH); // predostrenie 1
}
void loop() {
float out_value = sen1_value - sen2_value; // rozdiel fotorezistor1, fotorezistor2
if (out_value 0) // ak je hodnota vacsia ako 0
digitalWrite(shutterPin,LOW); // uzavierka 0
sen1_value = analogRead(senPin1); // cita hodnotu z fotorezistoru 1
LCD1.setCursor(0,0); // nastaví kurzor na displej
LCD1.print("S1= "); // napíše text S1 =
LCD1.print(sen1_value); // napíše hodnotu S1
sen2_value = analogRead(senPin2); //cita hodnotu z fotorezistoru 2
LCD1.setCursor(9,0); // nastaví kurzor na displej
LCD1.print("S2= "); // napíše text S2 =
LCD1.print(sen2_value); // napíše hodnotu S2
LCD1.setCursor(0,2); // nastaví kurzor na displej
LCD1.print("S1 - S2 = "); // napíše text S1 -S2 =
LCD1.print(out_value); // napíše hodnotu
delay(100); // reload
}
Ja by som tie fotorezistory zapojil do serie ako napatovy delic,, tym by malo byt zabezpecene, ze ked Jeden uvidi blesk, bude zmena hodnoty dostatocne velka a nebudes to musiet ladit potenciometrom.
2) vyhod ten delay a testovacie vypisy, mozes koli tomu premeskat zablesk, ak chces testovacie vypisy, aktualizuj ich len obcas (castejsie ako raz za sekundu ich aj tak nestihnes precitat).
3) ak budes pouzivat predsklopenie zrkadla skratis shutter lag
Ja by som tie fotorezistory zapojil do serie ako napatovy delic,, tym by malo byt zabezpecene, ze ked Jeden uvidi blesk, bude zmena hodnoty dostatocne velka a nebudes to musiet ladit potenciometrom.
2) vyhod ten delay a testovacie vypisy, mozes koli tomu premeskat zablesk, ak chces testovacie vypisy, aktualizuj ich len obcas (castejsie ako raz za sekundu ich aj tak nestihnes precitat).
3) ak budes pouzivat predsklopenie zrkadla skratis shutter lag
som dufal, ze sa ozves Dik. inak ako si na tom s tym vozitkom?
#include // importuje kniznicu LiquidCrystal
LiquidCrystal LCD1(2,3,4,5,6,7); // definicia pinov pre LCD
int senPin1 = 0; // fotorezistor 1 pin 0
int sen1_value = 0; // fotorezistor 1 hodnota
int senPin2 = 1; // fotorezistor 2 pin 1
int sen2_value = 0; // fotorezistor 2 hodnota
int shutterPin = 8; // vystup na uzavierku
int prefocusPin = 9; // vystup na predostrenie
void setup() {
LCD1.begin(16, 2); // typ displeja 16x2
digitalWrite(prefocusPin,HIGH); // predostrenie 1
}
void loop() {
float out_value = sen1_value - sen2_value; // rozdiel fotorezistor1, fotorezistor2
if (out_value 0) // ak je hodnota vacsia ako 0
digitalWrite(shutterPin,LOW); // uzavierka 0
sen1_value = analogRead(senPin1); // cita hodnotu z fotorezistoru 1
LCD1.setCursor(0,0); // nastaví kurzor na displej
LCD1.print("S1= "); // napíše text S1 =
LCD1.print(sen1_value); // napíše hodnotu S1
sen2_value = analogRead(senPin2); //cita hodnotu z fotorezistoru 2
LCD1.setCursor(9,0); // nastaví kurzor na displej
LCD1.print("S2= "); // napíše text S2 =
LCD1.print(sen2_value); // napíše hodnotu S2
LCD1.setCursor(0,2); // nastaví kurzor na displej
LCD1.print("S1 - S2 = "); // napíše text S1 -S2 =
LCD1.print(out_value); // napíše hodnotu
delay(100); // reload
}
Ja by som tie fotorezistory zapojil do serie ako napatovy delic,, tym by malo byt zabezpecene, ze ked Jeden uvidi blesk, bude zmena hodnoty dostatocne velka a nebudes to musiet ladit potenciometrom.
2) vyhod ten delay a testovacie vypisy, mozes koli tomu premeskat zablesk, ak chces testovacie vypisy, aktualizuj ich len obcas (castejsie ako raz za sekundu ich aj tak nestihnes precitat).
3) ak budes pouzivat predsklopenie zrkadla skratis shutter lag
nemusíš nič programovať ale zase budeš musieť nastavovať špičky
nemusíš nič programovať ale zase budeš musieť nastavovať špičky
Pretoze (prirodny) blesk ma omnoho nizsiu intenzitu a zmena vodivosti fotorezistoru bude preto minimalna, co A/D prevodniku Arduina asi stacit nebude.
Lepsie je na detekciu bleskov pouzit detekciu elektromagnetickeho impulzu blesku, ktory sa da snimat napriklad feritovou antenou alebo kratkou drotovou antenou (samozrejme umiestnenou vnutri aby do nej neudrel blesk). Bude ale treba znizit citlivost, aby to snimalo len blizke blesky (bezna citlivost takychto detektorov su desiatky km) a samozrejme to urobi snimku aj vtedy ak udrie blesk blizko, ale nebude pred objektivom.
Na internete je mnozstvo schem, staci hladat "lightning detector schematics".
zaregistrujte sa a presvedčte o mnohých z výhod byť členom