MicroPlanet

  • Αρχή
  • Εγχειρίδια
  • Ρrojects
  • Βίντεο
  • Φόρουμ
Αρχή › Εγχειρίδια › Μικροελεγκτές › Μικροελεγκτής Arduino

Περιεχόμενα

  • Αρχή
  • Εγχειρίδια
    • Ηλεκτρονικά Στοιχεία
    • Εγχειρίδια Εργαλείων
    • Οδηγός Κόλλησης
    • Χειρισμός Οργάνων
    • Μικροελεγκτές
      • Μικροελεγκτής Basic Stamp 2
      • Μικροελεγκτής Arduino
      • Μικροελεγκτής Propeller
      • Μικροελεγκτές Atmel
      • Πρωτόκολλα Επικοινωνίας
      • Μάθημα Propeller
      • TI Piccolo
    • Γλώσσες Προγραμματισμού
    • Μπαταρίες
    • Αισθητήρια
    • Περιφερειακά
  • Projects
  • Βίντεο
  • Φόρουμ
  • Πρόσφατες Δημοσιεύσεις

Είσοδος

  • Δημιουργία νέου λογαριασμού
  • Ξέχασα το συνθηματικό μου

Αναζήτηση

Φιλικά Sites:

Custom Bobblehead



Ποιοι είναι εδώ

Είναι εδώ αυτή τη στιγμή 0 users και 1 επισκέπτης.

Δημοσκόπηση

Θα θέλατε να δείτε ένα eshop για Μικροελεγκτές και σχετικά προϊόντα από το Microplanet.gr;
Ναι
93%
Όχι
4%
Δεν Ξέρω/Δεν Απαντώ
3%
Συνολικοί Ψήφοι: 112
  • Παλιότερες Δημοσκοπήσεις

Μικροελεγκτής Arduino

ΠΕΡΙΕΧΟΜΕΝΑ

  • Τι είναι ο Arduino;

  • Γιατί να επιλέξω τον Arduino;

  • To υλικό (Hardware) του Arduino 

  • Επικοινωνία

 

Τί είναι ο Arduino;

 

O Arduino θα λέγαμε οτι είναι ένα εργαλείο για να κατασκευάσουμε ένα υπολογιστικό σύστημα με την έννοια οτι αυτό θα ελέγχει συσκευές του φυσικού κόσμου, σε αντίθεση με τον κοινό σας Ηλεκτρονικό Υπολογιστή. Είναι ανοιχτού υλικού και λογισμικού και βασίζεται σε μια αναπτυξιακή πλακέτα που ενσωματώνει επάνω έναν μικροελεγκτή και συνδέεται με τον Η/Υ για να τον προγραμματίσουμε μέσα από ένα απλό περιβάλλον ανάπτυξης. Ένας Arduino μπορεί να χρησιμοποιηθεί για να αναπτύξουμε διαδραστικά αντικείμενα, να δεχτούμε εισόδους από πληθώρα αισθητηρίων οργάνων και διακόπτες, αλλά και να ελέγχουμε διάφορα φώτα, κινητήρες και άλλες συσκευές εξόδου του φυσικού κόσμου. Τα Projects στον εν λόγω Μικροελεγκτή μπορούν να είναι αυτόνομα (σε επίπεδο hardware) ή να επικοινωνούν με κάποιο software στον Η/Υ του προγραμματιστή (προγράμματα όπως τα Flash, Processing, MaxMSP). Οι πλακέτες μπορούν εύκολα να συναρμολογηθούν ακόμη και από έναν αρχάριο ή να αγοραστούν μονταρισμένες. Το περιβάλλον ανάπτυξης του λογισμικού βασίζεται στην γλώσσα προγραμματισμού Processing  και την γλώσσα προγραμματισμού Wiring, οι οποίες είναι ανοιχτού κώδικα (οpen source) και μπορεί κάποιος να τις "κατεβάσει δωρεάν". Η Γλώσσα προγραμματισμού του Arduino απoτελεί μια εφαρμογή σε software επίπεδο της καλωδίωσης. Εξομοιώνει θα λέγαμε απόλυτα το φυσικό περιβάλλον του μικροελεγκτή.

Επιστροφή στα ΠΕΡΙΕΧΟΜΕΝΑ

 

Γιατί να επιλέξω τον Arduino;
 

