PDA

Επιστροφή στο Forum : Πρόβλημα με LCD Serial Display



xmaze
17-02-11, 16:49
Αγόρασα μια οθονη απο το δικτυο , αυτην http://cgi.ebay.com/Arduino-Serial-LCD-display-for-Sensor-Shield-JHD-162A_W0QQitemZ330521096233QQcategoryZ26206QQcmdZVi ewItemQQ_trksidZp5197.m7QQ_trkparmsZalgo%3DLVI%26i tu%3DUCI%26otn%3D1%26po%3DLVI%26ps%3D63%26clkid%3D 7152071487711721586

και στην σελίδα αναφέρει οτι επικοινωνεις με την οθονη με την εντολή Serial.print("$PRINT hello world");
Οταν σύνδεσα την οθόνη στα πινς RX/TX δεν λειτουργούσε...
Έψαξα λίγο και τελικά την σύνδεσα στα πινσ SDA/SCL και άλλα ξα της εντολές με τις αντίστοιχες της βιβλιοθήκης LiquidCrystal_I2C.h και λειτούργησε κανονικά!

Και ερωτώ (Ηρακλή ακούς;)
Γίνεται να δουλέψει με RX/TX pins ωστε να μπορώ να την συνδέσω και σε άλλους μΕ ;

mariosm
17-02-11, 17:52
Γινεται να δουλεψει με ολους τους επεξεργαστες αφου ομως χρησιμοποιησεις προτοκολο Ι2C και οχι UART. Για RX/TX απλα ξεχασετο!!

xmaze
17-02-11, 18:18
Γιατί να το ξεχάσω; Δεν το υποστηρίζει η Οθόνη;

mariosm
17-02-11, 18:50
H οθονη ειναι μια κοινη οθονη οπως ολες οι 16χ2. Την σειριακη επικοινωνια την κανει το πλακετακι που ειναι κολλημενο πισω. Ειναι εμφανεστατο (το γραφει πανω στην πλακετα) οτι εχει συνδεση με SDA/SCL. Με απλα λογια αυτο σημαινει DATA και CLOCK. Αρα μονο I2C protocol.

xmaze
17-02-11, 19:17
Γιατί να το ξεχάσω; Δεν το υποστηρίζει η Οθόνη;

