Πίνακας περιεχομένων:

Stereo Keys to Car Stereo Adapter (CAN Bus -> Key1): 6 βήματα
Stereo Keys to Car Stereo Adapter (CAN Bus -> Key1): 6 βήματα

Βίντεο: Stereo Keys to Car Stereo Adapter (CAN Bus -> Key1): 6 βήματα

Βίντεο: Stereo Keys to Car Stereo Adapter (CAN Bus -> Key1): 6 βήματα
Βίντεο: Remove the canbus information wire 2024, Ιούλιος
Anonim
CAN Bus Sniffing
CAN Bus Sniffing

Key1) "src =" https://content.instructables.com/ORIG/F3X/UXCI/KCT3F9KZ/F3XUXCIKCT3F9KZ-p.webp

Αποστολή εντολών στο Stereo
Αποστολή εντολών στο Stereo

Key1) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Λίγες μέρες μετά την αγορά μεταχειρισμένου αυτοκινήτου, ανακάλυψα ότι δεν μπορώ να παίξω μουσική από το τηλέφωνό μου μέσω του στερεοφωνικού αυτοκινήτου. Ακόμα πιο απογοητευτικό ήταν ότι το αυτοκίνητο είχε bluetooth, αλλά επέτρεπε μόνο φωνητικές κλήσεις, όχι μουσική. Είχε επίσης θύρα USB Windows Phone, αλλά δεν θα λειτουργούσε με iPhone χωρίς dongle 60 $.

Έχοντας αντικαταστήσει τα στερεοφωνικά σε προηγούμενα αυτοκίνητά μου, χωρίς πολλή σκέψη ή έρευνα, παρήγγειλα ένα στερεοφωνικό αντικατάστασης 40 $ από έναν γνωστό "φθηνό" ιστότοπο. Το στερεοφωνικό είχε μια κάμερα οπισθοπορείας, Car Play και μια σειρά από επιπλέον δυνατότητες, που φαινόταν πολύ καλύτερη αξία από το πιο ακριβό dongle που κάνει μόνο ένα πράγμα.

Αφού αγόρασα και ζωγράφισα μια νέα πρόσοψη, τρισδιάστατη εκτύπωση βάσης και πολλή επιπλέον εργασία (η οποία θα μπορούσε να είναι διδάσκουσα από μόνη της), κατέληξα σε μια δυσάρεστη ανακάλυψη. Οι εντολές των κλειδιών του τιμονιού αποστέλλονταν μέσω CAN bus, αλλά το στερεοφωνικό είχε μόνο είσοδο Key1. Μη έχοντας παραδώσει τη μισή διαδρομή, παρήγγειλα έναν προσαρμογέα 60, ο οποίος αποδείχθηκε ότι δεν λειτουργούσε. Σε αυτό το σημείο αποφάσισα να φτιάξω μόνος μου έναν προσαρμογέα.

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

Προμήθειες

Ο προσαρμογέας (περίπου 15 $)

  • Arduino Pro Mini 5V (ή συμβατή πλακέτα)
  • Μονάδα διαύλου MCP2515 CAN
  • Διάτρητος πίνακας 60x80mm
  • Digitalηφιακό ποτενσιόμετρο X9C104 100K Ohm (εξαρτάται από το στερεοφωνικό σας)
  • DC-DC Ρυθμιστής Step down LM2596S 3-40V 3A
  • Θήκη ασφάλειας καλωδίου + ασφάλεια (100-200 Ohm)
  • Κουτί έργου ή τρισδιάστατος εκτυπωτής για εκτύπωση
  • Στερεοφωνικά βύσματα αυτοκινήτου (αρσενικά + θηλυκά)
  • Είδη συγκόλλησης, σύρματα κ.λπ.

Δοκιμαστικοί βοηθοί (δεν απαιτούνται αυστηρά, αλλά θα κάνουν τον έλεγχο πολύ πιο εύκολο)

  • Arduino (οποιοσδήποτε πίνακας 5V θα κάνει)
  • Μονάδα διαύλου MCP2515 CAN
  • Breadboard + άλτες

Βήμα 1: CAN Bus Sniffing