Υπάρχει πληθώρα άλλων μικροελεγκτών και αναπτυξιακών στο εμπόριο για να ασχοληθεί κάποιος εκεί έξω. Ο Basic Stamp της Parallax, ο BX-24 της Netmedia, το Handyboard του MIT και πολύ άλλη όμοιας λειτουργικότητας. Όλα αυτά τα εργαλεία που προαναφέραμε είναι απλά και για τον αρχάριο χρήστη καθώς "κρύβουν" τις δύσκολες λεπτομέρειες της αρχιτεκτονικής και επιτρέπουν τον άμεσο προγραμματισμό του μικροελεγκτή, προσφέροντας τα πάντα σε ένα και μόνο "πακέτο" έτοιμο για χρήση. Ο Arduino διαφέρει από τους προηγούμενους γιατί απλοποιηεί την διαδικασία να δουλεύει κάποιος με μικροελεγκτές, αλλά κάποια πλεκονεκτήματα που προσφέρει σε σχέση με άλλους μικροελεγκτές για χρήση από δασκάλους, μαθητές και άλλους hobbiστες είναι τα παρακάτω:

  • Φθηνός - Οι πλακέτες του Arduino είναι εξαιρετικά φθηνές σε σχέση με άλλες πλατφόρμες μικροελεγκτών. Ειδικά δε μπορεί με τα σχηματικά που κυκλοφορούν στο Internet να κατασκευάσει κάποιος την φθηνότερη εκδοχή ενός Arduino. Ωστόσο ακόμα και αν προμηθευτεί την έτοιμη (μονταρισμένη πλακέτα) αυτή θα κοστίσει το μέγιστο 50 Euro.

 

  • Tρέχει σε διάφορα Λειτουργικά Συστήματα. Οι μηχανικοί λογισμικού, ανέπτυξαν το περιβάλλον προγραμματισμού του Arduino για Windows, Machinstoh OSX και για λειτουργικά συστήματα Linux. Τα περισσότερα συστήματα ανάπτυξης Μικροελεγκτών περιορίζονται στα Windows.

        

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

 

  • Ανοιχτού λογισμικού και λογισμικού που επεκτείνεται και παραμετροποιείται. Το software του Arduino διανέμεται με την μορφή εργαλείων ανοιχτού λογισμικού και είναι διαθέσιμο προς επέκταση για έμπειρους προγραμματιστές. Η γλώσσα προγραμματισμού του μπορεί να επεκταθεί διαμέσου των βιβλιοθηκών την C++ και οι άνθρωποι που θέλουν να ασχοληθούν περισσότερο με τους μικροελεγκτές μπορούν να μεταβούν από τον Arduino στην AVR C που είναι για προγραμματισμό των Atmel Μικροελεγκτών και η γλώσσα στην οποία βασίστικε το λογισμικό του Arduino. Ομοίος μπορεί κάποιος να προσθέσει κώδικα της AVR-C στο πρόγραμμα που έχει γράψει για τον Arduino του.

 

  • Ανοιχτού Υλικού το οποίο μπορεί να επεκταθεί. Ο Arduino βασίζεται στους μικροελεγκτές της Atmel ATMEGA8 και ATMEGA168. Τα σχηματικά για τα αναπτυξιακά είναι κάτω από την άδεια της Creative Commons, επιτρέποντας σε έμπειρους σχεδιαστές να κατασκευάσουν το δικό τους αναπτυξιακό, εξελίσοντας το ήδη υπάρχον χωρίς να έχουν νομικά προβλήματα. Η ακόμη καλύτερα οχι τόσο έμπειροι χρήστες μπορούν να επιδιώξουν την αντιγραφή και κατασκευή της πλακέτας σε ράστερ για να καταλάβουν την λειτουργία ενός Arduino.

 Επιστροφή στα ΠΕΡΙΕΧΟΜΕΝΑ

 

Το Υλικό (Hardware) του Arduino

 

Ο μικροελεγκτής Arduino είναι στην ουσία μια αναπτυξιακή πλακέτα που ενσωματώνει έναν ATMEL ATMEGA168. Υπάρχουν πολλές εκδόσεις του μικροελεγκτή. Στα παρακάτω σχήματα βλέπετε την έκδοση NG και την έκδοση Duemilanove.Η τελευταία έκδοση (2009) είναι αυτή του Arduino Duemilanove. Οι κατασκευαστές του Arduino έχουν τοποθετήσει στις πλακέτες όλα τα απαραίτητα εξαρτήματα για την τροφοδοσία και την διασύνδεση των μικροελεγκτών με τον Ηλεκτρονικό Υπολογιστή. Η πλακέτα μπορεί να τροφοδοτηθεί είτε με τροφοδοτικό των 9Volt, είτε απευθείας από την USB θύρα του Υπολογιστή.

 

      Arduino NG                                                  Ardino Duemilanove

 

 Ακροδέκτες  του μικροελεγκτή Arduino

 

