Arduino, Ethernet shield, Temperature Sensor LM35, MySQL και Google Charts: Όλα μαζί!

Μέγα ερώτημα για πολλούς: Πως θα συνδέσω το Arduino μου με μια βάση δεδομένων (local ή online) ώστε να μεταφέρω σε αυτήν δεδομένα τα οποία μετά θα επεξεργαστώ όπως θέλω, π.χ. να τα εμφανίσω σε ένα διάγραμμα; Αυτό το ερώτημα έχει απασχολήσει πολύ κόσμο και αυτό που έλειπε ήταν ένας οδηγός που θα χρησιμοποιεί μόνο τα απολύτως απαραίτητα ώστε να είναι έυκολα τροποποήσιμος ακόμα και αυτούς με βασικές μόνο γνώσεις προγραμματισμού PHP και MySQL. Πάμε λοιπόν!

Shopping List
Για να πραγματοποιήσουμε αυτό το project χρειαζόμαστε:
1) Ένα Arduino (Εγώ έχω το Duemilanove)
2) Μία Ethernet Shield
3) Έναν αισθητήρα θερμοκρασίας LM35 της Texas Instruments
4) Τρία Καλώδια για breadboard, ένα καλώδιο για σύνδεση της Ethernet Shield με το router και to USB καλώδιο για την σύνδεση υπολογιστή με τον Arduino
5) Breadboard
6) Υπολογιστής με εγκατεστημένο ένα server (XAMPP) και το software του Arduino

LM35 Arduino

Τί είναι το LM35;
1. Το LM35 είναι ένας αισθητήρας θερμοκρασίας ακριβείας που δεν χρειάζεται calibration.
2. Το εύρος μέτρησης θερμοκρασίας είναι 0°C έως +100°C (δεν μετράει θερμοκρασίες υπό το μηδεν) με ακρίβεια ±0,5°C.
3. Ή τάση εξόδου της είναι ανάλογη της θερμοκρασίας και κάθε 0,01V που μετριέται στην έξοδο του αντιστοιχεί σε 1°C, δηλαδή αν η θερμοκρασία που θα μετρηθεί είναι 15°C τότε η τάση εξόδου του LM35 θα είναι 0,15V
4. Το ρεύμα που “τραβάει” είναι πολύ χαμηλό (60μΑ) γεγονός που εξαφανίζει σχεδόν τελείως το ενδεχόμενο self heating.

LM35 Arduino

Σύνδεση
Το κύκλωμα που πρέπει να δημιουργήσουμε είναι εξαιρετικά απλό: Πρώτα τοποθετούμε την Ethernet Shield πάνω στον Arduino στις ανάλογες υποδοχές των pins. Έπειτα τοποθετούμε το LM35 πάνω στο breadboard και το συνδέουμε ως εξής: Το θετικό ποδαράκι του LM35 με τα +5V του Ethernet Shield, το μεσαίο ποδαράκι με την analog input 2 και το ποδαράκι της γείωσης με την υποδοχή γείωσης της Ethernet Shield. Τέλος, συνδέουμε το Arduino με τον υπολογιστή μέσω του USB καλωδίου και την Ethernet Shield με το router μέσω του καλωδίου ethernet.

LM35 Arduino

Κώδικας Arduino
Οι συνδέσεις έγιναν και ήρθε η σειρά του να φορτώσουμε, με την γνωστή διαδικασία, τον κώδικά μας στον Arduino. O κώδικας είναι ο παρακάτω:

Arduino_MySQL_LM35.ino

1
2
3
4
CREATE TABLE IF NOT EXISTS `temperature` (
  `date` datetime NOT NULL,
  `temp` FLOAT NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Σημειώσεις για τον παραπάνω κώδικα Arduino_MySQL_LM35.ino:
Γραμμή 4: Δήλωση της MAC Address της Ethernet Shield. Δεν χρειάζεται να την αλλάξετε.
Γραμμή 5: ΑΠΑΙΤΕΙΤΑΙ ΑΛΛΑΓΗ. Δήλωση της IP address του υπολογιστή που είναι εγκατεστημένος ο Apache Server Για να μάθετε ποια είναι για το PC σας δείτε εδώ, για τον Mac εδώ.
Γραμμή 6: ΑΠΑΙΤΕΙΤΑΙ ΑΛΛΑΓΗ. Δήλωση της IP address του Arduino Ethernet Shield. Αν του PC είναι π.χ 192.168.1.100 τότε χρησιμοποιήστε τα τρία πρώτα νούμερα ίδια (δηλαδή 192.168.1) και βάλτε ακόμα ένα νούμερο (π.χ. 128). Τελικά η IP address στο παράδειγμα μας γίνεται 192.168.1.128 (Προσοχή: Στο sketch δεν βάζουμε τελείες αλλά κομμα).
Γραμμή 24: Ο τύπος για τον υπολογισμό της θερμοκρασίας.
Γραμμή 32 και 33: Δίνεται η εντολή στον server να εκτελέση το αρχείο temperature.php (που βρίσκεται στο localhost και θα δουμε παρακάτω) στελνοντας του και μια παράμετρο που είναι η θερμοκρασία.
Γραμμή 49: Επιλογή για την συχνότητα αποστολής δεδομένων στον server.

LM35 Arduino

ΣΥΝΕΧΕΙΑ...

Pages: 1 2

Related Articles

6 ΣχόλιαΣχολιάστε

Leave a Reply

Η διεύθυνση σας δεν θα αναρτηθεί. Τα απαιτούμενα πεδία σημειώνονται με *

This site uses Akismet to reduce spam. Learn how your comment data is processed.