Autor Wątek: DCS A-10C home cockpit  (Przeczytany 18828 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Odp: DCS A-10C home cockpit
« Odpowiedź #60 dnia: Grudnia 19, 2016, 22:41:03 »
Marcin, w tym układzie masz diody z 2 wyświetlaczy podłączone pod te same styki, ile zastosowałeś oporników 7 na każde złącze czy 14 przed każdą diodą ? Czy nie lepiej każdy wyświetlacz oddzielnie ?

ILS
#define DCSBIOS_IRQ_SERIAL
#include <SevenSeg.h>
#include <DcsBios.h>

SevenSeg disp2(A0, A1, A2, A3, A4, A5, 12);
SevenSeg disp3(A0, A1, A2, A3, A4, A5, 12);
 
  const int numOfDigits2 = 3;   
  const int numOfDigits3 = 2;   

  int digitPins2[] = {2,3,4};
  int digitPins3[] = {9,10};

DcsBios::StringBuffer<3> ilsKhzStrBuffer(0x116e, NULL);
DcsBios::StringBuffer<2> ilsMhzStrBuffer(0x1172, NULL);

void setup() {
    DcsBios::setup();
   disp2.setDigitPins(numOfDigits2, digitPins2);
   disp3.setDigitPins(numOfDigits3, digitPins3);
    }
 
 void loop() {
    DcsBios::loop();
        disp2.write(ilsKhzStrBuffer.getData());
        disp2.clearDisp();
        disp3.write(ilsMhzStrBuffer.getData());
        disp3.clearDisp();
    }



Latamy dzisiaj?

Oficer polityczny Padi-Van. (Prostak-1)

Offline Marcin_B

  • *
  • MABO
Odp: DCS A-10C home cockpit
« Odpowiedź #61 dnia: Grudnia 19, 2016, 22:45:57 »
Z tego co pamiętam to każdy z dwóch wyświetlaczy ma osobno do siedmiu segmentów własny rezystor - czyli w sumie 14.

Odp: DCS A-10C home cockpit
« Odpowiedź #62 dnia: Grudnia 19, 2016, 22:51:10 »
Jak widzisz ja zrobiłem tak, że każdy wyświetlacz ma swoje piny.
Latamy dzisiaj?

Oficer polityczny Padi-Van. (Prostak-1)

Offline Marcin_B

  • *
  • MABO
Odp: DCS A-10C home cockpit
« Odpowiedź #63 dnia: Grudnia 19, 2016, 23:00:18 »
Ale blokujesz większą liczbę wejść na Arduino - mi zależało na zmieszczeniu się w określonej ich liczbie.

Odp: DCS A-10C home cockpit
« Odpowiedź #64 dnia: Grudnia 19, 2016, 23:07:23 »
No ja ma Arduino Mega na ten cały panel, wyjść mi nie brakuje.
Latamy dzisiaj?

Oficer polityczny Padi-Van. (Prostak-1)

Odp: DCS A-10C home cockpit
« Odpowiedź #65 dnia: Grudnia 20, 2016, 18:34:26 »
Podłączyłem pierwszy wyświetlacz do Arduino Mega, tylko ten 4 polowy. Niestety już on sam strasznie miga, pulsuje.
Latamy dzisiaj?

Oficer polityczny Padi-Van. (Prostak-1)

Odp: DCS A-10C home cockpit
« Odpowiedź #66 dnia: Grudnia 20, 2016, 19:25:40 »
Rozdział 3.6 manuala do biblioteki:
http://sim.marebakken.com/SevenSeg.pdf

Oprócz przypisania pinów trzeba obliczyć i ręcznie ustawić opóźnienia dla kaźdego z wyświetlaczy. Może brak tego ustawienia powoduje, że miga.

Odp: DCS A-10C home cockpit
« Odpowiedź #67 dnia: Grudnia 20, 2016, 20:12:04 »
Rozdział 3.6 manuala do biblioteki:
http://sim.marebakken.com/SevenSeg.pdf

Oprócz przypisania pinów trzeba obliczyć i ręcznie ustawić opóźnienia dla kaźdego z wyświetlaczy. Może brak tego ustawienia powoduje, że miga.

Jesteś WIELKI  ;D !!!
U mnie razem jest aż 3 wyświetlacz, razem 9 cyfr.
Na podstawie tego wzoru, 9 # 100Hz = 900Hz .  1 podzielić przez 900Hz dało mi opóźnienie 1111 micro sekundy.
Dopisałem do kodu:

void setup() {
    DcsBios::setup();
   disp1.setDigitPins(numOfDigits1, digitPins1);
   disp1.setDigitDelay(1111);
   disp2.setDigitPins(numOfDigits2, digitPins2);
   disp2.setDigitDelay(1111);
   disp3.setDigitPins(numOfDigits3, digitPins3);
   disp3.setDigitDelay(1111);
    }

Teraz migotanie przeszło w drobne pływanie ale nie powoduje to już problemów z patrzeniem na wyświetlacz.
Chętnie bym postawił browara, ludzie są tu ZAJEFAJNI .

Jeszcze jedno pytanko, dałem do tego wyświetlacza oporniki 220 oma, czy jak dam 330 oma ( by zmniejszyć ich jasność ) to nic się nie stanie, tak jak w przypadku z normalnymi diodami ?
Latamy dzisiaj?

Oficer polityczny Padi-Van. (Prostak-1)

Odp: DCS A-10C home cockpit
« Odpowiedź #68 dnia: Grudnia 20, 2016, 20:34:47 »
Spróbuj pobawić się jeszcze wartością opóźnienia, może uda się wyeliminować nawet to pływanie.
Segmenty w wyświetlaczu to nic innego jak zwykłe LEDy, możesz regulować ich jasność wartością rezystorów.
Albo zanim chwycisz lutownicę, jeszcze raz do manuala i spróbuje ustawić jasność programowo - strona 14, ostatni akapit, np.:

disp1.setDutyCycle(50);
Nie wiem tylko, czy to działa w przypadku kilku osobnych wyświetlaczy, jak u Ciebie. Pewnie trzeba to ustawić dla wszystkich 3 szt.


Odp: DCS A-10C home cockpit
« Odpowiedź #69 dnia: Grudnia 20, 2016, 20:54:56 »
To też zdaje egzamin, zatem nie będę zmieniał rezystorów. Wielkie dzięki  :564: .
Latamy dzisiaj?

Oficer polityczny Padi-Van. (Prostak-1)

Odp: DCS A-10C home cockpit
« Odpowiedź #70 dnia: Grudnia 21, 2016, 21:04:41 »
Teraz mam inny problemik, nie mogę uruchomić poprawnie jednego przełącznika dźwigniowego.

Anticollision Lights

Input Interface: action Message: LCP_ANTICOLLISION PUSH Description: push and hold the switch in the ON position
DcsBios::ActionButton lcpAnticollisionPush("LCP_ANTICOLLISION", "PUSH", PIN);

Input Interface: action Message: LCP_ANTICOLLISION RELEASE Description: release the switch
DcsBios::ActionButton lcpAnticollisionRelease("LCP_ANTICOLLISION", "RELEASE", PIN);

Input Interface: action Message: LCP_ANTICOLLISION OFF Description: put the switch in the OFF position
DcsBios::ActionButton lcpAnticollisionOff("LCP_ANTICOLLISION", "OFF", PIN);

Output Type: integer Address: 0x1144 Mask: 0x0080 Shift By: 7 Max. Value: 1 Description: switch position -- 0 = off, 1 = on
void onLcpAnticollisionChange(unsigned int newValue) {
    /* your code here */
}
DcsBios::IntegerBuffer lcpAnticollisionBuffer(0x1144, 0x0080, 7, onLcpAnticollisionChange);

DcsBios::LED lcpAnticollision(0x1144, 0x0080, PIN);

Na wpisie DcsBios::ActionButton lcpAnticollisionPush("LCP_ANTICOLLISION", "PUSH", PIN);  owszem działa ale jakośdziwnie ( jak SWITCH (ON))

Zaś na wpisach :
DcsBios::ActionButton lcpAnticollisionRelease("LCP_ANTICOLLISION", "RELEASE", PIN);
DcsBios::ActionButton lcpAnticollisionOff("LCP_ANTICOLLISION", "OFF", PIN);

Nie chce działać wcale.

Próbowałem jeszcze przerobić ActionButton na Switch2Pos bo taki dokładnie tam jest przełącznik ale nic to też nie dało.

Latamy dzisiaj?

Oficer polityczny Padi-Van. (Prostak-1)

Odp: DCS A-10C home cockpit
« Odpowiedź #71 dnia: Grudnia 21, 2016, 21:39:38 »
Udało mi się zmusić do działania właściwego.
Dałem:
DcsBios::ActionButton lcpAnticollisionPush("LCP_ANTICOLLISION", "PUSH", PIN);    co włącza mi przełącznik i :
DcsBios::ActionButton lcpAnticollisionOff("LCP_ANTICOLLISION", "OFF", PIN);  co go wyłącza.
Niestety kosztem kolejnego pinu na Arduino, troszkę na około ale dział :) .
Latamy dzisiaj?

