Shield για την μέτρηση της θερμοκρασίας

Σε αυτή την εργασία θα μιλήσουμε για τον αναλογικό αισθητήρα μέτρησης θερμοκρασίας, αυτόν με τύπο ΤΜΡ36. Άλλοι αισθητήρες της ίδιας κατηγορίας, με παρόμοια χαρακτηριστικά, είναι οι ΤΜΡ35 και ΤΜΡ37, για τους οποίους δεν θα αναφερθούμε σε αυτό το εδάφιο, αλλά ο αναγνώστης μπορεί να βρει τα εγχειρίδια λειτουργίας τους στο διαδίκτυο. Ο ΤΜΡ36 είναι ένας […]

Διάταξη 8Χ8 dot matrix led

Οι πίνακες LED είναι ολοκληρωμένες διατάξεις από LEDs τοποθετημένα σε γραμμές και στήλες, που μπορούν να χρησιμοποιηθούν για την εμφάνιση αριθμών, γραμμάτων και σχημάτων. Οι διατάξεις LEDs έχουν πολλές εφαρμογές στον σημερινό κόσμο, κυρίως στην εμφάνιση κειμένου στις φωτεινές πινακίδες, εμφάνιση εικόνων σε διαφημιστικές επιγραφές, σε διατάξεις ψηφιακών ρολογιών και προβολή άλλων πληροφοριών καθώς και […]

1. Πρώτα βήματα με το Raspberry Pi OLD

Σε αυτή τη σειρά μαθημάτων θα επικεντρώσουμε την προσοχή μας στο Raspberry Pi. Αυτός είναι ένας ολοκληρωμένος υπολογιστής μιας πλακέτας  με μέγεθος μιας παλάμης ή όπως ονομάζεται SBC (single board computer). Με αυτό μπορούμε να αναπτύξουμε εφαρμογές Internet of Thinks (IoT) ή αλλιώς όπως λέγονται το Διαδίκτυο των Πραγμάτων. Με το IoT μπορούμε να έχουμε […]

Παρουσίαση του περιβάλλοντος Arduino IDE

Για την ανάπτυξη εφαρμογών με τις πλακέτες της πλατφόρμας Arduino, χρειάζεται κατάλληλο λογισμικό προσωπικού υπολογιστή, το ονομαζόμενο Arduino IDE (Integrated Development Environment) που χρησιμοποιείται για: Για να εγκαταστήσουμε το περιβάλλον Arduino IDE στον προσωπικό μας υπολογιστή, ακολουθούμε τα ακόλουθα βήματα: Για να αναπτύξουμε μια εφαρμογή με το Arduino IDE ανοίγουμε το Arduino IDE από το […]

1. Ο πρώτος κώδικας σας στο Arduino IDE

Στην συνέχεια θα γράψουμε τον κώδικα που θα κάνει το LED που βρίσκεται ενσωματωμένο στην πλακέτα Arduino και συνδεδεμένο στον ακροδέκτη 13 να αναβοσβήνει περιοδικά. Συνδέουμε το Arduino  στην πόρτα USB του προσωπικού υπολογιστή μας. Επιλέγουμε την σωστή πλακέτα στο περιβάλλον IDE επιλέγοντας από την επιλογή μενού: Εργαλεία > Πλακέτα και στη συνέχεια επιλέγουμε την […]

2. Ψηφιακή είσοδος και έξοδος

Μπορούμε να υλοποιήσουμε ένα ηλεκτρονικό κύκλωμα με τη χρήση του breadboard. Το breadboard είναι μια πλαστική βάση, με υποδοχές συνδεμένες κάθετα, ενώ επίσης οι οριζόντιες πλευρικές υποδοχές είναι συνδεμένες μεταξύ τους. Τα breadboard παράγονται σε διάφορα μεγέθη, σχήματα και χρώματα, όπως φαίνεται στην ακόλουθη εικόνα: Παράδειγμα: Σε αυτή την εργασία θα επιδείξουμε το κυματοειδές αναβόσβημα […]

