Page 1 of 2 12 LastLast
Results 1 to 10 of 11
  1. #1
    300+ Forum Addict Tom_G_2010's Avatar
    Join Date
    Mar 2011
    Location
    Central Mass
    Posts
    437
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    My Cessna 172RG Annunciator Panel

    So, After another long absence from the forum I thought I would post a few updates.

    Since the last time I posted much has happened to include getting the dedicated room for my Sim about 80% done and moving the fuselage in. With that I was able to accelerate the build. I'm putting on a push to get as much functionality in place as possible by June when my sim will be put on display at the New England Air Museum for the weekend during this years Flight Sim Con 2015.

    At present I have three of my Arduino cards installed and functioning.
    1. Annunciator Panel
    2. Elevator Trim/Auto Pilot trim servo
    3. Whiskey Compass


    I'll make some separate posts for the Elevator Trim and the Whiskey Compass and keep this post focused on the Annunciator Panel.

    The number of LEDs I needed to drive required a Mega, 28 in total. I also wanted to have a lamp test switch that would power them all at the same time, but I didn't want to risk overloading the Mega. To make all that happen I used a proto shield to hold my dropping resistors and a pair of diodes per LED that allow my to send a separate power feed to the LEDs for test without any risk of back feeding the Arduino. At $50 for a Mega as compared to about $5 worth of diodes I didn't want to experiment with its tolerance for having all the Digital pins shorted to a 5V rail. It may be a non issue, but so was soldering up the diodes.

    Additionally, the LEDS are grouped into two common grounds that run back through a pair of relays, one for Master Bus Voltage and the other for Avionics bus voltage. The two relays are triggered by the presence of either voltage so the annunciators only function when the sim says appropriate voltage is available.

    So here are some pics and my code. Any and all comments, critiques, or feedback are welcome.

    Please pose all questions in the form of a compliment.

    This is my original test bench breadboard.
    2013-02-25_13-01-19_459.jpg

    After I worked out the code and the diode matrices here's what the finished setup looks like.
    10941442_416150461878157_8823448710697757147_n.jpg10384234_416150445211492_4597892994849556668_n.jpg10421622_416150638544806_8227155059103009592_n.jpg10354091_416150848544785_6860778857748835815_n.jpg

    And here's the proto-shield with the dropping resistors, diodes, and the wiring harnesses.
    20150126_223822.jpg20150126_223842.jpg20150126_223911.jpg

    I just hit the file upload limit for a single post so I'll add the rest of the pics in a reply to this post.
    https://www.facebook.com/mycessnasim PC: Intel Core i7 Haswell @ 3.8GHz, 8Gb Ram, Win 7 64Bit, dual SSDs, GeFroce 780 SIM: FSX w/Aclrtn Pk, FSUIPC4, ASN, UTX, GEX, REX 4

  2. Likes BuzziBi liked this post
  3. #2
    300+ Forum Addict Tom_G_2010's Avatar
    Join Date
    Mar 2011
    Location
    Central Mass
    Posts
    437
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Re: My Cessna 172RG Annunciator Panel

    After building and testing it all I mounted the Arduino on the engine side of the firewall and installed the Annunciators in the instrument panel. The Mega with Shield on top can be seen in the last pic, with the relay board to the left of it.
    20150127_082441.jpg10940481_414726275353909_1343219955223378467_n.jpg20150127_082249.jpg20150127_082627.jpg

    The board also drives the LEDS on my Audio Selector panel which I still need to build. And, a couple miscileneous functions like my stall warning horn and Hobbs Meter relay. I also realized after completing it that I never wrote the code for the gear up warning annunciator LED so I have that on my million item punch list as well.

    And, here's the code that's driving it all.

    Code:
    //A set of arrays to assign the various character strings from Link2FS-Multi to the appropriae digital outputs
    int anctrDgOutLED[9] = {48, 48, 48, 50, 52, 47, 49, 51, 53};// the selected pins with LED's
    char anctrExt[9] = {'B','C','D','N','P','F','G','J','K'};//Selected items in "Annunciators" in Multi
    
    
    int comAudPnlDgOutLED[8] = {39,40,41,42,43,44,45,46};// the selected pins with LED's
    char comAudPnlExt[8] = {'M','N','O','P','Q','R','S','U'};//Selected items in "ComAudioPanel" in Multi
    
    
    int markerDgOutPin[3] = {36,37,38};// the selected pins with LED's
    
    
    int anctrDgOutValNew[9] = {0,0,0,0,0,0,0,0,0};//Array for pin values (The new readings)
    int anctrDgOutValOld[9] = {0,0,0,0,0,0,0,0,0};//Array for pin values (The old readings)
    
    
    int comAudPnlLEDNew[8] = {0,0,0,0,0,0,0,0};//Array for pin values (The new readings)
    int comAudPnlLEDOld[8] = {0,0,0,0,0,0,0,0};//Array for pin values (The old readings)
    
    
    int count = 0; //for array reading
    int counterTrigger = 0;// Used for triggering the flashing LED's
    int counterTriggerOld = 0;
    long counter = 1; // Counter for read loops TO TIME THE FLASHING
    int CodeIn;// Gets the serial read
    int AnctrAlrmPiezo = 28;
    int anctrAlrmButton = 29;// the cancell alarm button in the Annunciator panel
    int anctrAlrmCncl = 0;//Used for cancelling alarms if fault disappears before pushing button
    int StallHornPiezo = 27;
    int LampTestSwitch = 31;
    
    
    //Relay outputs
    int rlyHobbsMeter = 22;
    int rlyLampTestVlt = 23;
    int rlyMainBusVoltGnd = 26;
    int rlyAvncsBusVoltGnd = 25;
    
    
    String mstrBusVoltLast = "00.0";
    String avncsBusVoltLast = "00.0";
    String mstrBusVolt;
    String avncsBusVolt;
    String EngineCount = "1";
    String LampTestSwitchLast = "Off";
    
    
    String gearRtbl;
    boolean gearRtblFlg;
    String gearStatusNose;
    String gearStatusLeft;
    String gearStatusRight;
    int gearIntNose = 0;
    int gearIntLeft = 0;
    int gearIntRight = 0;
    
    
    int gearNosLED = 32;
    int gearLftLED = 33;
    int gearRgtLED = 34;
    int gearTrstLED = 35;
    
    
    String stallWarningStatus;
    int stallWarning = 0;
    int stallWarningLast = 1;
    
    
    int ExtInt; // Extraction String converted to Integer
    
    
    void setup(){
    
    
      for (count=0;count<9;count++) {// loop thru declarations using for loop
        // Be careful with the above line.(Dont involve a pin that will have a switch on it ,, it can fry your pin or card)
        pinMode(anctrDgOutLED[count], OUTPUT);
        digitalWrite(anctrDgOutLED[count], LOW); 
      }
    
    
      for (count=0;count<8;count++) {
        pinMode(comAudPnlDgOutLED[count], OUTPUT);
        digitalWrite(comAudPnlDgOutLED[count], LOW); 
      }
    
    
      for (count=0;count<3;count++) {
        pinMode(markerDgOutPin[count], OUTPUT);
        digitalWrite(markerDgOutPin[count], LOW); 
      }
    
    
      pinMode(AnctrAlrmPiezo, OUTPUT);
      digitalWrite(AnctrAlrmPiezo, LOW); 
      pinMode(anctrAlrmButton, INPUT); // Cancell button on anctrnciators 
      digitalWrite(anctrAlrmButton, HIGH);
    
    
      pinMode(LampTestSwitch, INPUT);  
      digitalWrite(LampTestSwitch, HIGH);
    
    
      pinMode(StallHornPiezo, OUTPUT);
      digitalWrite(StallHornPiezo, LOW); 
    
    
      pinMode(gearNosLED,OUTPUT);
      digitalWrite(gearNosLED,LOW);
      pinMode(gearLftLED,OUTPUT);
      digitalWrite(gearLftLED,LOW);
      pinMode(gearRgtLED,OUTPUT);
      digitalWrite(gearRgtLED,LOW);
      pinMode(gearTrstLED,OUTPUT);
      digitalWrite(gearTrstLED,LOW);
    
    
    
    
      pinMode(rlyMainBusVoltGnd, OUTPUT);
      digitalWrite(rlyMainBusVoltGnd, LOW);
      pinMode(rlyAvncsBusVoltGnd, OUTPUT);
      digitalWrite(rlyAvncsBusVoltGnd, LOW);
      pinMode(rlyLampTestVlt, OUTPUT);
      digitalWrite(rlyLampTestVlt, HIGH);
      pinMode(rlyHobbsMeter, OUTPUT);
      digitalWrite(rlyHobbsMeter, LOW);
    
    
    
    
      Serial.begin(115200);
    }
    
    
    void loop() {
    
    
      {
        OTHER();
      }
      {
        ANNUNBUTTON();
      }
    
    
      if (Serial.available()) { 
        CodeIn = getChar();   
        if (CodeIn == '=') {
          EQUALS();
        } 
        if (CodeIn == '<') {
          LESSTHAN();
        }
        if (CodeIn == '?') {
          QUESTION();
        }
        if (CodeIn == '/') {
          SLASH();
        }
      }
    }
    
    
    char getChar()
    {
      while(Serial.available() == 0);
      return((char)Serial.read());
    }
    
    
    void OTHER(){
    
    
      
      //LAMP TEST
    
    
      if(digitalRead(LampTestSwitch) == LOW){
        digitalWrite(rlyLampTestVlt, LOW);
    //    digitalWrite(AnctrAlrmPiezo, HIGH);
    //    LampTestSwitchLast == "On";
      }
      else{
        digitalWrite(rlyLampTestVlt, HIGH);
    //    digitalWrite(AnctrAlrmPiezo, LOW);
    //    LampTestSwitchLast == "Off";
      }
      
    }
    
    
    void EQUALS(){      
    
    
      CodeIn = getChar();
      for (count=0;count<8;count++) {
        if (CodeIn == comAudPnlExt[count]){
          comAudPnlLEDNew[count] = (getChar()- 48); //converts the ASCII for the alarm string extract to the digital output pin number 
          if (comAudPnlLEDNew[count] == 1){ 
            if (comAudPnlLEDOld[count] < 1) {
              digitalWrite(comAudPnlDgOutLED[count], HIGH);
              comAudPnlLEDOld[count] = comAudPnlLEDNew[count];
            }
          }
          if (comAudPnlLEDNew[count] == 0){
            if (comAudPnlLEDOld[count] > 0) {
              digitalWrite(comAudPnlDgOutLED[count], LOW);
              comAudPnlLEDOld[count] = comAudPnlLEDNew[count]; 
            }
          }
        }
      }
    
    
      if (CodeIn == 'V') { 
        CodeIn = getChar()-49;
    
    
        if (CodeIn > -1) {
          digitalWrite(markerDgOutPin[CodeIn], HIGH);
        }
        else{
          for (count=0;count<3;count++) {
            digitalWrite(markerDgOutPin[count], LOW); 
          }
        }
      }
    }
    
    
    void LESSTHAN(){
    
    
      CodeIn = getChar();
    
    
      switch(CodeIn) {
    
    
      case 'A':
        gearStatusNose = "";
        for (count=0;count<3;count++) {
          gearStatusNose += getChar();
        }
        gearIntNose = gearStatusNose.toInt();
        if (gearRtblFlg == HIGH && gearIntNose > 98) {
          digitalWrite(gearNosLED, HIGH);
        } 
        else {
          digitalWrite(gearNosLED, LOW);
        }
        break;
    
    
      case 'B':
        gearStatusLeft = "";
        for (count=0;count<3;count++) {
          gearStatusLeft += getChar();
        }
        gearIntLeft = gearStatusLeft.toInt();
        if (gearRtblFlg == HIGH && gearIntLeft > 98) {
          digitalWrite(gearLftLED, HIGH);
        } 
        else {
          digitalWrite(gearLftLED, LOW);
        }
        break;
    
    
      case 'C':
        gearStatusRight = "";
        for (count=0;count<3;count++) {
          gearStatusRight += getChar();
        }
        gearIntRight = gearStatusRight.toInt();
        if (gearRtblFlg == HIGH && gearIntRight > 98) {
          digitalWrite(gearRgtLED, HIGH);
        } 
        else {
          digitalWrite(gearRgtLED, LOW);
        }
        break;
    
    
      case 'S':
        stallWarningStatus = "";
        for (count=0;count<1;count++) {
          stallWarningStatus += getChar();
        }
        stallWarning = stallWarningStatus.toInt();
        if(stallWarning != stallWarningLast){
          if (stallWarning == 1) {
            //Code Still needed to Slowly Ramp Up Peizo Horn
          } 
          else {
            //Quickly Ramp Down Peizo Horn
          }
        }
        break;
    
    
    //Some LED TEST Code for debugging wireing issues
      case 'X':
    
    
      Serial.print("X");
        
        String LEDHLChr = "";
        for (count=0;count<3;count++) {
          LEDHLChr += getChar();
        }
    
    
        int LEDHLNmbr = LEDHLChr.toInt();
    
    
        if (LEDHLNmbr > 221 && LEDHLNmbr < 254) {
          digitalWrite(LEDHLNmbr -200, HIGH);
        }
        else if(LEDHLNmbr > 121 && LEDHLNmbr < 154){
          digitalWrite(LEDHLNmbr -100, LOW);
          }
    
    
        break;
    
    
      }
    
    
    //Here's the landing gear logic that drives the three landing gear LEDS and the Gear In Transit LED 
    
    
      if (gearRtblFlg == HIGH && gearIntNose + gearIntLeft + gearIntRight > 3 && gearIntNose + gearIntLeft + gearIntRight <297) {
        digitalWrite(gearTrstLED, HIGH);
      } 
      else if (gearRtblFlg == HIGH && (gearIntNose + gearIntLeft + gearIntRight > 50 && gearIntNose + gearIntLeft + gearIntRight <297)) {
        digitalWrite(gearTrstLED, HIGH);
        //digitalWrite(AnctrAlrmPiezo, HIGH);
      } 
      else {
        digitalWrite(gearTrstLED, LOW);
      }
    }
    
    
    void QUESTION(){
    
    
      CodeIn = getChar();
    
    
      switch(CodeIn) {
    
    
      case 'a':             //I pick up the engine count because I have future plans to emulate a couple twins
        EngineCount = "";
        EngineCount += getChar();
        if (EngineCount == "1") {
          // only allow center engine oil light
        } 
        else if (EngineCount == "2"){
         // allow L/R engine oil light
    
    
        }
        break;
    
    
      case 'b':
        gearRtbl = "";
        gearRtbl += getChar();
        if (gearRtbl == "1") {
          gearRtblFlg = HIGH;
        } 
        else {
          gearRtblFlg = LOW;
          digitalWrite(gearNosLED, LOW);
          digitalWrite(gearLftLED, LOW); 
          digitalWrite(gearRgtLED, LOW); 
          digitalWrite(gearTrstLED, LOW);
        }
        break;
    
    
    
    
    // Bus Voltage detection to drive the common ground relays
      case 'K':
    
    
        mstrBusVolt = "";
        for (count=0;count<4;count++) {
          mstrBusVolt += getChar();
        }
    
    
        if (mstrBusVolt != mstrBusVoltLast){ 
          ExtInt = mstrBusVolt.toInt();
          if (ExtInt > 18) {
    
    
            digitalWrite(rlyMainBusVoltGnd, HIGH);
            digitalWrite(rlyHobbsMeter, HIGH);
          } 
          else {
        
            digitalWrite(rlyMainBusVoltGnd, LOW);
            digitalWrite(rlyHobbsMeter, LOW);
          }
          mstrBusVoltLast = mstrBusVolt;
        }
        break;
    
    
      case 'U':
        avncsBusVolt = "";
        for (count=0;count<4;count++) {
          avncsBusVolt += getChar();
        }
        if (avncsBusVolt != avncsBusVoltLast){ 
          ExtInt = avncsBusVolt.toInt();
          if (ExtInt > 20) {
            digitalWrite(rlyAvncsBusVoltGnd, HIGH);
          } 
          else {
            digitalWrite(rlyAvncsBusVoltGnd, LOW);
          }
          avncsBusVoltLast = avncsBusVolt;
        }
        break;
    
    
      }
    }
    
    
    void SLASH(){
      CodeIn = getChar();
      anctrAlrmCncl = 0; // for turning OFF AnctrAlrmPiezo after quick fault
      for (count=0;count<9;count++) {
        if (CodeIn == anctrExt[count]){
          anctrDgOutValNew[count] = (getChar()- 48); 
          if (anctrDgOutValNew[count] == 1){ 
            if (anctrDgOutValOld[count] < 1) {
              digitalWrite(anctrDgOutLED[count], HIGH);
              digitalWrite(AnctrAlrmPiezo, HIGH);
              anctrDgOutValOld[count] = anctrDgOutValNew[count];
            }
          }
          if (anctrDgOutValNew[count] == 0){
            if (anctrDgOutValOld[count] > 0) {
              digitalWrite(anctrDgOutLED[count], LOW);
              anctrDgOutValOld[count] = anctrDgOutValNew[count]; 
            }
          }
        }
        if (anctrDgOutValOld[count] < 2 ){
          anctrAlrmCncl = (anctrAlrmCncl + anctrDgOutValNew[count]);
        }
      }
      if (anctrAlrmCncl < 1) {
        digitalWrite(AnctrAlrmPiezo, LOW);
      } 
    } 
    
    
    void ANNUNBUTTON(){  //This button silences the audible annunciator alarm and switches the LEDS to flashing mode
      counter = counter + 1;
      if (counter < 50000){
        counterTrigger = 0;
      }
      else {
        counterTrigger = 1;
      }
      if (counter > 100000) {
        counter = 1;
      }
      if (digitalRead(anctrAlrmButton) == 0){
        digitalWrite(AnctrAlrmPiezo, LOW);
        for (count=0;count<9;count++) { 
          if (anctrDgOutValOld[count] == 1){
            anctrDgOutValOld[count] = 3;
          }
        }
      }
      if (counterTrigger != counterTriggerOld) {
        for (count=0;count<9;count++) {
          if (anctrDgOutValOld[count] == 3) {
            if (counterTrigger == 1){
              digitalWrite(anctrDgOutLED[count], HIGH);
            }
            if (counterTrigger == 0){
              digitalWrite(anctrDgOutLED[count], LOW);
            }
          }
        }
        counterTriggerOld = counterTrigger;  
      }
    }
    So, like I said, all comments are welcome and I'll create a couple more posts to show the Whiskey Compass and the Elevator Trim.

    One last sort of related update.

    Here's a pic of the sim in the new room. I still have doors and trim to put on and a blackout shutter over the window. But, having the dedicated room is a huge plus. Now all I have to do is save up the money for the three projectors and the 180 degree wrap around screen...
    20141115_115116.jpg
    https://www.facebook.com/mycessnasim PC: Intel Core i7 Haswell @ 3.8GHz, 8Gb Ram, Win 7 64Bit, dual SSDs, GeFroce 780 SIM: FSX w/Aclrtn Pk, FSUIPC4, ASN, UTX, GEX, REX 4

  4. Likes tomahawk66, BuzziBi liked this post
  5. #3
    150+ Forum Groupie BuzziBi's Avatar
    Join Date
    Mar 2013
    Location
    Norway
    Posts
    275
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Re: My Cessna 172RG Annunciator Panel

    I liked the Annunciator Panel and would like some info about the glass or the front. Is it bought or homemade?
    Life was hard, but then came Windows 7.
    Now we can fly! --------
    --------

  6. #4
    300+ Forum Addict Tom_G_2010's Avatar
    Join Date
    Mar 2011
    Location
    Central Mass
    Posts
    437
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Re: My Cessna 172RG Annunciator Panel

    Good question, I should have thought to describe that.

    It's actually neither glass nor purchased. It's actually a few layers of laser printed transparency film and a a section of a CD jewel case.

    I used MS Publisher to create a black background and made four copies of it. Two had the lettering on them in white so that they would come out clear on the printed transparency and two of the had clear areas the size of each word. Outside the area of the graphics I added some registration marks that made it fairly easy to stack and line up each layer.

    The reason for the multiple copies was, at least with my laser printer, I could not get a solid black mask with a single pass. When held up to the light or with an LED behind it light could be seen through the blacked out areas. By stacking them I was able to block the light from coming through.

    Also, I found it a little challenging, even with registration marks, to perfectly line up more than two layers with lettering. Hence the reason I chose to do two of them and use the layers with cut out rectangles to get the remainder of the blackout that I needed.

    I also used a couple layers of red and amber transparent film to get the colors I needed. I cut out small rectangles of it to cover the appropriate words. When everything was cut and checked over a bright light I used a couple very carefully placed dots of super glue to hold the colored plastic over the correct lettering. Then I stacked all four layers, aligned them using the registration marks and a back light to verify the lettering.

    I then held one end very tightly so as not to loose the alignment and fanned out the other end of the layers to add several dots of super glue in the black spaces. I pressed it all together and gave it some time for the glue to set up. I then fanned out the opposite side and glued it. After all that was done I cut it all to size.

    Then I grabbed a clean CD jewel case and used an ultra fine craft saw to cut out a piece of the clear cover to the correct size. The one in the pic is not actually the final one. You'll notice that one is actually not as wide as the entire assembly After experimenting with it a bit I cut a second piece to the full width and drilled four screw holes in it that lines up with the stand offs so I could secure it with screws.

    If I were to do it again I might experiment with a photo printer to see if I can get a darker blackout mask and reduce the umber of layers. Also, in hind sight I could have used a darker red. What I have is dark enough, but just barely dark enough.
    https://www.facebook.com/mycessnasim PC: Intel Core i7 Haswell @ 3.8GHz, 8Gb Ram, Win 7 64Bit, dual SSDs, GeFroce 780 SIM: FSX w/Aclrtn Pk, FSUIPC4, ASN, UTX, GEX, REX 4

  7. #5
    10+ Posting Member
    Join Date
    Sep 2009
    Location
    Bloomsburg, PA
    Posts
    14
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Re: My Cessna 172RG Annunciator Panel

    Great work, Tom. I can hardly wait to see you flying it at Flight Sim Con 2015

    Gene

  8. #6
    150+ Forum Groupie
    Join Date
    Jan 2007
    Location
    Netherlands
    Posts
    227
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Re: My Cessna 172RG Annunciator Panel

    Great that you would share your code! Many of us are can use the examples from this forum to write there own.
    Great setup that you have. I'm looking forward to see more pictures of your 172, even as a 737NG builder

    regards

    Jan

  9. #7
    150+ Forum Groupie BuzziBi's Avatar
    Join Date
    Mar 2013
    Location
    Norway
    Posts
    275
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Re: My Cessna 172RG Annunciator Panel

    #include My kind of man!
    void setup()
    { This is what DIY is all about! Finding out how to DIY! }
    void loop()
    { That way of doing it would probably NOT lightly come to my thoughts, therefor my curiosity.

    Actually an genious way to do it. Thanks for that info. Tom!
    Continued success with the build, and thank you for sharing your work.
    }
    Life was hard, but then came Windows 7.
    Now we can fly! --------
    --------

  10. #8
    300+ Forum Addict Tom_G_2010's Avatar
    Join Date
    Mar 2011
    Location
    Central Mass
    Posts
    437
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Re: My Cessna 172RG Annunciator Panel

    Quote Originally Posted by BuzziBi View Post
    #include My kind of man!
    void setup()
    { This is what DIY is all about! Finding out how to DIY! }
    void loop()
    { That way of doing it would probably NOT lightly come to my thoughts, therefor my curiosity.

    Actually an genious way to do it. Thanks for that info. Tom!
    Continued success with the build, and thank you for sharing your work.
    }
    Thanks! That is without question the funniest way I have ever seen someone reply!
    https://www.facebook.com/mycessnasim PC: Intel Core i7 Haswell @ 3.8GHz, 8Gb Ram, Win 7 64Bit, dual SSDs, GeFroce 780 SIM: FSX w/Aclrtn Pk, FSUIPC4, ASN, UTX, GEX, REX 4

  11. #9
    Executive Assistant Geremy Britton's Avatar
    Join Date
    Jul 2007
    Location
    North,East England
    Posts
    1,597
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Re: My Cessna 172RG Annunciator Panel

    Excellent work and photos Tom_G, keep up posted with progress.
    Geremy Britton
    Executive Assistant, MyCockpit Inc
    Head of GLB Flight Products
    www.geremy.co.uk

  12. #10
    10+ Posting Member



    Join Date
    Nov 2013
    Location
    Kentucky
    Posts
    16
    Contribute If you enjoy reading the
    content here, click the below
    image to support MyCockpit site.
    Click Here To Contribute To Our Site

    Re: My Cessna 172RG Annunciator Panel

    Tom, you could simplify the components, wiring and power load CONSIDERABLY by using a single MAX7219 chip (up to 64 LEDs per chip or daisy chain chips for more LEDs). In one project I'm driving 120 LEDs (4x 5 digit 7-segment displays) and with all lit I'm still way less than the 200ma max load on an Arduino and use only 5 wires. It's the SIMCMP project at www.simav8.com.

    Attached Images Attached Images

Page 1 of 2 12 LastLast