Αντί να τρέχουν μια δέσμη καλωδίων στο εσωτερικό του αυτοκινήτου σας που συνδέει ένα σωρό συστήματα, ορισμένα σύγχρονα οχήματα έχουν ζεύγη καλωδίων που τρέχουν σε κάθε εξάρτημα. Οι πληροφορίες αποστέλλονται ως ψηφιακά πακέτα δεδομένων μέσω αυτών των καλωδίων και όλα τα συστήματα μπορούν να διαβάσουν όλα τα μηνύματα. Αυτό είναι το δίκτυο CAN bus (μπορεί να υπάρχουν πολλά δίκτυα στο αυτοκίνητό σας, οπότε όλες οι πληροφορίες ενδέχεται να μην είναι ορατές).

Αυτό που θέλουμε να κάνουμε, είναι να συνδεθούμε στο δίκτυο CAN bus και να «μυρίσουμε» την κίνηση δεδομένων. Με αυτόν τον τρόπο μπορούμε να «δούμε» όταν πατηθεί ένα κλειδί τιμονιού. Κάθε πακέτο έχει ένα αναγνωριστικό, το οποίο αντιπροσωπεύει το υποσύστημα του οχήματος που έστειλε το πακέτο και τα δεδομένα που αντιπροσωπεύουν την κατάσταση του συστήματος. Σε αυτήν την περίπτωση προσπαθούμε να βρούμε το αναγνωριστικό του υποσυστήματος που στέλνει μηνύματα κλειδιών τιμονιού και την αναπαράσταση δεδομένων κάθε κλειδιού.

Εάν είστε τυχεροί, ίσως βρείτε τις τιμές για το αυτοκίνητό σας κάπου online και μπορείτε να παραλείψετε αυτό το βήμα.

Αυτή η διαδικασία είναι λίγο εμπλεκόμενη και έχει ήδη εξηγηθεί σε άλλα μέρη, οπότε θα την συνοψίσω:

  • Βρείτε τις σωστές τιμές για την επικοινωνία CAN bus στο αυτοκίνητό σας. Για το αυτοκίνητό μου (Fiat Idea 2009) ήταν ρυθμός baud 50KBPS και ταχύτητα ρολογιού 8MHz.
  • Συνδεθείτε στο δίκτυο CAN bus χρησιμοποιώντας τη μονάδα διαύλου CAN και ένα Arduino σε διαμόρφωση "sniffer".
  • Διαβάστε τις τιμές διαύλου CAN στο φορητό υπολογιστή σας χρησιμοποιώντας ένα εργαλείο όπως το https://github.com/alexandreblin/python-can-monito…. Θα είναι πολύ δύσκολο να το κάνουμε χωρίς αυτό, καθώς στέλνονται πολλά μηνύματα ακόμη και όταν το αυτοκίνητο δεν κάνει τίποτα.
  • Πατήστε το κουμπί του τιμονιού και σημειώστε τις αλλαγές στην τιμή. Αυτό μπορεί να είναι λίγο δύσκολο καθώς αποστέλλονται πολλά μηνύματα και μπορεί να είναι δύσκολο να καταλάβουμε ποιο είναι ποιο.

Ακολουθούν δύο υπέροχα άρθρα που εξηγούν τη διαδικασία σε βάθος:

  • https://medium.com/@alexandreblin/can-bus-reverse-…
  • https://www.instructables.com/id/CAN-Bus-Sniffing-…

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

Ταυτότητα | ID Hex | Byte 0 | Byte 1 | Κουμπί

------------------------------------------------- 964 | 3C4 | 00 | 00 | Χωρίς κουμπιά 964 | 3C4 | 04 | 00 | SRC 964 | 3C4 | 10 | 00 | >> 964 | 3C4 | 08 | 00 | << 964 | 3C4 | 00 | 80 | Τηλέφωνο 964 | 3C4 | 00 | 08 | ESC 964 | 3C4 | 80 | 00 | + 964 | 3C4 | 40 | 00 | - 964 | 3C4 | 00 | 40 | Κέρδισε 964 | 3C4 | 00 | 02 | Πάνω 964 | 3C4 | 00 | 01 | Κάτω 964 | 3C4 | 00 | 04 | Εντάξει