3. Αναλογική είσοδος και έξοδος

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

4. Δουλεύοντας με μεταβλητές

Αντί να αναφερόμαστε σε μια συγκεκριμένη θέση στη μνήμη για να αποθηκεύσουμε δεδομένα (όπως γίνεται στη γλώσσα Assembly) η γλώσσα του Arduino χρησιμοποιεί απλές μεταβλητές που αντιπροσωπεύουν θέσεις μνήμης για την αποθήκευση δεδομένων. Επειδή η γλώσσα Arduino βασίζεται στη γλώσσα C, η γλώσσα Arduino χρησιμοποιεί μεταβλητές όπως ορίζονται και χρησιμοποιούνται στη γλώσσα C. Στη γλώσσα […]

Κ120 Αναπτυξιακή πλακέτα με τον ΜΑΧ7221 ή ΜΑΧ7219

Έχουμε σχεδιάσει μια PCB αναπτυξιακή πλακέτα, διπλής όψης, διαστάσεων 17cmΧ6cm η οποία έχει βάση για τον οδηγό ΜΑΧ7219 ή τον ΜΑΧ7221 (είναι η ίδια πλακέτα και για τους δύο οδηγούς). Πάνω στην πλακέτα συνκολούνται οχτώ ψηφία 0,56 inches κοινής καθόδου, ένα τροφοδοτικό 5V βασισμένο στο ολοκληρωμένο κύκλωμα LT1076-5 και μερικά ακόμη παθητικά εξαρτήματα και συγκεκριμένα […]

Οι οδηγοί display MAX7221 και ΜΑΧ 7219

Σε αυτό το πρότζεκτ θα σας παρουσιάσω τα ολοκληρωμένα κυκλώματα ΜΑΧ7221 και ΜΑΧ7219, που λειτουργούν σαν οδηγοί LED display επτά τμημάτων, τα οποία μπορούν να οδηγήσουν μέχρι οκτώ ψηφία. Θα σας περιγράψω το πώς επικοινωνούν σειριακά με ένα μικροελεγκτή καθώς επίσης θα σας παρουσιάσω τις εντολές που δέχονται απ’ αυτόν. Ο οδηγός display ΜΑΧ7221 είναι […]

Ο αισθηρήρας θερμοκρασίας DS18B20

Ο αισθητήρας θερμοκρασίας DS18B20 Το DS18B20 είναι ένας ψηφιακός αισθητήρας για την μέτρηση θερμοκρασίας υπό μορφή ολοκληρωμένου κυκλώματος. Η έξοδος του είναι σε βαθμούς Κελσίου με ακρίβεια 9 εως 12 bit. Ο αισθητήρας DS18B20 παρέχει και λειτουργία συναγερμού θερμοκρασίας με προγραμματιζόμενα από το χρήστη πάνω και κάτω όρια θερμοκρασίας. Επειδή διαθέτει μνήμη EEPROM αυτά τα […]

5. Επικοινωνία με το Serial Monitor

Αποστολή δεδομένων στο Serial Monitor Το Serial Monitor, είναι μια πρόσθετη δυνατότητα του Arduino IDE. Με αυτό μπορούμε να προβάλουμε δεδομένα, τα οποία στέλνει το Arduino, σε ένα αναδευόμενο παράθυρο του PC. Επίσης μπορούμε να στείλουμε δεδομένα από τον προσωπικό μας υπολογιστή στο Arduino, διαμέσου της θύρας USB και μέσω του αντίστοιχου IC driver στη […]

6. Λογικές εκφράσεις και οι βρόγχοι for – while

Οι λογικές εκφράσεις που χρησιμοποιούνται στις εντολές διακλάδωσης, παίρνουν δυο τιμές: HIGH ή LOW (true or false). Οι λογικές εκφράσεις σε αυτές τις εντολές αποτελούν την συνθήκη για τον έλεγχο της ροής του προγράμματος. Μπορούμε να δημιουργήσουμε λογικές εκφράσεις με λογικές μεταβλητές, που συνδέονται μεταξύ τους με τους λογικούς τελεστές, όπως το λογικό «όχι» (!), […]