O Arduino έχει 14 ψηφιακούς ακροδέκτες Εισόδου/Εξόδου. Αυτοί μπορούν να τεθούν ως είσοδοι ή ως έξοδοι με τις εντολές-συναρτήσεις pinMode(), digitalWrite(), and digitalRead(). Λειτουργούν στα 5 Volts και έχουν την δυνατότητα να παρέχουν ή να καταβυθίζουν ένταση της τάξεως των 40mA. Σε κάθε Pin υπάρχει εσωτερικά ένας Pull-up αντιστάτης στα 20-50KΩ.  Επιπλέον έχει 5 Αναλογικούς ακροδέκτες Εισόδου. Αυτοί μπορούν να διαβάσουν αναλογικές τιμές όπως η τάση μιας μπαταρίας κτλ και να τις μετατρέψουν σε έναν αριθμό από 0-1023. Η μέτρηση της τάσης γίνεται από προκαθορισμένα από 0 έως 5 volts. Εκτός αυτού  6 εκ των 14 ψηφιακών ακροδεκτών οι P3, P5, P6, P9, P10 και P11 έχουν την δυνατότητα να προγραμματιστούν ώστε να λειτουργούν ως Αναλογικές Έξοδοι.

 Κάποιοι ακροδέκτες έχουν συγκεκριμένες λειτουργίες.

  • Σειριακή Λειτουργία: 0 (RX) and 1 (TX). Χρησιμοποιούνται για λήψη (RX) και εκπομπή (TX) TTL σειριακών δεδομένων. Αυτοί οι ακροδέκτες είναι συνδεδεμένοι με τους αντίστοιχους του ολοκληρωμένου FTDI USB-to-TTL Serial.
  • Εξωτερικές Διακοπές: 2 και 3. Αυτοί οι ακροδέκτες μπορούν να ενεργοποιούν διακοπές αν ανιχνευθεί παλμός χαμηλής τάσης. Με την συνάρτηση attachInterrupt().
  • PWM: 3, 5, 6, 9, 10, and 11. Παρέχουν Έξοδο 8-bit PWM με την συνάρτηση analogWrite().
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Αυτοί οι ακροδέκτες επιτρέπουν επικοινωνία SPI, η οποία αν και παρέχεται από το hardware δεν είναι ακόμα διαθέσιμη στην γλώσσα προγραμματισμού του Arduino.
  •  LED: 13. Στον ακροδέκτη 13 υπάρχει ένα ενσωματωμένο LED. Όταν ο ακροδέκτης έχει τιμή HIGH, το LED φωτοβολεί..

Επιπλέον υπάρχουν ακροδέκτες για ειδικές λειτουργίες όπως:

  • I2C: 4 (SDA) and 5 (SCL). Υποστιρίζει το πρωτόκολλο I2C (TWI) χρησιμοποιώντας βιβλιοθήκες τις Γλώσσας προγραμματισμού Wiring.

Υπάρχουν και κάποιοι άλλοι ακροδέκτες:
 

  • AREF. Reference voltage for the analog inputs. Χρησιμοποιείται με την συνάρτηση analogReference().
  • Reset. Αν τεθεί σε κατάσταση LOW τότε επαννεκινεί τον Μικροελεγκτή. Σε αυτή τη γραμμή τοποθετείται ένας διακόπτης.
     

Επιπλέον υπάρχουν και άλλοι ακροδέκτες με ειδικές λειτουργίες:

  •   I2C: 4 (SDA) and 5 (SCL). Υποστιρίζει το πρωτόκολλο I2C (TWI) χρησιμοποιώντας βιβλιοθήκες τις Γλώσσας προγραμματισμού Wiring.

Υπάρχουν και κάποιοι άλλοι ακροδέκτες:

  • AREF. Reference voltage for the analog inputs. Χρησιμοποιείται με την συνάρτηση analogReference().
  • Reset. Αν τεθεί σε κατάσταση LOW τότε επαννεκινεί τον Μικροελεγκτή. Σε αυτή τη γραμμή τοποθετείται ένας διακόπτης. 

 

Σχηματικό Διάγραμμα του Arduino

 

 Τα παρακάτω αρχεία βρίσκονται στο επίσημο site www.arduino.cc

Αρχεία EAGLE: arduino-duemilanove-reference-design.zip

Σχηματικό: arduino-duemilanove-schematic.pdf

 

Χαρακτηριστικά

 