Το αναγνωριστικό υποσυστήματος είναι 3C4 (σε αυτή την περίπτωση), το οποίο είναι δεκαεξαδικός αριθμός, οπότε θα πρέπει να το γράψουμε σαν 0x3C4 στα σκίτσα του Arduino. Μας ενδιαφέρουν επίσης τα byte 0 και 1 (στην περίπτωσή σας ενδέχεται να υπάρχουν περισσότερα byte). Αυτές είναι επίσης δεκαεξαδικές τιμές, επομένως θα πρέπει επίσης να γραφτούν με κύριο 0x.

Αν μετατρέψετε τις τιμές σε δυαδικό, θα παρατηρήσετε ότι τα δυαδικά ψηφία δεν αλληλοεπικαλύπτονται (για παράδειγμα + 0b10000000 και - 0b01000000) αυτό σημαίνει ότι μπορούν να πατηθούν ταυτόχρονα πολλά πλήκτρα.

Προτείνω να φτιάξετε το sniffer με τα υλικά που αναφέρονται στην ενότητα "βοηθός δοκιμής", ώστε να μπορείτε να το ξαναχρησιμοποιήσετε αργότερα για να προσομοιώσετε το αυτοκίνητό σας. Αυτό θα σας γλιτώσει από το να καθίσετε στο αυτοκίνητό σας όλη την ώρα ενώ κατασκευάζετε και δοκιμάζετε τον προσαρμογέα. Μπορείτε να χρησιμοποιήσετε το παρεχόμενο σκίτσο για να ενεργήσετε ως προσομοιωτής. Τροποποιήστε το "subsystemId", το "data0" και το "data1" με τις τιμές που έχετε ξεσηκώσει.

Βήμα 2: Αποστολή εντολών στο Stereo

Αποστολή εντολών στο Stereo
Αποστολή εντολών στο Stereo

Πριν ξεκινήσετε την κατασκευή του προσαρμογέα, είναι καλύτερο να δοκιμάσετε πρώτα εάν το στερεοφωνικό μπορεί να λάβει εντολές.

Είχα μια εφεδρική μπαταρία αυτοκινήτου, οπότε συνέδεσα το στερεοφωνικό απευθείας σε αυτό. Εάν έχετε πηγή τροφοδοσίας πάγκου 12V, ακόμα καλύτερα. Δυστυχώς δεν μπόρεσα να βρω πολλές πληροφορίες στο διαδίκτυο σχετικά με την είσοδο Key1 στη μονάδα μου, οπότε κατέφυγα στον πειραματισμό. Δεν ανησυχούσα πολύ για το κάψιμο του στερεοφωνικού σε αυτό το σημείο, καθώς είναι σχετικά φθηνό και αυτή ήταν η τελευταία μου προσπάθεια να το κάνω να δουλέψει με το αυτοκίνητό μου.

Το στερεοφωνικό έχει οθόνη εκμάθησης εντολών, όπου είναι δυνατό να επιλέξετε μία από τις δύο τιμές αντίστασης (1Κ και 3.3Κ) και να δείτε την τιμή "τάσης" (0-255). Το "Voltage" αναφέρεται επειδή είναι παραπλανητικό. Πέρασα πολύ χρόνο εφαρμόζοντας διαφορετικές τάσεις στο Key1 χωρίς τύχη. Προσπάθησα επίσης να χρησιμοποιήσω διαφορετικές αντιστάσεις για να εφαρμόσω την τάση χωρίς τύχη.

Η ανακάλυψη ήρθε όταν προσπάθησα να αγγίξω το καλώδιο Key1 στη γείωση της μπαταρίας, το οποίο είχε ως αποτέλεσμα η "τάση" να πέσει στο 0. Αυτό σε συνδυασμό με διαφορετικές αντιστάσεις θα παρήγαγε σταθερές τιμές "τάσης" στην οθόνη εκμάθησης.

Τώρα που ήξερα πώς να στέλνω εισόδους στο στερεοφωνικό, χρειαζόμουν έναν τρόπο να τις στείλω από ένα Arduino. Σε αυτό το σημείο δεν έχω ακούσει για πολυπλέκτες, οι οποίοι μαζί με ορισμένες αντιστάσεις, θα μπορούσαν να ήταν μια γρηγορότερη και πιο αξιόπιστη λύση (δεν είμαι ακόμα σίγουρος αν αυτό είναι εφικτό), οπότε χρησιμοποίησα ένα ψηφιακό ποτενσιόμετρο. Στην αρχή είχα προβλήματα να λειτουργήσει το ψηφιακό δοχείο, μέχρι που κατάλαβα ότι πρέπει να το συνδέσω ως ρεοστάτης για να λειτουργήσει ως μεταβλητή αντίσταση αντί για διαχωριστή τάσης. Βασικά έπρεπε να συνδέσω τους ακροδέκτες RH και RW.

Εκτός από την αντίσταση, ο χρόνος ήταν καθοριστικός. Εάν η πτώση αντίστασης είναι πολύ σύντομη, η εντολή δεν θα καταχωρηθεί. Εάν είναι πολύ καιρό, μπορεί να εγγραφεί πολλές φορές. Πτώση 240ms, ακολουθούμενη από καθυστέρηση 240ms μέχρι η επόμενη εντολή να λειτουργήσει αρκετά αξιόπιστη για το στερεοφωνικό μου. Παρόλο που φαίνεται πολύ λίγος χρόνος, σημαίνει ότι μπορούμε να στείλουμε το πολύ 2 εντολές ανά δευτερόλεπτο, κάτι που είναι αισθητό εάν προσπαθείτε να αυξήσετε ή να χαμηλώσετε γρήγορα την ένταση. Προσπάθησα να παίξω με διαφορετικούς χρόνους και μοτίβα, πράγμα που αύξησε την ταχύτητα αλλά δεν ήταν πολύ αξιόπιστο. Εάν έχετε οποιεσδήποτε ιδέες για το πώς να το βελτιώσετε, αφήστε το στα σχόλια.

Πριν προχωρήσετε περαιτέρω, προτείνω να δημιουργήσετε ένα πρωτότυπο για να ελέγξετε εάν το στερεοφωνικό σας δέχεται το ίδιο είδος εισόδου. Ακόμα κι αν δέχεται διαφορετικές τάσεις, ο προσαρμογέας θα πρέπει να λειτουργεί με μικρές αλλαγές στην καλωδίωση και το σκίτσο του Arduino.

Βήμα 3: Δημιουργία προσαρμογέα

Δημιουργία προσαρμογέα
Δημιουργία προσαρμογέα
Δημιουργία προσαρμογέα
Δημιουργία προσαρμογέα
Δημιουργία προσαρμογέα
Δημιουργία προσαρμογέα

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

Επάνω αριστερά είναι ο ρυθμιστής step down, ο οποίος μετατρέπει 12V από την μπαταρία του αυτοκινήτου, σε 5V που μπορεί να χρησιμοποιηθεί από τα άλλα εξαρτήματα.

Κάτω αριστερά είναι η μονάδα CAN bus, η οποία διαβάζει τιμές από το δίκτυο CAN bus του αυτοκινήτου και τις προωθεί στο Arduino.

Επάνω δεξιά είναι το ψηφιακό ποτενσιόμετρο (ενσύρματο ως ρεοστάτης) που λειτουργεί ως μεταβλητή αντίσταση μεταξύ του εδάφους και της εισόδου Key1 του στερεοφωνικού.

Κάτω δεξιά είναι το Arduino, το οποίο λειτουργεί ως ο εγκέφαλος του προσαρμογέα, μετατρέποντας τα μηνύματα διαύλου CAN σε αντιστάσεις που διαβάζονται από το στερεοφωνικό.

Στην είσοδο 12V υπάρχει μια ασφάλεια 150mA, που πιθανότατα δεν θα προστατεύσει το κύκλωμα, αλλά είναι εκεί για να αποτρέψει πυρκαγιά σε περίπτωση βραχυκύκλωσης.

Βήμα 4: Το Λογισμικό

Το λογισμικό
Το λογισμικό

Μετά τη λήψη, τοποθετήστε και τα τρία αρχεία.ino σε έναν φάκελο. Με αυτόν τον τρόπο όλοι θα είναι μέρος του ίδιου σκίτσου και θα αναπτυχθούν στο Arudino μαζί.

Πρέπει επίσης να προσθέσετε τις απαιτούμενες βιβλιοθήκες στο Arduino IDE. Για να το κάνετε αυτό, κατεβάστε τα ακόλουθα αρχεία:

github.com/autowp/arduino-mcp2515/archive/…

github.com/philbowles/Arduino-X9C/archive/…

στη συνέχεια, προσθέστε και τα δύο πηγαίνοντας στο Sketch> Include Library> Add. Zip Library…

CanBusStereoAdapter.ino

Η βασική ρύθμιση εκτελείται σε αυτό το αρχείο.

Οι βασικές εντολές Οι τιμές διαύλου CAN ορίζονται στο επάνω μέρος. Αν δεν έχετε το ίδιο αυτοκίνητο με εμένα, πιθανότατα θα πρέπει να βάλετε τις δικές σας αξίες. Μπορείτε να χρησιμοποιήσετε τις δεκαεξαδικές τιμές από το sniffer, εγώ χρησιμοποίησα δυαδική οπότε είναι πιο εύκολο να δείτε ότι δεν υπάρχουν τυχαίες επικαλύψεις στα bit.

Όλα τα αυτοκίνητα δεν έχουν τις ίδιες εντολές τιμονιού, οπότε μη διστάσετε να αφαιρέσετε, να προσθέσετε ή να επεξεργαστείτε τις καθορισμένες τιμές.

Μην ξεχάσετε να αντικαταστήσετε το αναγνωριστικό υποσυστήματος στο "STEERING_ID".

CanBus.ino

Αυτό το αρχείο ρυθμίζει τον ακροατή διαύλου CAN, ερμηνεύει τα πακέτα και τοποθετεί τις τιμές αντίστασης σε ένα κυκλικό buffer.

Προσαρμόστε τη διαμόρφωση του διαύλου CAN στη λειτουργία "setupCanBus" ώστε να ταιριάζει στο αυτοκίνητό σας.

Χρησιμοποιούμε ένα κυκλικό buffer γιατί, όπως αναφέρθηκε προηγουμένως, η είσοδος εντολών στο τιμόνι είναι πολύ πιο γρήγορη από τη στερεοφωνική είσοδο. Με αυτόν τον τρόπο δεν χάνουμε καμία εντολή ενώ το ψηφιακό ποτενσιόμετρο κάνει τη δουλειά του. Εάν εισαγάγουμε πάρα πολλές εντολές, οι παλαιότερες θα απορριφθούν πρώτα, αφού είναι οι λιγότερο σημαντικές. Αυτό μας επιτρέπει επίσης να χειριστούμε την περίπτωση όταν πατάμε πολλά κουμπιά, αφού η στερεοφωνική είσοδος δέχεται μόνο μία τιμή κάθε φορά.

Εάν έχετε αλλάξει κάποιον από τους ορισμούς εντολών στο "CanBusStereoAdapter.ino", θα χρειαστεί επίσης να τους ενημερώσετε στη λειτουργία "handleMessageData". Το "handleMessageData" ελέγχει εάν τα παρεχόμενα πλαίσια δεδομένων διαύλου CAN περιέχουν οποιαδήποτε από τις γνωστές εντολές χρησιμοποιώντας μια λειτουργία bit bit AND.

Για παράδειγμα, αν έχω πατήσει >> και + ταυτόχρονα που θα μας δώσει ένα πλαίσιο δεδομένων με τιμή 0b10010000. >> (για το αυτοκίνητό μου) είναι 0b00010000 σε δυαδικό και το + είναι 0b10000000.

--------------- >> -------------- + ------------- << --- - δεδομένα0 | 0b10010000 | 0b10010000 | 0b10010000 εντολή | ΚΑΙ 0b00010000 | ΚΑΙ 0b10000000 | ΚΑΙ 0b00001000 αποτέλεσμα | = 0b00010000 | = 0b10000000 | = 0b00000000

Εδώ μπορούμε να δούμε ότι το αποτέλεσμα της λειτουργίας AND θα είναι μεγαλύτερο από 0 εάν η εντολή είναι παρούσα στο πλαίσιο δεδομένων. Το μόνο που έχουμε να κάνουμε είναι να ελέγξουμε για {data frame} & {command value}> 0, για κάθε εντολή που ορίσαμε.

Λάβετε υπόψη ότι κάθε πλαίσιο δεδομένων περιέχει διαφορετικές εντολές, οπότε είναι εντάξει εάν οι τιμές εντολών είναι ίδιες, καθώς τις ελέγχουμε με βάση τα δικά τους πλαίσια. Στο παράδειγμά μου τόσο το << και το ESC έχουν και τα δύο την ίδια τιμή 0b00001000 (0x08), αλλά << είναι στο data0 και το ESC στα δεδομένα1.

Αφού προσδιορίσουμε ότι υπάρχει μια εντολή σε ένα πλαίσιο, προσθέτουμε μια τιμή ψηφιακού δοχείου στο κυκλικό buffer. Οι τιμές κυμαίνονται από 0 έως 99, αλλά έχω παρατηρήσει ότι η "τάση" που διαβάζεται από το στερεοφωνικό δεν είναι γραμμική, οπότε δοκιμάστε τις τιμές μόνοι σας.

DigitalPot.ino

Αυτό το αρχείο βγάζει τιμές από το κυκλικό buffer και τις στέλνει στο ψηφιακό δοχείο για εκτέλεση. Στην περίπτωσή μου "pot.setPotMin (false);" θα αυξήσει την αντίσταση στο μέγιστο, το οποίο το στερεοφωνικό θα διαβάσει ως μέγιστη "τάση". Το στερεοφωνικό σας μπορεί να απαιτήσει από εσάς να ρυθμίσετε το ψηφιακό δοχείο στο ελάχιστο, οπότε δοκιμάστε το.

Βήμα 5: Το περίβλημα του έργου

Το περίβλημα του έργου
Το περίβλημα του έργου

Έχω έναν εκτυπωτή 3D οπότε αποφάσισα να εκτυπώσω ένα περίβλημα δύο τμημάτων για τον προσαρμογέα μου. Έχω συμπεριλάβει ένα αρχείο Fusion 360 το οποίο μπορείτε να επεξεργαστείτε και αρχεία gcode που θα ταιριάζουν σε ένα διάτρητο 60x80mm.

Εάν δεν έχετε πρόσβαση σε έναν εκτυπωτή 3D, μπορείτε να χρησιμοποιήσετε ένα έτοιμο περίβλημα έργου ή ένα ανθεκτικό δοχείο.

Βήμα 6: Τελικές σκέψεις

Αρχικά σχεδίαζα τον προσαρμογέα να είναι συνδεδεμένος σε σταθερή τροφοδοσία και να ξυπνάω σε ορισμένα μηνύματα CAN bus, αφού το αυτοκίνητό μου δεν έχει καλώδιο ανάφλεξης στο στερεοφωνικό διαμέρισμα. Αργότερα αποφάσισα ότι δεν ήθελα να διακινδυνεύσω να αδειάσω την μπαταρία και να ανησυχώ για τον προσαρμογέα ενώ είμαι μακριά από το αυτοκίνητο. Χρησιμοποίησα διαχωριστή ασφάλειας αυτοκινήτου για να ανοίξω ένα καλώδιο ανάφλεξης και να μην περιπλέξω περαιτέρω τον προσαρμογέα.

Από τις δοκιμές μου η κατανάλωση ενέργειας είναι 20-30 mA. Το έβαλα στα 10 mA σε κατάσταση αδράνειας και θα μπορούσα να πάω ακόμα χαμηλότερα αφαιρώντας τις λυχνίες LED από τα εξαρτήματα, αλλά αποφάσισα να μην ασχοληθώ με αυτό, καθώς θα λειτουργεί μόνο ενώ το αυτοκίνητο λειτουργεί.

Είμαι αρκετά ευχαριστημένος με το τελικό αποτέλεσμα. Ο χρόνος απόκρισης είναι λογικός και σπάνια χάνει εντολές.

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

Συνιστάται: