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

Θέμα: Αισθητηρας αναγνωρισης χρωματων

  1. #1
    Μέλος
    Όνομα
    Αντρεας
    Εγγραφή
    Oct 2008
    Περιοχή
    Χανια
    Μηνύματα
    34

    Προεπιλογή Αισθητηρας αναγνωρισης χρωματων

    Πηρα προσφατα τον παρακατω αισθητηρα και θελω να τον προσαρμοσω στο Arduino.Μπορει καποιος να με βοηθησει με τον κωδικα??Ευχαριστω!!
    http://www.sureelectronics.net/goods.php?id=959

    0 Not allowed! Not allowed!

  2. #2
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618

    Προεπιλογή

    Γειά σου Αντρέα,
    σύμφωνα με το datasheet του TCS230 ο πιο εύκολος τρόπος να το χειριστής είναι να επιλέξεις την επικοινωνία UART. Θα τροφοδοτήσεις το αισθητήριο με 3.3V ή 5V (όσο χρησιμοποιεί και ο μC σου) και η επικοινωνία θα γίνει 'τύπου RS232' στα 9600-8-N-1 (9600 baud, 8 bits, no parity, 1 stop bit).

    Οι ακροδέκτες που θα χρησιμοποιήσεις για την επικοινωνία είναι:
    TCS230 pin 5 = RXD
    TCS230 pin 7 = TXD
    TCS230 pin 6 = GND

    Τροφοδοσία στα pins 2 και 4 = +5V
    Γειώσεις στα pins 6, 8, 12 και 16

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



    Οι εντολές από το PC ή το μC προς το αισθητήριο θα είναι οι έντονες παρακάτω:
    $SURE WB - Start white balance
    $SURE TM Enter test mode
    $SURE NM Enter normal mode
    $SURE R Access current Red value
    $SURE G Access current Green value
    $SURE B Access current Blue value
    Κάθε εντολή τερματίζεται με CD+LF δηλαδή τους χαρακτήρες 0x0D και 0x0A

    Οι αποκρίσεις είναι text strings του τύπου 'White balance done!' ή 'Red=00015'

    Στην τελική εφαρμογή θα στέλνεις την 'εντολή' (με τα CR+LF στο τέλος) και θα λαμβάνεις όλους τους χαρακτήρες σε μία μνήμη buffer (registers στο μC). Οταν λάβεις CR+LF ελέγχεις αντίστροφα τα περιεχόμενα του buffer για τα επιθυμητά data.

    Για το Arduino συγκεκριμένα θα βοηθήσει άλλος χρήστης ...

    Φιλικά,
    Γιώργος

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη GeorgeVita : 30-06-10 στις 08:32

  3. #3
    Μέλος Το avatar του χρήστη herctrap
    Όνομα
    Ηρακλής
    Εγγραφή
    May 2010
    Περιοχή
    Αιγάλεω / Πυλος
    Μηνύματα
    1.971

    Προεπιλογή

    συνδεσε τo tx του Arduino με το rx του αισθητηρα και το rx Με το tx

    συνδεεις και το arduino στο pc και περνας αυτον τον κωδικα


    void setup() {

    Serial.begin(9600);
    }

    void loop() {

    }
    και μετα οπως ειπε και ο γιωργος ανοιγεις το serial monitor και γραφεις τις εντολες μια μια

    να δουμε τι στελνει και πως στελνει δεδομενα για να γραψουμε και τον υπολοιπο κωδικα

    *δεν ειμαι και σιγουρος αλλα πρεπει να δουλεψει

    0 Not allowed! Not allowed!

  4. #4
    Μέλος Το avatar του χρήστη herctrap
    Όνομα
    Ηρακλής
    Εγγραφή
    May 2010
    Περιοχή
    Αιγάλεω / Πυλος
    Μηνύματα
    1.971

    Προεπιλογή

    επισης τι ακριβεια θες?

    0 Not allowed! Not allowed!

  5. #5
    Μέλος
    Όνομα
    Αντρεας
    Εγγραφή
    Oct 2008
    Περιοχή
    Χανια
    Μηνύματα
    34

    Προεπιλογή

    Καταρχιν ευχαριστω για το ενδιαφερον σας!!
    Λοιπον συνδεσα το module οπως μου ειπατε,ανοιγω το serial monitor,παταω τις εντολες $SURE NM η $SURE WB κτλ.. αλλα τιποτα.
    Κανονικα θα επρεπε να μου πεταει καποιο μηνυμα μετα την εντολη που του δεινω,ετσι δεν ειναι?

    0 Not allowed! Not allowed!

  6. #6
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618

    Προεπιλογή

    Γειά σου Αντρέα,
    το πρόγραμμα σειριακού τερματικού (λ.χ. hyperterminal) θα το ρυθμίσεις για 9600 baud, 8 bits, No Parity, No handshake (όχι υλικό ούτε xon-xoff).
    Θα ρυθμίσεις απευθείας σύνδεση στο comX, λ.χ. com1 εφόσον έχει τέτοια το PC ή όποιο comX έχει ρυθμιστεί το καλώδιο USB to RS232 (κοίτα το control panel).

    Σαν πρώτη δοκιμή θα πάρεις το καλώδιο της σειριακής και αντί του κυκλώματος με το αισθητήριο θα γεφυρώσεις τα pins 2 και 3 του connector RS232. Πατώντας μερικά πλήκτρα στο πρόγραμμα τερματικού θα εμφανίζονται πάλι πίσω. Ετσι είσαι σίγουρος ότι το PC χρησιμοποιεί τη σωστή θύρα.

    Μετά θα βγάλεις το γεφύρωμα, θα συνδέσεις το pin 5 στο GND του κυκλώματος και τα pins 2, 3 στα αντίστοιχα του MAX232.
    H δεύτερη δοκιμή θα γίνει με γεφύρωση των ακροδεκτών 11 και 12 του MAX232. Πατώντας πλήκτρα στο PC θα πρέπει να τα βλέπεις πίσω. Τώρα είσαι σίγουρος ότι λειτουργεί και το MAX232.

    Τελική δοκιμή είναι να συνδέσεις το αισθητήριο με το MAX232 και να το τροφοδοτήσεις. Τότε πληκτρολογείς στο PC:
    $SURE WB και πατάς CTRL-D και μετά CTRL-A
    πρέπει να πάρεις την απόκριση: 'White balance done!'

    Στο παραπάνω παράδειγμα έγραψα να δώσεις CR+LF με χρήση των CTRL-D και CTRL-A μη τυχόν και δε το κάνει το πρόγραμμα τερματικού αυτόματα. Σε κανονικές συνθήκες αυτά 'στέλνονται' πατώντας το πλήκτρο <enter>. Υπάρχει και σχετική ρύθμιση στις 'επιλογές ASCII' η οποία προσθέτει αλλαγή γραμμής (LF) με το πάτημα της επαναφοράς (CR).

    Φιλικά,
    Γιώργος

    0 Not allowed! Not allowed!

  7. #7
    Μέλος Το avatar του χρήστη herctrap
    Όνομα
    Ηρακλής
    Εγγραφή
    May 2010
    Περιοχή
    Αιγάλεω / Πυλος
    Μηνύματα
    1.971

    Προεπιλογή

    δοκιμασε να περασεις αυτο


    void setup() {

    }

    void loop()
    {

    }
    και μαλον πρεπει να συνδεσεις το rx στο rx και το tx στο tx

    0 Not allowed! Not allowed!

  8. #8
    Μέλος Το avatar του χρήστη nathanas
    Όνομα
    Νίκος
    Εγγραφή
    May 2009
    Περιοχή
    Αθήνα - Χαλάνδρι
    Μηνύματα
    250

    Προεπιλογή

    Να ρωτήσω και γω κάτι για arduino? Πρόσφατα τον έπιασα στα χέρια μου και πήρα και την nokia 3310 LCD Shield από nuelectronics.com καθώς και τα αισθητήρια θερμοκρασίας.
    http://www.nuelectronics.com/estore/...products_id=12
    http://www.nuelectronics.com/estore/...products_id=28

    Θέλω πέρα από το serial monitor να μπορώ να εμφανίσω τις τιμές και στην οθόνη LCD, αλλά επειδή είναι σε byte values, δεν μπορώ...
    Ξέρω μόνο να τυπώνω string...
    Κάποιος να μου πει τι κώδικα να χρησιμοποιήσω για να το κάνω...Χρησιμοποιώ την "nokia_3310_lcd.h" library.

    -----------
    Serial.print("Current humdity = ");
    Serial.print(dht11_dat[0], DEC);
    Serial.print(".");
    Serial.print(dht11_dat[1], DEC);
    Serial.print("% ");
    Serial.print("temperature = ");
    Serial.print(dht11_dat[2], DEC);
    Serial.print(".");
    Serial.print(dht11_dat[3], DEC);
    Serial.println("C ");
    -----------

    0 Not allowed! Not allowed!

  9. #9
    Μέλος
    Όνομα
    Αντρεας
    Εγγραφή
    Oct 2008
    Περιοχή
    Χανια
    Μηνύματα
    34

    Προεπιλογή

    Λοιπον παιδια γραφω μια εντολη π.χ $SURE WB στο serial monitor αλλα δεν "απανταει" (white balance done) οπως θα επρεπε.Μετα που ξαναπαταω την ιδια εντολη για 2η φορα μου πεταει Bad command!Αρα υπαρχει επικοινωνια ετσι δεν ειναι??
    Καμια ιδεα??

    0 Not allowed! Not allowed!

  10. #10
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από GeorgeVita Εμφάνιση μηνυμάτων
    ... $SURE WB και πατάς CTRL-D και μετά CTRL-A πρέπει να πάρεις την απόκριση: 'White balance done!'

    Στο παραπάνω παράδειγμα έγραψα να δώσεις CR+LF με χρήση των CTRL-D και CTRL-A μη τυχόν και δε το κάνει το πρόγραμμα τερματικού αυτόματα.
    Γειά σου Αντρέα, το έκανες όπως γράφω παραπάνω;
    Το 'bad command' το βγάζει και όταν προσπαθείς πάλι;
    Δοκίμασε και με πεζά γράμματα (αν και το datasheet έχει κεφαλαία στο παράδειγμα).
    G

    0 Not allowed! Not allowed!

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

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

  1. Προβολεας αλλαγης χρωματων
    By kokoblue in forum Κυκλώματα Εικόνας-'Ηχου & Φωτισμού
    Απαντήσεις: 8
    Τελευταίο Μήνυμα: 06-05-15, 22:46
  2. αντιστροφη χρωματων
    By johny7 in forum Software Η/Υ
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 08-01-12, 22:34
  3. Απαντήσεις: 17
    Τελευταίο Μήνυμα: 23-05-11, 12:10
  4. κωδικας χρωματων μεταβλητων πυκνωτων
    By maouna in forum Εξαρτήματα & Datasheets
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 03-12-10, 23:13
  5. Εξαρτημα αναγνωρισης θεσεως
    By BLACKANGEL in forum Εξαρτήματα & Datasheets
    Απαντήσεις: 3
    Τελευταίο Μήνυμα: 15-11-08, 17:55

Tags for this Thread

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

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