lol Εννοούσα το τσιπ και όχι τα pixels!! :wiink:
το PCA8574 έχει, που αναφέρεται ως Remote 8-bit I/O expander for I2C-bus
Έλεγα μήπως μπορόυσα με κάποιον τρόπο να επικοινωνήσω και με UART!
άρα ο κινέζος μου την έφερε!!
(http://www.google.gr/url?sa=t&source=web&cd=1&ved=0CBgQFjAA&url=http%3A%2F%2Fwww.nxp.com%2Fdocuments%2Fdata_sh eet%2FPCA8574_PCA8574A.pdf&rct=j&q=pca%208574&ei=yVVdTZetMs3fsgaUm-3lCg&usg=AFQjCNGXyE-KJ6Y93zh_rZ77aRPmvFKV-A&sig2=sLSJFI3xdiLzL4U1BQW3yw&cad=rja)

mariosm
17-02-11, 19:38
άρα ο κινέζος μου την έφερε!!

Νομιζεις οτι ο κινεζος ξερει τι πουλαει; Ουτε και αυτος θα ξερει. Και αν τον ρωτησεις μαλλον θα κανει τον....κινεζο.

GeorgeVita
17-02-11, 19:52
...άρα ο κινέζος μου την έφερε!!

Στο link όμως γράφει καθαρά:
What's it?
> 100% Brand New Arduino Serial LCD display for Sensor Shield JHD 162A

Δηλαδή προορίζεται για κάτι συγκεκριμένο (Sensor Shield ...)
Εσύ έχεις ή ξέρεις τι είναι αυτό το "Sensor Shield ...";

G

xmaze
17-02-11, 20:00
Στο link όμως γράφει καθαρά:
What's it?
> 100% Brand New Arduino Serial LCD display for Sensor Shield JHD 162A

Δηλαδή προορίζεται για κάτι συγκεκριμένο (Sensor Shield ...)
Εσύ έχεις ή ξέρεις τι είναι αυτό το "Sensor Shield ...";

G

έχω και απο αυτό!!
ειναι αυτό εδώ http://neoindesign.files.wordpress.com/2009/07/arduino_sensor_shield_v4_1.png?w=376&h=281
και εχει διαφορες συνδεσεις, και στο αντιστοιχο της οθόνης γράφει TX/SDA RX/SCL αλλά η οθόνη δουλευει μόνο με τiς εντολεσ τησ I2C

chip
17-02-11, 20:54
μα σειριακή επικοινωνία είναι το i2c! Σειριακή επικοινωνία δεν σημαίνει απαραίτητα το πρωτοκολο της RS232.
Τι τσιπάκι είναι αυτό που έχει η πλακετίτσα αυτή?

spyroslo
17-02-11, 21:14
Λοιπόν φίλος στο ψητό , η οθόνη αυτή μιαζη με τιν οθόνη αυτή

http://cgi.ebay.com/Arduino-Serial-LCD-1602-Shield-Free-Cable-/280526344010?pt=LH_DefaultDomain_0&hash=item4150ac4f4a

που την έχω και εγώ και μού βγήκε η πιστή για να την κάνω να δουλέψει με σειριακή επικοινωνία (τη δουλεύω με picaxe) .
Κάθε φόρα που στέλνεις μια εντολή πχ..

$PRINT Hello World!

πρέπει στο τέλος της εντολής να στέλνεις και το χαρακτήρα ENTER δλδ..

$PRINT Hello World! $0a

$0a=ΕΝΤΕR σε hex

mariosm
17-02-11, 21:19
$0a=ΕΝΤΕR σε ascii

Μεχρι τωρα το ENTER ηταν 0D (hex). Ποτε αλλαξε; :001_huh:

spyroslo
17-02-11, 21:26
Μεχρι τωρα το ENTER ηταν 0D (hex). Ποτε αλλαξε; :001_huh:

ναι έχεις δίκιο εκ παραδρομής το έγραψα σε ΗΕΧ που χρησιμοποιώ στο κώδικα μου

chip
18-02-11, 10:10
κι εγώ ξαναρωτάω!
Ποιο είναι το τσιπάκι στην πλακετίτσα? μήπως είναι pcf8574 οπότε δεν υπάρχει λόγος να το παιδεύεται γιατί είναι απλά ένα extender για i2c!

GeorgeVita
18-02-11, 11:29
... το PCA8574 έχει, που αναφέρεται ως Remote 8-bit I/O expander for I2C-bus ...
Ετσι είναι το είχε γράψει παραπάνω. Λόγω της διπλής λειτουργίας στο σειριακό bus, ίσως θα έπρεπε ο πωλητής να τονίσει Ι²C για να μην εννοήσουμε άλλα σειριακά.

Οι χαρακτήρες 0x0D (CR-Carriage Return (http://en.wikipedia.org/wiki/Carriage_return)-επαναφορά στην αρχή της ίδιας γραμμής) και 0x0A (LF-Line Feed (http://en.wikipedia.org/wiki/Line_feed)-προώθηση στην επόμενη γραμμή) συνήθως πάνε μαζί (CR+LF) και προέρχονται από τις ... γραφομηχανές. Εντός προγραμμάτων σειριακής επικοινωνίας μπορούμε να "γράψουμε" αυτούς τους χαρακτήρες με Ctrl-N (CR) και Ctrl-A (LF). Εδώ μάλλον το θέλει το πρόγραμμα στον μC για να αρχίσει να στέλνει τους χαρακτήρες στο display όλα μαζί παρά έναν-έναν.

G

cloud_constructor
18-02-11, 11:33
μεσα στο παραδειγμα που εχει βαλει ο τυπος ολες οι εντολες Print εχουν την μορφη¨:
Serial.print("$PRINT Flamingo EDA
");

εχει βαλει enter αλλα τι?whitespace?

Νταξει δε θα ξερει και αυτος καλα οπως καποιος προ-ειπε αλλα αμα βρεις λυση καλο ειναι να του στειλεις ενα email να του πεις τι παιζει για να ξεκαθαριστει αυτο.(δηλαδι εγω αυτο θα εκαλα , αλλα μερικες φορες ειμαι τοσο καλος που με εντυπωσιαζω! ( χαχασχασχαχαχαχαχα ))