Oficer polityczny Padi-Van. (Prostak-1)

Odp: DCS A-10C home cockpit
« Odpowiedź #72 dnia: Stycznia 02, 2017, 17:49:49 »
Czy może ktoś się wie jak to zrobić ?

Chcę odpalić więcej diodek z jednej linijki.
DcsBios::LED mcLed(0x1012, 0x0800, 12);

Miałem nadzieję, że jak wpiszę więcej wejść w kod to zadziała np.:
DcsBios::LED mcLed(0x1012, 0x0800, 12, 13, 11);

Niestety nie udało się, zatem wykonałem parę wpisów takich samych ale z różnymi numerami:
DcsBios::LED mcLed(0x1012, 0x0800, 12);
DcsBios::LED mcLed(0x1012, 0x0800, 13);
DcsBios::LED mcLed(0x1012, 0x0800, 11);


Niestety to też nie zadziałało :( wyskakuje błąd  a po wgraniu w Arduino i tak świeci tylko dioda z pierwszej linijki.
Czy zostaje mi tylko przekaźnik do Arduino i 12V diody ? Tak mam zrobione3 cięgna przeciwpożarowe.

Ps. Przepraszam Marcin_B , że pytam ciągle o te rzeczy w twoim wątku ale jest tu już tyle istotnych i pomocnych informacji, że nie chcę już tego rozbijać...
Latamy dzisiaj?

Oficer polityczny Padi-Van. (Prostak-1)

Offline Marcin_B

  • *
  • MABO
Odp: DCS A-10C home cockpit
« Odpowiedź #73 dnia: Stycznia 02, 2017, 18:15:26 »
W Arduino nie możesz więcej niż 1x podać odniesienia do konkretnej funkcji - w tym przypadku 0x0800. Ja próbowałem to ugryźć przy innej okazji - kontrolki podwozia w Ka-50 i MiGu-21 mają takie same nazwy funkcji. Jak na razie nie udało mi się tego obejść.

Pozostaje Ci podłączyć te 3 ledy razem i dać do jednego pina.

Odp: DCS A-10C home cockpit
« Odpowiedź #74 dnia: Stycznia 02, 2017, 18:22:12 »
Trzy ledy to za wiele szeregowo, równolegle chyba też, obciążenie 1 pin-u w Arduino to chyba 40mA ? Mogę podłączyć dwie równolegle z jakimś opornikiem typu 66-100oma .
Latamy dzisiaj?

Oficer polityczny Padi-Van. (Prostak-1)