7. Πίνακες και αλφαριθμητικά

Ένας πίνακας είναι ένα σύνολο δεδομένων ενός τύπου, οργανωμένα κάτω από ένα κοινό όνομα. Για να αναφερθούμε σε μια τιμή του πίνακα ένας δείκτης χρησιμοποιείται. Οι δείκτες που αναφέρονται σε ένα πίνακα ξεκινούν από τον αριθμό μηδέν. Παράδειγμα: Θέλουμε να αποθηκεύσουμε τις τιμές θερμοκρασίας για κάθε μια από τις τελευταίες έξι ώρες. Δηλώνουμε τον πίνακα […]

8. Δημιουργώντας functions

Όταν γράφουμε κώδικα για το Arduino παρατηρούμε ότι πολλές φορές θέλουμε να επαναλάβουμε τα ίδια κομμάτια κώδικα. Αυτά τα κομμάτια κώδικα μπορεί να είναι μικρά όπως το διάβασμα των ενδείξεων ενός αισθητήρα ως και περίπλοκα κομμάτια κώδικα όπως εκείνα που εκτελούν περίπλοκους υπολογισμούς. Με άλλα λόγια, στη συγγραφή κώδικα κάποιες φορές βλέπουμε να γράφουμε το […]

9. Δομές δεδομένων

Πολλές εργασίες προγραμματισμού απλοποιούνται με τη επεξεργασία  δεδομένων ενός νέου τύπου της γλώσσας προγραμματισμού C που λέγεται δομή. Μια δομή είναι μια συλλογή μιας ή περισσοτέρων μεταβλητών ομαδοποιημένων με ένα κοινό όνομα για εύκολο χειρισμό. Οι μεταβλητές – μέλη μιας δομής, σε αντίθεση με εκείνες ενός πίνακα, μπορούν να είναι διαφορετικών τύπων. Μια δομή μπορεί […]

Πως επικοινωνεί ο αισθητήρας DS18B20 με το Arduino

Ο αισθητήρας DS18B20 (σκλάβος) μπορεί και επικοινωνεί με ένα μικροελεγκτή  Arduino διαμέσου του πρωτοκόλλου 1-Wire. Σε αυτό το πρωτόκολλο, διάφοροι τύποι σημάτων ορίζονται: παλμός επαναφοράς, παλμός παρουσίας, εγγραφή του ψηφίου 0, εγγραφή του ψηφίου 1, διάβασμα του ψηφίου 0 και διάβασμα του ψηφίου 1. Σε αυτό το κείμενο, θεωρούμε την σύνδεση του μικροελεγκτή Arduino Nano […]

To πρωτόκολλο επικοινωνίας I2C

To IIC (Inter – Integrated Circuit) είναι ένας δίαυλος επικοινωνίας ο οποίος είναι ενσωματωμένος σε πολλές συσκευές, όπως σε διάφορους αισθητήρες, RTC (real time clock) και EEPROM. Το IIC αναφέρεται και ως I2C (I2C) σε πολλά τεχνικά κείμενα. Σ’ αυτό το άρθρο θα περιγράψουμε τους ακροδέκτες και τη δομή του Ι2C πρωτοκόλλου. Το Ι2C πρωτόκολλο […]

Αντίσταση – νόμος του Ωμ

Η έννοια της αντίστασης Ένας φυσικός μεταλλικός αγωγός μπορεί να θεωρηθεί σαν στοιχείο κυκλώματος, διότι όταν διαρρέεται από ηλεκτρικό ρεύμα, εμφανίζεται τάση (διαφορά δυναμικού) στα άκρα του, έστω και μικρή. Πράγματι έχουμε κατανάλωση ηλεκτρικής ενέργειας καθώς διέρχεται ηλεκτρικό ρεύμα μέσα από αυτόν, που εμφανίζεται σαν θερμότητα μέσα στον αγωγό και γι’ αυτό θεωρείται στοιχείο κυκλώματος. […]