Μικροελεγκτής ATmega168
Τάση Λειτουργίας 5V
Τάση Εισόδου 7-12V
Όρια Τάσης 6-20V
Ψηφιακοί Ακροδέκτες I/O 14 (of which 6 provide PWM output)
Ψηφιακοί Ακροδέκτες Εισόδου 6
DC ρεύμα ανά I/O Ακροδέκτη 40 mA
DC ρεύμα για 3.3V Ακροδέκτη 50 mA
Μνήμη Flash 16 KB ( 2 KB χρησιμοποιούνται από τον bootloader)
SRAM 1 KB
EEPROM 512 bytes
Ταχύτητα Ρολογιού 16 MHz

 

Μνήμη

 

Το ολοκληρωμένο ATmega168 έχει 16ΚB μνήμης flash για την αποθήκευση κώδικα (2 KB εκ τον οποίων χρησιμοποιούνται από τον bootloader). Έχει επίσης 1 KB SRAM και 512 bytes μνήμηες EEPROM (τα οποία μπορούν να διαφαστούν και να γραφτούν με την βιβλιοθήκη EEPROM).

 

Τροφοδοσία

 

Το αναπτυξιακό Arduino Duemilanove τροφοδοτείται είτε από εξωτερική τροφοδοσία είτε απευθείας από την θύρα USB. H επιλογή της πηγής γίνεται αυτόματα από το αναπτυξιακό. Ως εξωτερική τροφοδοσία ορίζεται είτε μια μπαταρία, είτε μετασχηματιστής των 9Volt από 220V. Η μπαταρία μπορεί να συνδεθεί στις υποδοχές του Arduino Vin και GND όπου τοποθετούνται ο θετικός πόλος και ο αρνητικός αντίστοιχα. Από την άλλη αν τροφοδοτήσουμε με μετασχηματιστή απλά τοποθετούμε το βύσμα στην υποδοχή που υπάρχει με τον θετικό πόλο στο κέντρο.

Η πλακέτα μπορεί να λειτουργήσει με εξωτερική πηγή από 6 έως 20 Volts. Αν ωστόσο τροφοδοτηθεί με λιγότερα από 7 Volt τα pin εξόδου 5Volt δεν θα καταφέρουν να εξάγουν τάση 5 Volts. Αν από την άλλη δώσουμε πάνω από 12 Volts θα υπερθερμανθεί ο σταθεροποιητής τάσης στην πλακέτα και ενδεχωμένος να καταστραφή. Συνεπώς μια ιδανική τάση είναι τα 9 Volts.

Οι ακροδέκτες τροφοδοσίας είναι οι εξής:

  • VIN. Ακροδέκτης για μη σταθεροποιημένη τάση. Συνήθως εδώ συνδέεται μια εξωτερική πηγή τροφοδοσίας.
  • 5V. Ακροδέκτης σταθεροποιημένης τάσης 5Volt. Χρησιμοποιείται για την τροφοδοσία του μικροελεγκτή ή άλλων ηλεκτρονικών στοιχείων.
  • 3V3. Το ολοκληρωμένο FTDI που βρίσκεται στην πλακέτα του Arduino παράγει τάση των 3.3V με μέγιστο ρεύμα 50mA.
  • GND. Ακροδέκτες Γείωσης

 

Επικοινωνία

 

O Arduino Duemilanove έχει την δυνατότητα να επικοινωνεί με τον Ηλεκτρονικό Υπολογιστή, έναν άλλον Arduino ή άλλους μικροελεγκτές. Το ολοκληρωμένο ATMega 168 παρέχει σειριακή επικοινωνία ΤΤL 5Volt UART, η οποία είναι διαθέσιμη από τους ακροδέκτες (λήψη RX) 0 και (εκπομπή TX) 1 του ολοκληρωμένου. Επιπλέον στην αναπτυξιακή πλακέτα του Arduino είναι ενσωματωμένο ένα ολοκληρωμένο το FTDI FT232RL το οποίο παρέχει σειριακή επικοινωνία με τον Ηλεκτρονικό Υπολογιστή για προγραμματισμό, πάνω από την θύρα USB με την βοήθεια των ανάλογων FTDI drivers. Οι drivers αυτοί περιλαμβάνονται στο software για τον Arduino και παρέχουν μια ιδεατή θύρα επικοινωνίας στον Ηλεκτρονικό Υπολογιστή για τους σκοπούς της επικοινωνίας.

 

Τα κείμενα και οι αναφορές για τον Arduino είναι κάτω από την άδεια της Creative Commons.

  • Αρχή
  • Εγχειρίδια
  • Ρrojects
  • Βίντεο
  • Φόρουμ

Copyright © 2009 - 2010