Σελίδα 1 από 4 1 2 3 ... ΤελευταίαΤελευταία
Εμφάνιση αποτελεσμάτων : 1 έως 10 από 39

Θέμα: Ι2C Extender σε arduino uno

  1. #1
    Νέο Μέλος
    Όνομα
    George
    Εγγραφή
    Aug 2014
    Περιοχή
    athens
    Μηνύματα
    15

    Προεπιλογή Ι2C Extender σε arduino uno

    Καλημέρα και καλώς σας βρήκα

    Εχω μια απορία

    Θέλω να φτιάξω τον δικό μου οικιακό συναγερμό στο arduino έχω παραγγείλει τα πάντα και ανακάλυψα πως έχω στην διάθεση μου μόνο 1 utp καλώδιο στον τοίχο για να περάσω τα 6 καλωδιάκια της οθόνης 1602 τα 7 καλωδιάκια από το matrix πληκτρολόγιο + Vcc και Ground δηλαδή σύνολο 15 καλώδια, Οπότε πρόσθεσα στην παραγγελία μου και 1 τέτοιο ώστε να μειώσω τα καλώδια της οθόνης σε σε 2 απο 6.

    Νέο σύνολο καλωδίων 11 αρα πρέπει να "κόψω" άλλα 3, αλλά τα 2 της οθόνης και τα δύο της τροφοδοσίας δεν φεύγουν, και ο κλήρος πέφτει στο πληκτρολόγιο, οπότε και σκέφτηκα (με λίγη βοήθεια από τον michaelcom) να κάνω το matrix πληκτρολόγιο Ι2C.

    Οπότε έχουμε αυτά τα ολοκληρωμένα κατά εταιρία (Τυχαία με την σειρά που τα βρήκα στον γοογλη και φυσικά υπάρχουν και άλλα)

    Τexas Instruments
    NXP
    PHILIPS
    MICROCHIP

    Διάλεξα 16-bit με την λογική ότι στο μέλλον μπορεί να μπει nfc reader και τέτοιες ιστορίες ώστε να γίνετε το ξεκλείδωμα μέσω κινητού και καρτούλας


    Και εδώ έχω 3 ερωτήσεις

    1. Πρώτον και κύριον γίνετε αυτό που θέλω χωρίς την χρήση ολοκληρωμένου ή και ποιο εύκολου τρόπου και χωρίς να ξεκινήσω να περνάω utp καλώδια μέσα στο σπίτι (ιδέες)

    2. Πως θα βρω την I2C address από τα παραπάνω ολοκληρωμένα ?? , τα datasheet λένε κάποια πράγματα αλλά δεν τα "πιάνω" αν μπορεί κάποιος να μου το κάνει ποιο νιανιά θα του ήμουν υπόχρεος.

    3. Χρειάζονται κρυσταλλάκι ;, ή παίρνουν συχνότητα από το arduino???

    Αυτά

    Ευχαριστώ εκ των προτέρων και καλώς σας βρήκα
    Γιώργος Κ.

    0 Not allowed! Not allowed!

  2. #2
    Μέλος Το avatar του χρήστη osek
    Όνομα
    Σωκράτης
    Εγγραφή
    Nov 2008
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    109

    Προεπιλογή

    Καλημέρα. Θα μπορούσες να χρησιμοποιήσεις ένα καλώδιο για το πληκτρολόγιο διαβάζοντας μια αναλογική είσοδο από τον μικροελεγκτή.
    http://forum.arduino.cc/index.php?topic=201051.0
    fpBat.png

    0 Not allowed! Not allowed!
    ...'Θα σε ξεχνάω κάθε μέρα'...

  3. #3
    Μέλος
    Εγγραφή
    Apr 2006
    Περιοχή
    Κέρκυρα
    Μηνύματα
    5.956

    Προεπιλογή

    το address το ρυθμίζεις εσύ με τη λογική στάθμη των A0 A1 A2
    Μπορείς να βάλεις ένα pcf8574 για το πληκτρολόγιο και απλά να έχει διαφορετική διεύθυνση από αυτή την οθόνης. Αυτό υποθέτω θα σε βολεύει γιατι θα έχει κοινές υπορουτινές αφού και το Interface της οθονούλας υποθέτο PCF8574 είναι....

    στο microchip Συνδέεις ένα RC κύκλωμα που δημιουργεί το clk
    το philips και το TI δεν θέλει clk...

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη chip : 07-08-14 στις 10:31

  4. #4
    Νέο Μέλος
    Όνομα
    George
    Εγγραφή
    Aug 2014
    Περιοχή
    athens
    Μηνύματα
    15

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από osek Εμφάνιση μηνυμάτων
    Καλημέρα. Θα μπορούσες να χρησιμοποιήσεις ένα καλώδιο για το πληκτρολόγιο διαβάζοντας μια αναλογική είσοδο από τον μικροελεγκτή.
    http://forum.arduino.cc/index.php?topic=201051.0
    fpBat.png
    ΠΟΛΥ ενδιαφέρον θα το δοκιμάσω αν και στο λινκ αναφέρουν οτι δεν τους δουλεψε.

    Παράθεση Αρχικό μήνυμα από chip Εμφάνιση μηνυμάτων
    το address το ρυθμίζεις εσύ με τη λογική στάθμη των A0 A1 A2
    Μπορείς να βάλεις ένα pcf8574 για το πληκτρολόγιο και απλά να έχει διαφορετική διεύθυνση από αυτή την οθόνης. Αυτό υποθέτω θα σε βολεύει γιατι θα έχει κοινές υπορουτινές αφού και το Interface της οθονούλας υποθέτο PCF8574 είναι....

    στο microchip Συνδέεις ένα RC κύκλωμα που δημιουργεί το clk
    το philips και το TI δεν θέλει clk...
    Οπότε θα πάρω είτε ΤΙ είτε philips απλά για να έχω το κεφάλι μου ήσυχο

    Θα σας ενημερώσω για την επόμενη αποτυχία μου

    0 Not allowed! Not allowed!

  5. #5
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    Για χρήση πληκτρολογίου με I2C και PCF8574 υπάρχουν πολλά παραδείγματα, μπορείς επίσης να συνδέσεις σε expander και την οθόνη.
    Επίσης χρησιμοποιώντας το INT pin του PCF8574 μπορείς να συνδέσεις και τις εισόδους των αισθητηρίων σε αυτό και να κάνεις
    ένα read κάθε φορά που θα λαμβάνεις διακοπή. Στην ουσία μπορείς να κάνεις τα πάντα με
    I2C και να έχεις πολλά ελεύθερα pins του μ/ε.

    Δες εδώ κάτι σχετικό με σειριακή οθόνη:

    http://www.hlektronika.gr/forum/showthread.php?t=65825





    0 Not allowed! Not allowed!

  6. #6
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από geocheats2 Εμφάνιση μηνυμάτων
    ...

    Και εδώ έχω 3 ερωτήσεις

    1. Πρώτον και κύριον γίνετε αυτό που θέλω χωρίς την χρήση ολοκληρωμένου ή και ποιο εύκολου τρόπου και χωρίς να ξεκινήσω να περνάω utp καλώδια μέσα στο σπίτι (ιδέες)

    2. Πως θα βρω την I2C address από τα παραπάνω ολοκληρωμένα ?? , τα datasheet λένε κάποια πράγματα αλλά δεν τα "πιάνω" αν μπορεί κάποιος να μου το κάνει ποιο νιανιά θα του ήμουν υπόχρεος.

    3. Χρειάζονται κρυσταλλάκι ;, ή παίρνουν συχνότητα από το arduino???

    Αυτά

    Ευχαριστώ εκ των προτέρων και καλώς σας βρήκα
    Γιώργος Κ.
    Απαντήσεων, συνέχεια:

    1. Μπορείς όπως είπαμε ενωρίτερα να χρησιμοποιήσεις ένα PCF8574 ή PCF8574A (βλέπε για τις διαφορές τους στην επόμενη απάντηση) για την οθόνη σου τοπικά, δηλαδή στο κουτί ή στο σημείο που θα είναι, χρησιμοποιώντας 4 μόνον καλώδια (2 για τροφοδοσία, ένα για το σήμα SCL (χρονισμού) και ένα για το σήμα SDA (πληροφορίας) του διαύλου I2C). Φρόντισε μόνον να τα έχεις συστραμμένα ανα ζεύγος (τροφοδοσία χώρια, δίαυλος χώρια). Όμοια, μπορείς να χρησιμοποιήσεις με τον ίδιο τρόπο ένα δεύτερο expander (αλλά με διαφορετική διεύθυνση) για το πληκτρολόγιο, πάλι με 2 ζεύγη καλωδίων.

    2. Η διεύθυνση μιας συσκευής (εξαρτήματος) που εργάζεται στον δίαυλο I2C αποτελείται απο ένα byte με κάποια στάνταρντ bits πάντα σταθερά που δηλώνουν την ομάδα που ανήκει το εξάρτημα (π.χ. τα RTC's DS1307 της Dallas έχουν fixed bits 1101 και 3 addressing, τα Μ41Τ80 της ST έχουν επίσης την ίδια διεύθυνση). Υπάρχει και ένα τελευταίο, 8o ψηφίο που καθορίζει αν η συσκευή διαβάζεται ή εγγράφεται. Σε κάθε περίπτωση, πρέπει να κοιτάξεις τα datasheets κάθε εξαρτήματος για να δείς ακριβώς πως θα του "μιλάς". Για τα expanders PCF8574 και PCF8574A οι διευθύνσεις είναι οι 0100A2-A1-A0 και 0111A2-A1-A0, όπου Α2-Α1-Α0 τα ψηφία που θα καθορίσεις εσύ αν θα "δεθούν" σε γή ή τροφοδοσία VCC για να σχηματιστεί η μοναδική διεύθυνση για το κάθε ένα (8 expanders στο σύνολο με 8x8=64 διαφορετικά I/O's).

    Για παράδειγμα λοιπόν, αν για την οθόνη χρησιμοποιήσεις ένα PCF8574A θα πρέπει για να εγγράψεις σε αυτό να το καλείς με την διεύθυνση 01110000 BIN ή 0x70 HEX (με τα Α2-Α1-Α0 στην γή), ενώ για να διαβάσεις, στη διεύθυνση 01110001 BIN ή 0x71 HEX. Μιας και μιλάς για Arduino όμως, δεν χρειάζεται να ασχολείσαι με το ψηφίο εγγραφής ή ανάγνωσης, φροντίζει η κατάλληλη βιβλιοθήκη για αυτό. Εσύ θα δηλώνεις απλά στην αρχή του προγράμματος μόνον τη βασική διεύθυνση, άρα τα παραπάνω γίνονται 0111000 ΒΙΝ ή 0x38 ΗΕΧ. Για το πληκτρολόγιό σου, ένα δεύτερο PCF8574A, αλλά με τα Α2-Α1 στη γή και το Α0 στο VCC θα καλείται στην διεύθυνση 0111001 ΒΙΝ ή 0x39 HEX.

    3. Τα συγκεκριμένα expanders δεν χρειάζονται κρύσταλλο ή άλλο χρονισμό για να δουλέψουν. Χρονίζονται μέσω του διαύλου I2C απο τον master controller σε αρκετά μεγάλη συχνότητα μετάδοσης δεδομένων (μέχρι 400 KHz). Παρέλειψα δε να πω πως για να υπάρχει σωστή μετάβαση απο H σε L ή αντίστροφα και στις δύο γραμμές του διαύλου (SDA και SCL - data και χρονισμός αντίστοιχα) θα πρέπει αυτές να προσδεθούν στο VCC του κυκλώματος μέσω δυο αντιστάσεων, συνήθως 4.7 - 10ΚΩ. Αν δεν γίνει αυτό και για τόσο μεγάλες αποστάσεις, δεν θα δουλέψει το σύνολο.

    2 Not allowed! Not allowed!

  7. #7
    Μέλος
    Όνομα
    Χρήστος
    Εγγραφή
    Sep 2012
    Περιοχή
    Χολαργός
    Μηνύματα
    1.907

    Προεπιλογή

    Λίγο off topic . Κάτι δεν κατάλαβα καλά ! τι θα περάσεις μέσα από το UTP ?
    Στους καλούς συναγερμούς όλα περνάνε απο ενα τετρασυρματο bus ( CLK DATA VCC GND ) Δεν χρειάζεται να περάσεις τίποτα άλλο από τον τοίχο ...

    Πληκτρολόγια , panel , extension board , card reader όλα κουμπώνουν στο bus . Για να μη σου πω και το πιο ωραίο που κατεβάζεις ρυθμίσεις στο πληκτρολόγιο και το πληκτρολόγιο τις στέλνει στο panel ....

    H πρόταση μου θα ήταν λοιπόν άλλος επεξεργαστής στο πληκτρολόγιο ... άλλος στο panel !

    0 Not allowed! Not allowed!

  8. #8
    Μέλος Το avatar του χρήστη michaelcom
    Όνομα
    Μιχαλης
    Εγγραφή
    Jun 2010
    Περιοχή
    Στο κοσμο μου
    Μηνύματα
    744

    Προεπιλογή

    Εγω παντως προτεινω να το κανει με multiplexer διοτι ειναι παναπλο, τωρα αυτο με τις αντιστασεις εμενα προσωπικα ποτε δεν μου δουλευει τελεια και σκεψου οτι θα εχει και καμποσα μετρα καλωδιο οποτε θα εχει αρκετο θορυβο... και ας ειναι twisted pair

    0 Not allowed! Not allowed!

  9. #9
    Νέο Μέλος
    Όνομα
    George
    Εγγραφή
    Aug 2014
    Περιοχή
    athens
    Μηνύματα
    15

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από manolena Εμφάνιση μηνυμάτων
    Απαντήσεων, συνέχεια:

    1. Μπορείς όπως είπαμε ενωρίτερα να χρησιμοποιήσεις ένα PCF8574 ή PCF8574A (βλέπε για τις διαφορές τους στην επόμενη απάντηση) για την οθόνη σου τοπικά, δηλαδή στο κουτί ή στο σημείο που θα είναι, χρησιμοποιώντας 4 μόνον καλώδια (2 για τροφοδοσία, ένα για το σήμα SCL (χρονισμού) και ένα για το σήμα SDA (πληροφορίας) του διαύλου I2C). Φρόντισε μόνον να τα έχεις συστραμμένα ανα ζεύγος (τροφοδοσία χώρια, δίαυλος χώρια). Όμοια, μπορείς να χρησιμοποιήσεις με τον ίδιο τρόπο ένα δεύτερο expander (αλλά με διαφορετική διεύθυνση) για το πληκτρολόγιο, πάλι με 2 ζεύγη καλωδίων.

    2. Η διεύθυνση μιας συσκευής (εξαρτήματος) που εργάζεται στον δίαυλο I2C αποτελείται απο ένα byte με κάποια στάνταρντ bits πάντα σταθερά που δηλώνουν την ομάδα που ανήκει το εξάρτημα (π.χ. τα RTC's DS1307 της Dallas έχουν fixed bits 1101 και 3 addressing, τα Μ41Τ80 της ST έχουν επίσης την ίδια διεύθυνση). Υπάρχει και ένα τελευταίο, 8o ψηφίο που καθορίζει αν η συσκευή διαβάζεται ή εγγράφεται. Σε κάθε περίπτωση, πρέπει να κοιτάξεις τα datasheets κάθε εξαρτήματος για να δείς ακριβώς πως θα του "μιλάς". Για τα expanders PCF8574 και PCF8574A οι διευθύνσεις είναι οι 0100A2-A1-A0 και 0111A2-A1-A0, όπου Α2-Α1-Α0 τα ψηφία που θα καθορίσεις εσύ αν θα "δεθούν" σε γή ή τροφοδοσία VCC για να σχηματιστεί η μοναδική διεύθυνση για το κάθε ένα (8 expanders στο σύνολο με 8x8=64 διαφορετικά I/O's).

    Για παράδειγμα λοιπόν, αν για την οθόνη χρησιμοποιήσεις ένα PCF8574A θα πρέπει για να εγγράψεις σε αυτό να το καλείς με την διεύθυνση 01110000 BIN ή 0x70 HEX (με τα Α2-Α1-Α0 στην γή), ενώ για να διαβάσεις, στη διεύθυνση 01110001 BIN ή 0x71 HEX. Μιας και μιλάς για Arduino όμως, δεν χρειάζεται να ασχολείσαι με το ψηφίο εγγραφής ή ανάγνωσης, φροντίζει η κατάλληλη βιβλιοθήκη για αυτό. Εσύ θα δηλώνεις απλά στην αρχή του προγράμματος μόνον τη βασική διεύθυνση, άρα τα παραπάνω γίνονται 0111000 ΒΙΝ ή 0x38 ΗΕΧ. Για το πληκτρολόγιό σου, ένα δεύτερο PCF8574A, αλλά με τα Α2-Α1 στη γή και το Α0 στο VCC θα καλείται στην διεύθυνση 0111001 ΒΙΝ ή 0x39 HEX.

    3. Τα συγκεκριμένα expanders δεν χρειάζονται κρύσταλλο ή άλλο χρονισμό για να δουλέψουν. Χρονίζονται μέσω του διαύλου I2C απο τον master controller σε αρκετά μεγάλη συχνότητα μετάδοσης δεδομένων (μέχρι 400 KHz). Παρέλειψα δε να πω πως για να υπάρχει σωστή μετάβαση απο H σε L ή αντίστροφα και στις δύο γραμμές του διαύλου (SDA και SCL - data και χρονισμός αντίστοιχα) θα πρέπει αυτές να προσδεθούν στο VCC του κυκλώματος μέσω δυο αντιστάσεων, συνήθως 4.7 - 10ΚΩ. Αν δεν γίνει αυτό και για τόσο μεγάλες αποστάσεις, δεν θα δουλέψει το σύνολο.
    1.

    2. Οπότε πάω καρφωτός για ενα PCF8574(A) (μάλλον 2 γτ το i2c που πήρα για την οθόνη δεν μου δουλεύει σωστά)


    Παράθεση Αρχικό μήνυμα από aktis Εμφάνιση μηνυμάτων
    Λίγο off topic . Κάτι δεν κατάλαβα καλά ! τι θα περάσεις μέσα από το UTP ?
    Στους καλούς συναγερμούς όλα περνάνε απο ενα τετρασυρματο bus ( CLK DATA VCC GND ) Δεν χρειάζεται να περάσεις τίποτα άλλο από τον τοίχο ...

    Πληκτρολόγια , panel , extension board , card reader όλα κουμπώνουν στο bus . Για να μη σου πω και το πιο ωραίο που κατεβάζεις ρυθμίσεις στο πληκτρολόγιο και το πληκτρολόγιο τις στέλνει στο panel ....

    H πρόταση μου θα ήταν λοιπόν άλλος επεξεργαστής στο πληκτρολόγιο ... άλλος στο panel !
    Ουσιαστικά αυτό θέλω να περάσω μέσα απο το utp CLK DATA VCC GND + 1 buzzer το οποίο ίσως περάσει και αυτό μέσα από εκεί


    Παράθεση Αρχικό μήνυμα από michaelcom Εμφάνιση μηνυμάτων
    Εγω παντως προτεινω να το κανει με multiplexer διοτι ειναι παναπλο, τωρα αυτο με τις αντιστασεις εμενα προσωπικα ποτε δεν μου δουλευει τελεια και σκεψου οτι θα εχει και καμποσα μετρα καλωδιο οποτε θα εχει αρκετο θορυβο... και ας ειναι twisted pair
    Εσύ multiplexer και τα μυαλά στα κάγκελα :p

    Μου αρέσει το ι2c σαν πρωτόκολλο και θα ήθελα να μάθω τις κατασκευές του κατα την εγκατάσταση του συναγερμού αφού ουσιαστικά είναι ένα usb για το arduino, αν δεν τα καταφέρω θα παω στην λύση που πρότεινε ο michaelcom αφού πρώτα μου την εξηγήσει.

    0 Not allowed! Not allowed!

  10. #10
    Νέο Μέλος
    Όνομα
    George
    Εγγραφή
    Aug 2014
    Περιοχή
    athens
    Μηνύματα
    15

    Προεπιλογή

    μόλις μου δούλεψε η οθόνη με το ι2c που είχα αγοράσει αρχικά

    0 Not allowed! Not allowed!

Σελίδα 1 από 4 1 2 3 ... ΤελευταίαΤελευταία

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

  1. ARDUINO UNO
    By electricalgian in forum Ηλεκτρονικά
    Απαντήσεις: 9
    Τελευταίο Μήνυμα: 16-11-16, 03:01
  2. Arduino-UNO-R3-ATMEGA16U2
    By takhs764 in forum Μικροελεγκτές
    Απαντήσεις: 14
    Τελευταίο Μήνυμα: 04-10-15, 12:38
  3. arduino uno
    By ssakiss1 in forum Μικροελεγκτές
    Απαντήσεις: 1
    Τελευταίο Μήνυμα: 23-01-14, 13:54
  4. arduino uno
    By kourtidisp in forum Μικροελεγκτές
    Απαντήσεις: 15
    Τελευταίο Μήνυμα: 07-01-14, 18:08
  5. Ζυγαριά με arduino Uno
    By dous in forum Μικροελεγκτές
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 09-12-13, 20:12

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

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