| RcClub.eu https://rcclub.eu/ |
|
| Przełącznik kamer https://rcclub.eu/viewtopic.php?f=108&t=9185 |
Strona 1 z 1 |
| Autor: | darek_op [ piątek, 19 lutego 2016, 23:45 ] |
| Tytuł: | Przełącznik kamer |
Przełącznik umożliwia przełączanie trzech kamer z galwanicznym ich oddzieleniem. Przełączanie jest realizowane za pomocą dwóch przekaźników. Obraz z kamery numer 1 jest przekazywany na wyjście przy wyłączonych obydwu przekaźnikach, dzięki temu zmniejszamy do minimum pobór prądu. Sterowanie jest zrealizowane za pomocą ATTINY 45 która steruje przekaźnikami poprzez tranzystory . Tak wygląda schemat: Załącznik: Tak wygląda wsad do procesora (bardzo skomplikowany Kod: int stan; void setup() { pinMode(0, OUTPUT); pinMode(1, OUTPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, INPUT_PULLUP); } void loop(){//początek pętli głównej // sprawdzanie sygnału z nadajnika stan = pulseIn(4, HIGH); if ((stan < 1200)) { // minmum >> kamera 1 digitalWrite(0,LOW); digitalWrite(1,LOW); digitalWrite(2,LOW); digitalWrite(3,HIGH); } else if ((stan >1502)and(stan < 1601)){ // środek >> kamera 2 digitalWrite(0,LOW); digitalWrite(1,HIGH); digitalWrite(2,HIGH); digitalWrite(3,LOW); } else if (stan >1902) { // maximum >> kamera 3 digitalWrite(0,HIGH); digitalWrite(1,HIGH); digitalWrite(2,LOW); digitalWrite(3,LOW); } else { // // brak sygnału } }// koniec pętli głównej I na koniec zmontowany układ na płytce uniwersalnej o wymiarach 4x2 cm : Załącznik: DSC_1115.JPG [ 275.33 KiB | Przeglądane 4368 razy ] Z tego co mi wiadomo od testera układ działa |
|
| Autor: | darek_op [ piątek, 22 kwietnia 2016, 22:57 ] |
| Tytuł: | Re: Przełącznik kamer |
TA DAAM i jest nowa wersja przełacznika. Tym razem mozna podłaczyc do modułu cztery kamery, a sterowanie jest zrealizowane za pomoca przełacznika jednopozycyjnego. Przełacznik musi być tak ustawiony, aby przy pozycji OFF wychylenie serwa to minimum, natomiast przy OFF wychylenie 100%. Kamery przełaczane sa cyklicznie , czyli każde kliknięcie przełacznikiem z pozycji OFF do ON powoduje przełaczenie na kolejna kamerę. Mozna zaprogrammować ilośc kamer w zależności ile mamy ich w modelu, Jeżeli sa tylko dwie to programujemy przełacznik tak aby klikanie przełacznikiem przełaczało tylko dwie kamery. Schemat i płytka narysowana w EAGL-u. Załącznik: Schemat.jpg [ 91.69 KiB | Przeglądane 4081 razy ] Załącznik: Płytka.png [ 10.38 KiB | Przeglądane 4072 razy ] Załącznik: Elementy.png [ 6.7 KiB | Przeglądane 4072 razy ] Gotowa płytka przygotowana metoda żelazkową Załącznik: IMAG0203[1].jpg [ 278.04 KiB | Przeglądane 4081 razy ] oraz kod do procesora Kod: #include <EEPROM.h> #include <Button.h> Button guzik = Button(4, PULLUP); unsigned long StartTime = 0; unsigned long EndTime = 0; unsigned long EndTime1 = 0; boolean CzyZmiana= false; int IleKam=0; int StartRc; int ktora=1; int roznica=0; int ile; void setup() { pinMode(1, OUTPUT); //przekażnik PK1 pinMode(2, OUTPUT); //przekażnik PK2 pinMode(0, OUTPUT); // LED sygnalizacyjny pinMode(3, INPUT_PULLUP); //we RC pinMode(4, INPUT_PULLUP); //przycisk PRG digitalWrite(0,HIGH); delay(1000); digitalWrite(0,LOW); delay(1000); IleKam=EEPROM.read(0); if(IleKam>5) {IleKam=1;} for(ile=1;ile<=IleKam;ile++) { digitalWrite(0,HIGH); delay(200); digitalWrite(0,LOW); delay(200); } delay(1000); // pętla while czekająca 3000 (3sek)na wejście w programowanie EndTime1 = millis()+3000; while(millis()<=EndTime1) { digitalWrite (0,HIGH); delay(50); digitalWrite (0,LOW); delay(50); if(guzik.uniquePress()) {CzyZmiana=true; break; } } // koniec pętli while if(CzyZmiana&&true){wybieranie();}; } // koniec setup void loop() { // pętla główna StartRc=pulseIn(3,HIGH); delay(100); roznica=pulseIn(3,HIGH)-StartRc; if(roznica >300){ ktora++; if(ktora>IleKam){ktora=1;} zmiana(); } } //****************************************** void wybieranie() { digitalWrite(0,LOW); delay(300); CzyZmiana=false; //ustawienie warunku naciśnięcia przycisku IleKam=0; //numer programu na 1 while(CzyZmiana==false) { IleKam++; if(IleKam>4){IleKam=1;} for(ile=1;ile<=IleKam;ile++) { digitalWrite(0,HIGH); delay(200); digitalWrite(0,LOW); delay(200); } EndTime = millis()+1000; while(millis()<=EndTime) { if(guzik.uniquePress()) {EEPROM.write(0,IleKam); CzyZmiana=true; break; } } } // koniec while } //****************************************** void zmiana() { switch(ktora) { case 1: // kamera 1 digitalWrite (1,LOW); digitalWrite(2,LOW); break; case 2: // kamera 2 digitalWrite (1,LOW); digitalWrite(2,HIGH); break; case 3: // kamera 3 digitalWrite (1,HIGH); digitalWrite(2,LOW); break; case 4: // kamera 4 digitalWrite (1,HIGH); digitalWrite(2,HIGH); break; } } I filmik pokazujący zasadę działania. Płytka na której jest zmontowany przełacznik jest płytka prototypową. Ta zamieszczona powyżej jest trochę mniejsza. Czerwone ledy są wlutowane tylko na potrzeby pokazania działania przełaczania. Ich miejsce zajmą potrójne wtyki kolkowe na których jest wyprowadzone także zasilanie 12V. Przełącznik może mieć także inne zastosowania. |
|
| Autor: | Meloow [ piątek, 22 kwietnia 2016, 23:09 ] |
| Tytuł: | Re: Przełącznik kamer |
super układ, Darek czy rozważałeś zastosowanie układów z rodziny MAXIM'a (max4310 do max4315) pewnie udało bu się zminiaturyzować i odchudzić układ. przykładowy opis tutaj. http://www.vwlowen.co.uk/radio/videoswitch3/index.htm |
|
| Autor: | darek_op [ piątek, 22 kwietnia 2016, 23:20 ] |
| Tytuł: | Re: Przełącznik kamer |
Cały zmontowany układ waży 22g |
|
| Autor: | Andrzej_P [ sobota, 23 kwietnia 2016, 06:17 ] |
| Tytuł: | Re: Przełącznik kamer |
Rewelacja, chyba muszę dokupić kamer darek_op napisał(a): ... Przełącznik może mieć także inne zastosowania. Jakie ? |
|
| Autor: | Meloow [ sobota, 23 kwietnia 2016, 06:26 ] |
| Tytuł: | Re: Przełącznik kamer |
Np. odpalacz fajerwerkow Wysłane z mojego HTC One przy użyciu Tapatalka |
|
| Autor: | Stema [ sobota, 23 kwietnia 2016, 07:18 ] |
| Tytuł: | Re: Przełącznik kamer |
Andrzej_P napisał(a): Rewelacja, chyba muszę dokupić kamer darek_op napisał(a): ... Przełącznik może mieć także inne zastosowania. Jakie ? Zrzut cukierków dla dzieci co już było wcześniej proponowane. |
|
| Strona 1 z 1 | Strefa czasowa: UTC + 1 |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|