Εμφάνιση αποτελεσμάτων : 1 έως 6 από 6

Θέμα: ΠΡΟΒΛΗΜΑ ΜΕ KEYPAD DISPLAY

  1. #1
    Μέλος
    Όνομα
    ΑΝΔΡΕΑΣ
    Εγγραφή
    Sep 2013
    Περιοχή
    ΑΡΤΑ
    Μηνύματα
    112

    Προεπιλογή ΠΡΟΒΛΗΜΑ ΜΕ KEYPAD DISPLAY

    Καλησπέρα σας

    Έφτιαξα ένα keypad display, προκειμένου να μου εμφανίζει σε 8 7segment display τα νούμερα που πληκτρολογώ σε πληκτρολόγιο.


    Το πρόβλημά μου είναι ότι όταν συνδέω 9v στο κύκλωμα αρχίζει να κάνει έναν ήχο σαν να βραχυκυκλώνει το ULN2803A.


    Ανεβάζω το σχηματικό ή αν χρειάζεται και το σχέδιο της πλακέτας και θα ήθελα αν είναι εύκολο να μου πείτε μήπως υπάρχει κάποιο πρόβλημα στο σχέδιο ή είναι της πλάκας το ULN.


    Ευχαριστώ εκ των προτέρων. keypad.png

    Y.Γ. Νομίζω ότι το Pin του Gnd έχει το θέμα στο ULN

    0 Not allowed! Not allowed!

  2. #2
    Μέλος
    Όνομα
    ΑΝΔΡΕΑΣ
    Εγγραφή
    Sep 2013
    Περιοχή
    ΑΡΤΑ
    Μηνύματα
    112

    Προεπιλογή

    Ψάχνοντας νομίζω βρήκα τι βλακεία έκανα.

    Το 74HC540N το έχω συνδέσει με 9V τροφοδοσία και όπως βλέπω τώρα στο datasheet, αντέχει μέχρι 7V!!!

    Εκτός από το ULN2803A μου έχει κάψει και το 74HC540N.

    Υπάρχει κάποιο αντίστοιχο του ανωτέρω με ίδιο pinout που να αντέχει μέχρι 12V για να το τοποθετήσω? Κάθε βοήθεια ευπρόσδεκτη.

    0 Not allowed! Not allowed!

  3. Ένα μέλος ευχαρίστησε τον andrew321 για αυτό το χρήσιμο μήνυμα:

    mikemtb (12-02-21)

  4. #3
    Μέλος
    Όνομα
    ΣΤΑΥΡΟΣ
    Εγγραφή
    Feb 2009
    Περιοχή
    ΑΘΗΝΑ
    Μηνύματα
    76

    Προεπιλογή

    Tα 7V ειναι absolute maximum, δεν σημαινει οτι μπορει να λειτουργει εκει συνεχεια.
    Αφου το σχεδιο εχει 7805 για τροφοδοσια και το 74HC540 συνδεεται εκει, γιατι θελεις να τα συνδεσεις στα 12βολτ?
    Το ULN γιατι να το καψει αφου αντεχει ~50v?

    0 Not allowed! Not allowed!

  5. #4
    Μέλος
    Όνομα
    ΑΝΔΡΕΑΣ
    Εγγραφή
    Sep 2013
    Περιοχή
    ΑΡΤΑ
    Μηνύματα
    112

    Προεπιλογή

    Σταύρο καλησπέρα και ευχαριστώ για την απάντηση.

    Το κύκλωμα παίρνει 9V τα οποία πηγαίνουν στο UDN έτσι ώστε να μπορούν να ανάβουν τα led. Δυστυχώς τα 9v τα έχω συνδέσει και με το 74HC540 (δεν φαίνεται στο σχηματικό) . Το ULN έχει συνδεμένη μόνο την γείωση στην πλακέτα και το Pin10 που είναι το com είναι στον αέρα. Γιατί το καίει δεν ξέρω, αν θυμάμαι είναι από κινέζο και υποθέτω μήπως ήταν μούφα.
    Τα 5v από το 7805 πηγαίνουν στον ATMEGA και στο MAX7221.
    Περιμένω μερικά από τα καμένα εξαρτήματα να μου έρθουν και θα ξαναδοκιμάσω με σύνδεση του 74HC540 στα 5V ελπίζοντας να μην κάνει "τσαφ" ξανά !!!

    0 Not allowed! Not allowed!

  6. #5
    Μέλος
    Όνομα
    ΣΤΑΥΡΟΣ
    Εγγραφή
    Feb 2009
    Περιοχή
    ΑΘΗΝΑ
    Μηνύματα
    76

    Προεπιλογή

    Nαι το 74HC540 στα 5 βολτ. To COM στον αερα (ειναι μονο για επαγωγικα φορτια).
    Μεινε στα 9 βολτ για να μην αυξηθει η καταναλωση.
    Δοκιμασε οταν με το καλο ξαναδουλεψει, αν το ULN ζεσταινεται οταν αναβουν πολλα segments και πολλα display (δεν θα επρεπε με τις αντιστασεις που εχει το UDN, ισως τα κινεζικα IC να'ναι τελειως για τα πανηγυρια...)

    0 Not allowed! Not allowed!

  7. #6
    Μέλος
    Όνομα
    ΑΝΔΡΕΑΣ
    Εγγραφή
    Sep 2013
    Περιοχή
    ΑΡΤΑ
    Μηνύματα
    112

    Προεπιλογή

    Καλησπέρα και πάλι σε όλους

    Τελικά άλλαξα όλα τα τσιπάκια και τώρα όταν δίνω ρεύμα, απλά μου ανάβουν όλα τα led και δεν γίνεται τίποτα όταν πληκτρολογώ αριθμούς. Σας ανεβάζω και τον κώδικα μήπως μπορεί κάποιος να βοηθήσει.

    To ledpin 12 που έχει ο κώδικας δεν το χρησιμοποιώ στον σχεδιασμό μου.

    Κώδικας:
    //-------------------------------------------------------------------------
    // MAX7219 LED DIGIT output pin definitions
    //-------------------------------------------------------------------------
    #define MAX2719_DIN  11
    #define MAX2719_CS  10
    #define MAX2719_CLK 13
    #define ledpin 12
    
    
    //-------------------------------------------------------------------------
    // Key Matrix set up
    //-------------------------------------------------------------------------
    #include "Keypad.h"
    const byte ROWS = 4; //four rows
    const byte COLS = 3; //three columns
    char keys[ROWS][COLS] = {
      {'1', '2', '3'},
      {'4', '5', '6'},
      {'7', '8', '9'},
      {'*', '0', '#'}
    };
    
    
    byte msgBuffer[4] = {0x0F, 0x0F, 0x0F, 0x0F}; // keypress message buffer, set to spaces
    byte rowPins[ROWS] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad
    byte colPins[COLS] = {8, 7, 6}; //connect to the column pinouts of the keypad
    Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
    
    
    //-------------------------------------------------------------------------
    // SET UP
    //-------------------------------------------------------------------------
    void setup()
    {
      initialise();
    
    
      // For test mode (all digits on) set to 0x01. Normally we want this off (0x00)
      output(0x0f, 0x0);
    
    
      // Set all digits off initially
      output(0x0c, 0x0);
    
    
      // Set brightness for the digits to high(er) level than default minimum (Intensity Register Format)
      output(0x0a, 0x02);
    
    
      // Set decode mode for ALL digits to output actual ASCII chars rather than just
      // individual segments of a digit
      output(0x09, 0xFF);
    
    
      // Blank all the digits with a 'space' character
      for (int cnt = 1; cnt < 9; cnt++) {
        output(cnt, 0x0F);
      }
    
    
      // Ensure ALL digits are displayed (Scan Limit Register)
      output(0x0b, 0x07);
    
    
      // Turn display ON (boot up = shutdown display)
      output(0x0c, 0x01);
    }
    
    
    void loop()
    {
      char key = keypad.getKey();
      if (key) // Check for a valid key.
      {
        switch (key)
        {
          case '*':
            digitalWrite(ledpin, LOW);
            output(0x08, 0x0C);
            break;
          case '#':
            digitalWrite(ledpin, HIGH);
            output(0x08, 0x0D);
            break;
          default:
            Serial.println(key);
            output(0x08, 0x0F);
            // Shift message buffer chars to left (scroll left)
            for (int cnt = 0; cnt < sizeof(msgBuffer) - 1; cnt++) {
              msgBuffer[cnt] = msgBuffer[cnt + 1];
            }
            msgBuffer[sizeof(msgBuffer) - 1] = key;
        }
    
    
        // Output all characters in double for loop (one increasing, other decreasing)
        for (int cnt = 1, bcnt = 3; cnt < 5; cnt++, bcnt--) {
          output(cnt, msgBuffer[bcnt]);
        }
      }
    }
    
    
    void initialise()
    {
      // MAX7219
      digitalWrite(MAX2719_CS, HIGH);
      pinMode(MAX2719_DIN, OUTPUT);
      pinMode(MAX2719_CS, OUTPUT);
      pinMode(MAX2719_CLK, OUTPUT);
    
    
      // For KEYPAD matrix
      pinMode(ledpin, OUTPUT);
      digitalWrite(ledpin, LOW);
      Serial.begin(9600);
    }
    
    
    void output(byte address, byte data)
    {
      digitalWrite(MAX2719_CS, LOW);
    
    
      // Send out two bytes (16 bit)
      // parameters: shiftOut(dataPin, clockPin, bitOrder, value)
      shiftOut(MAX2719_DIN, MAX2719_CLK, MSBFIRST, address);
      shiftOut(MAX2719_DIN, MAX2719_CLK, MSBFIRST, data);
      
      digitalWrite(MAX2719_CS, HIGH);

    0 Not allowed! Not allowed!

Παρόμοια Θέματα

  1. ΠΡΟΒΛΗΜΑ ΜΕ OLED 16X2 DISPLAY
    By nikoslqc in forum Διάφορα Κυκλώματα
    Απαντήσεις: 20
    Τελευταίο Μήνυμα: 02-04-16, 19:27
  2. sigma apollo keypad
    By kougianos in forum Συστήματα Ασφαλείας
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 25-12-15, 18:45
  3. Πρόταση για keypad...
    By lelek in forum Εξαρτήματα & Datasheets
    Απαντήσεις: 6
    Τελευταίο Μήνυμα: 31-05-15, 00:17
  4. I2C + Serial LCD Display Module 16 x 2 + keypad control
    By SV2IPW in forum Μικροελεγκτές
    Απαντήσεις: 3
    Τελευταίο Μήνυμα: 25-03-15, 11:01
  5. Προβλημα με led display βολτομετρο
    By weather1967 in forum Ηλεκτρονικά
    Απαντήσεις: 30
    Τελευταίο Μήνυμα: 03-12-09, 00:34

Tags for this Thread

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας