Ένα ιστολόγιο για όσους αγαπούν τις ηλεκτρονικές κατασκευές...

Σάββατο 5 Μαΐου 2018

ARDUINO I/O pin expander I2C shield - Επέκταση εισόδων εξόδων σε arduino

Επιτέλους!!! μετά από μήνες αναμονής και μια χαμένη παραγγελία ήρθε το ολοκληρωνένο MCP23017 που περίμενα.

To MCP23017 είναι ένα ειδικό ολοκληρωμένο 28 ποδών της microchip που μπορεί να επεκτείνει τις εισόδους / εξόδους ενός μικροελεγκτή κατά 16 ψηφιακές θύρες. Η επικοινωνία με τον μικροελεγκτή γίνεται μέσω I2C διαύλου. Αυτό μας δίνει την δυνατότητα να μην καταναλώσουμε καθόλου θύρες του arduino αφού οι θύρες Α4 και Α5 που χρησιμοποιούνται για να επικοινωνήσουμε με το MCP23017 είναι διαθέσιμες και για άλλα modules I2C που θέλουμε να συνδέσουμε.



Όλες οι θύρες μπορούν να λειτουργήσουν είτε σαν είσοδοι είτε σαν έξοδοι. Τα ορίζουμε με την pinmode σαν τις κανονικές θύρες του arduino.

Η κατασκευή έγινε σε μορφή Arduino shield. Κάθεται πάνω στο Arduino με Stackable Header και
εκτός από τις 16 επιπλέον θύρες δίνει περισσότερες εξόδους +5V και GND για να μπορούμε να συνδέσουμε και κάποιο άλλο module καθώς επίσης και 4 pin για σύνδεση άλλου Ι2C module, π.χ. RTC clock.


Στο βίντεο φαίνεται η κατασκευή σε δράση. Οι τέσσερις έξοδοι ελέγχουν αντίστοιχα LED που αναβοσβύνουν σαν τα φώτα του ΚΙΤ και το μπουτόν αντιστοιχεί σε μία ακόμη θύρα που λειτουργεί σαν είσοδος. Όταν πατηθεί το μπουτόν τότε τα LED αναβοσβήνουν όλα μαζί.

Το σχηματικό διάγραμμα
Την βιβλιοθήκη που χρησιμοποίησα μπορείτε να την βρείτε εδώ

Το αρχείο με τον κώδικα για δοκιμή υπάρχει στο zip.

Τα αρχεία της κατασκευής με το PCB θα τα βρείτε εδώ.



Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

Count down timer - χρονικό αντίστροφης μέτρησης

Μια απλή κατασκευή χρονομέτρου με αντίστροφη μέτρηση. Μπορεί να μετρήσει μέχρι 100 λεπτά με βήμα του ενός δευτερολέπτου. Είναι ιδανικό για ...