Προγραμματισμός Arduino uno για αρχάριους. Προγραμματισμός Arduino. Τι μπορεί να συλλεχθεί σε αυτό

Εισαγωγή

Το Freeduino / Arduino προγραμματίζεται σε ειδική γλώσσα προγραμματισμού - βασίζεται σε C / C ++ και σας επιτρέπει να χρησιμοποιήσετε οποιαδήποτε από τις λειτουργίες του. Για την ακρίβεια, δεν υπάρχει ξεχωριστή γλώσσα Arduino, όπως δεν υπάρχει μεταγλωττιστής Arduino - τα γραπτά προγράμματα μετατρέπονται (με ελάχιστες αλλαγές) σε πρόγραμμα C / C ++ και στη συνέχεια καταρτίζονται από τον μεταγλωττιστή AVR -GCC. Έτσι, στην πραγματικότητα, χρησιμοποιείται μια παραλλαγή C / C ++ εξειδικευμένη για μικροελεγκτές AVR.

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

Συμφωνώ, είναι πολύ βολικό να ξεκινήσετε να εργάζεστε με μια σειριακή θύρα με ταχύτητα 9600 bps πραγματοποιώντας μια κλήση σε μία γραμμή:

Serial.begin (9600);

Και όταν χρησιμοποιείτε "γυμνό" C / C ++, θα πρέπει να ασχοληθείτε με την τεκμηρίωση για τον μικροελεγκτή και να καλέσετε κάτι σαν αυτό:

UBRR0H = ((F_CPU / 16 + 9600/2) / 9600 - 1) >> 8;
UBRR0L = ((F_CPU / 16 + 9600/2) / 9600 - 1);
sbi (UCSR0B, RXEN0);
sbi (UCSR0B, TXEN0);
sbi (UCSR0B, RXCIE0);

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

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

Πιο πλήρης τεκμηρίωση (στις αγγλική γλώσσα) παρουσιάζεται στον επίσημο ιστότοπο του έργου - http://www.arduino.cc. Υπάρχει επίσης ένα φόρουμ, σύνδεσμοι προς επιπλέον βιβλιοθήκες και περιγραφή τους.

Κατ 'αναλογία με την περιγραφή στον επίσημο ιστότοπο του έργου Arduino, ως "θύρα" νοείται μια επαφή μικροελεγκτή που εμφανίζεται στον σύνδεσμο με τον αντίστοιχο αριθμό. Επιπλέον, υπάρχει λιμάνι σειριακή μετάδοσηδεδομένων (θύρα COM).

Δομή προγράμματος

Στο πρόγραμμά σας, πρέπει να δηλώσετε δύο κύριες συναρτήσεις: setup () και loop ().

Η συνάρτηση setup () καλείται μία φορά, μετά από κάθε ενεργοποίηση ή επαναφορά της πλακέτας Freeduino. Χρησιμοποιήστε το για να προετοιμάσετε μεταβλητές, να ορίσετε λειτουργίες ψηφιακής θύρας κ.λπ.

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

Ας ρίξουμε μια ματιά σε ένα απλό παράδειγμα:

void setup () // αρχικές ρυθμίσεις
{
beginSerial (9600); // ρυθμίστε την ταχύτητα της σειριακής θύρας στα 9600 bps
pinMode (3, ΕΙΣΟΔΟΣ); // ορίστε την 3η θύρα για την εισαγωγή δεδομένων
}

// Το πρόγραμμα ελέγχει την 3η θύρα για την παρουσία σήματος σε αυτό και στέλνει μια απάντηση στο
// φόρμα γραπτό μήνυμαστη σειριακή θύρα του υπολογιστή
void loop () // σώμα προγράμματος
{
if (digitalRead (3) == HIGH) // συνθήκη για ψηφοφορία στην 3η θύρα
serialWrite ("H"); // στείλτε ένα μήνυμα με τη μορφή του γράμματος "H" στη θύρα COM
αλλού
serialWrite ("L"); // στείλτε ένα μήνυμα με τη μορφή του γράμματος "L" στη θύρα COM
καθυστέρηση (1000)? // καθυστέρηση 1 δευτ.
}

pinMode (θύρα, λειτουργία).

Περιγραφή:

Διαμορφώνει την καθορισμένη θύρα για είσοδο ή έξοδο σήματος.

Επιλογές:

θύρα - αριθμός θύρας, η λειτουργία της οποίας θέλετε να ορίσετε (ακέραιη τιμή από 0 έως 13).

η λειτουργία είναι είτε ΕΙΣΟΔΟΣ είτε ΕΞΟΔΟΣ.

pinMode (13, OUTPUT); // Η 13η ακίδα θα είναι η έξοδος
pinMode (12, ΕΙΣΟΔΟΣ); // και το 12ο είναι η είσοδος

Σημείωση:

Οι αναλογικές είσοδοι μπορούν να χρησιμοποιηθούν ως ψηφιακές είσοδοι / έξοδοι, όταν αναφέρονται με τους αριθμούς 14 (αναλογική είσοδος 0) έως 19 (αναλογική είσοδος 5)

digitalWrite (θύρα, τιμή);

Περιγραφή:

Ορίζει το υψηλό (Υ HIGHΗΛΟ) ή το χαμηλό (ΧΑΜΗΛΟ) επίπεδο τάσης στην καθορισμένη θύρα.

Επιλογές:

θύρα: αριθμός θύρας

τιμή: Υ HIGHΗΛΗ ή ΧΑΜΗΛΗ

digitalWrite (13, HIGH); // ρυθμίστε τον 13ο πείρο στην κατάσταση "υψηλή"

value = digitalRead (θύρα);

Περιγραφή:

Διαβάζει μια τιμή στην καθορισμένη θύρα

Επιλογές:

λιμάνι: αριθμός θύρας προς δημοσκόπηση

Επιστροφή τιμής: επιστρέφει την τρέχουσα τιμή στη θύρα (HIGH ή LOW) του τύπου int

int val?
val = digitalRead (12); // δημοσκόπηση της 12ης παραγωγής

Σημείωση:

Εάν δεν συνδέεται τίποτα στη θύρα που διαβάζεται, τότε το digitalRead () μπορεί να επιστρέψει τυχαία τιμές Υ HIGHΗΛΕΣ ή ΧΑΜΗΛΕΣ.

Είσοδος / έξοδος αναλογικού σήματος

τιμή = analogRead (θύρα);

Περιγραφή:

Διαβάζει μια τιμή από την καθορισμένη αναλογική θύρα. Το Freeduino περιέχει 6 κανάλια, μετατροπέα A / D 10-bit το καθένα. Σημαίνει ότι τάση εισόδου 0 σε 5V μετατρέπεται σε ακέραιη τιμή από 0 έως 1023. Η ανάλυση ανάγνωσης είναι: 5V / 1024 τιμές = 0,004883 V / τιμή (4,883 mV). Χρειάζονται περίπου 100 nS (0.0001 C) για την ανάγνωση της αναλογικής τιμής εισόδου, οπότε μέγιστη ταχύτητααναγνώσεις - περίπου 10.000 φορές ανά δευτερόλεπτο.

Επιλογές:

Επιστροφή τιμής: επιστρέφει έναν αριθμό τύπου int στην περιοχή από 0 έως 1023, που διαβάζεται από την καθορισμένη θύρα.

int val?
val = analogRead (0); // διαβάστε την τιμή στην αναλογική είσοδο 0m

Σημείωση:

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

analogWrite (θύρα, τιμή);

Περιγραφή:

Εξάγει μια αναλογική τιμή στη θύρα. Αυτή η λειτουργία λειτουργεί σε: 3, 5, 6, 9, 10 και 11 ψηφιακές θύρες Freeduino.

Μπορεί να χρησιμοποιηθεί για την αλλαγή της φωτεινότητας ενός LED, για τον έλεγχο ενός κινητήρα κ.λπ. Μετά από μια κλήση στο analogWrite, η αντίστοιχη θύρα αρχίζει να λειτουργεί σε τάση PWM μέχρι να υπάρξει άλλη κλήση προς analogWrite (ή digitalRead / digitalWrite στην ίδια θύρα).

Επιλογές:

θύρα: αριθμός αναλογικών εισόδων που ερωτώνται

τιμή: ένας ακέραιος αριθμός μεταξύ 0 και 255. Η τιμή 0 δημιουργεί 0 V στην καθορισμένη θύρα. μια τιμή 255 παράγει +5 V στην καθορισμένη θύρα. Για τιμές μεταξύ 0 και 255, η θύρα αρχίζει να εναλλάσσεται γρήγορα μεταξύ των επιπέδων τάσης 0 και +5 V - όσο υψηλότερη είναι η τιμή, τόσο πιο συχνά η θύρα παράγει Υ HIGHΗΛΟ επίπεδο (5 V).

analogWrite (9, 128); // ορίστε τον πείρο 9 σε τιμή ισοδύναμη με 2,5V

Σημείωση:

Δεν είναι απαραίτητο να καλέσετε τη συνάρτηση pinMode για να ρυθμίσετε τη θύρα στην ακίδα σήματος πριν καλέσετε το analogWrite.

Η συχνότητα παραγωγής σήματος είναι περίπου 490 Hz.

χρόνος = millis ();

Περιγραφή:

Επιστρέφει τον αριθμό των χιλιοστών του δευτερολέπτου από τότε που ο Freeduino εκτέλεσε το τρέχον πρόγραμμα. Ο μετρητής θα υπερχειλίσει και θα μηδενιστεί μετά από περίπου 9 ώρες.

Επιστροφή τιμής: επιστρέφει μια μη υπογεγραμμένη μεγάλη τιμή

ανυπόγραφο για μεγάλο χρονικό διάστημα // δήλωση του μεταβλητού χρόνου τύπου χωρίς υπογραφή μακρύ
χρόνος = millis (); // περάσει τον αριθμό των χιλιοστών του δευτερολέπτου

καθυστέρηση (time_ms)?

Περιγραφή:

Αναστέλλει το πρόγραμμα για τον καθορισμένο αριθμό χιλιοστών του δευτερολέπτου.

Επιλογές:

time_ms - χρόνος καθυστέρησης προγράμματος σε χιλιοστά του δευτερολέπτου

καθυστέρηση (1000)? // παύση 1 δευτερόλεπτο

καθυστέρησηΜικροδευτερόλεπτα

καθυστέρηση Μικροδευτερόλεπτα (time_μs);

Περιγραφή:

Θέτει σε παύση το πρόγραμμα για τον καθορισμένο αριθμό μικροδευτερολέπτων.

Επιλογές:

μs_time - χρόνος καθυστέρησης προγράμματος σε μικροδευτερόλεπτα

καθυστέρηση Μικροδευτερόλεπτα (500) // παύση για 500 μικροδευτερόλεπτα

pulseIn (θύρα, τιμή);

Περιγραφή:

Διαβάζει τον παλμό (υψηλό ή χαμηλό) γ ψηφιακή θύρακαι επιστρέφει τη διάρκεια του παλμού σε μικροδευτερόλεπτα.

Για παράδειγμα, εάν η παράμετρος τιμής έχει οριστεί σε HIGH όταν καλείται η συνάρτηση, τότε το pulseIn () περιμένει ένα υψηλό επίπεδο σήματος στη θύρα. Από τη στιγμή της άφιξής του, η αντίστροφη μέτρηση ξεκινά μέχρι να λάβει το λιμάνι χαμηλό επίπεδοσήμα. Η συνάρτηση επιστρέφει το μήκος του παλμού ( υψηλό επίπεδο) σε μικροδευτερόλεπτα. Λειτουργεί με παλμούς από 10 μικροδευτερόλεπτα έως 3 λεπτά. Σημειώστε ότι αυτή η λειτουργία δεν θα επιστρέψει αποτέλεσμα μέχρι να ανιχνευθεί ένας παλμός.

Επιλογές:

θύρα: αριθμός θύρας από τον οποίο διαβάζεται ο παλμός

τιμή: τύπος παλμού Υ HIGHΗΛΗ ή ΧΑΜΗΛΗ

Επιστρεφόμενη τιμή: επιστρέφει τη διάρκεια του παλμού σε δευτερόλεπτα (τύπος int)

int διάρκεια? // δήλωση μεταβλητής διάρκειας τύπου int
διάρκεια = pulseIn (pin, HIGH); // μετρήστε τη διάρκεια του παλμού

Σειριακή μετάδοση δεδομένων

Το Freeduino διαθέτει ενσωματωμένο ελεγκτή σειριακών δεδομένων που μπορεί να χρησιμοποιηθεί τόσο για επικοινωνία μεταξύ συσκευών Freeduino / Arduino όσο και για επικοινωνία με υπολογιστή. Στον υπολογιστή, η αντίστοιχη σύνδεση αντιπροσωπεύεται από μια θύρα COM USB.

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

Serial.begin (ρυθμός baud);

Περιγραφή:

Ορίζει το ρυθμό baud της θύρας COM σε bits ανά δευτερόλεπτο για τη μετάδοση σειριακών δεδομένων. Για να επικοινωνήσετε με τον υπολογιστή, χρησιμοποιήστε μία από αυτές τις κανονικοποιημένες ταχύτητες: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 ή 115200. Μπορείτε επίσης να ορίσετε άλλες ταχύτητες όταν επικοινωνείτε με έναν άλλο μικροελεγκτή μέσω θυρών 0 και 1

Επιλογές:

baud rate: ο ρυθμός ροής δεδομένων σε bits ανά δευτερόλεπτο.

Serial.begin (9600); // ρυθμίστε την ταχύτητα στα 9600 bps

Σειριακό.διαθέσιμο

count = Serial.available ();

Περιγραφή:

Τα bytes που λαμβάνονται μέσω της σειριακής θύρας μπαίνουν στο buffer μικροελεγκτή, από όπου μπορεί να τα διαβάσει το πρόγραμμά σας. Η συνάρτηση επιστρέφει τον αριθμό των byte που έχουν συσσωρευτεί στο buffer. Το σειριακό buffer μπορεί να αποθηκεύσει έως και 128 byte.

Επιστροφή τιμής:

Επιστρέφει ένα int - τον αριθμό των byte που διατίθενται για ανάγνωση στο διαδοχικό buffer ή 0 αν δεν είναι διαθέσιμο τίποτα.

if (Serial.available ()> 0) (// Εάν υπάρχουν δεδομένα στο buffer
// θα πρέπει να υπάρχει λήψη και επεξεργασία δεδομένων
}

char = Serial.read ();

Περιγραφή:

Διαβάζει το επόμενο byte από το buffer σειριακής θύρας.

Επιστροφή τιμής:

Το πρώτο διαθέσιμο byte εισερχόμενων δεδομένων από τη σειριακή θύρα ή -1 εάν δεν υπάρχουν εισερχόμενα δεδομένα.

incomingByte = Serial.read (); // διαβάστε byte

Περιγραφή:

Διαγράφει το buffer εισόδου σειριακής θύρας. Τα δεδομένα στο buffer χάνονται και περαιτέρω κλήσεις σε Serial.read () ή Serial.available () θα έχουν νόημα για τα δεδομένα που λαμβάνονται μετά την κλήση στο Serial.flush ().

Serial.flush (); // Διαγράψτε το buffer - ξεκινήστε να λαμβάνετε δεδομένα από την αρχή

Περιγραφή:

Έξοδος δεδομένων στη σειριακή θύρα.

Επιλογές:

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

Το Serial.print (b, DEC) εκτυπώνει μια συμβολοσειρά ASCII - η δεκαδική αναπαράσταση του b.

int b = 79;

Το Serial.print (b, HEX) εκτυπώνει μια συμβολοσειρά ASCII - η δεκαεξαδική αναπαράσταση του b.

int b = 79;

Το Serial.print (b, OCT) εκτυπώνει μια συμβολοσειρά ASCII - την οκταδική αναπαράσταση του b.

int b = 79;
Serial.print (b, OCT); // θα στείλει τη συμβολοσειρά "117" στη θύρα

Serial.print (b, BIN) εκτυπώνει μια συμβολοσειρά ASCII - η δυαδική αναπαράσταση του b.

int b = 79;
Serial.print (b, BIN); // θα στείλει τη συμβολοσειρά "1001111" στη θύρα

Serial.print (b, BYTE) εκτυπώνει το λιγότερο σημαντικό byte του b.

int b = 79;
Serial.print (b, BYTE); // θα εκτυπώσει τον αριθμό 79 (ένα byte). Στην οθόνη
// η σειριακή θύρα θα λάβει τον χαρακτήρα "O" - του
// ο κωδικός είναι 79

Serial.print (str) εάν το str είναι μια συμβολοσειρά ή ένας πίνακας χαρακτήρων, μεταφέρει το str στη θύρα COM με byte.

char bytes = (79, 80, 81); // πίνακας 3 byte με τιμές 79,80,81
Serial.print ("Εδώ τα bytes μας:"); // εμφανίζει τη συμβολοσειρά "Εδώ τα bytes μας:"
Serial.print (bytes); // εμφανίζει 3 χαρακτήρες με κωδικούς 79,80,81 -
// αυτοί είναι χαρακτήρες "OPQ"

Serial.print (b) εάν το b είναι τύπου byte ή char, εκτυπώνει τον ίδιο τον αριθμό στη θύρα.

char b = 79;
Serial.print (b); // θα στείλει τον χαρακτήρα "O" στη θύρα

Serial.print (b) αν το b είναι ακέραιου τύπου, εκτυπώνει τη δεκαδική αναπαράσταση του b στη θύρα.

int b = 79;
Serial.print (b); // θα στείλει τη συμβολοσειρά "79" στη θύρα

Περιγραφή:

Η συνάρτηση Serial.println είναι παρόμοια με τη λειτουργία Serial.print και έχει τις ίδιες επιλογές κλήσεων. Η μόνη διαφορά είναι ότι δύο επιπλέον χαρακτήρες εξάγονται μετά τα δεδομένα - μια επιστροφή μεταφοράς (ASCII 13, ή "\ r") και ένας χαρακτήρας νέας γραμμής (ASCII 10, ή "\ n").

Το Παράδειγμα 1 και το Παράδειγμα 2 θα εξάγουν το ίδιο πράγμα στη θύρα:

int b = 79;
Serial.print (b, DEC); // θα στείλει τη συμβολοσειρά "79" στη θύρα
Serial.print ("\ r \ n"); // θα εμφανίσει τους χαρακτήρες "\ r \ n" - ροή γραμμής
Serial.print (b, HEX); // θα στείλει τη συμβολοσειρά "4F" στη θύρα
Serial.print ("\ r \ n"); // θα εκτυπώσει τους χαρακτήρες "\ r \ n" - ροή γραμμής

int b = 79;
Serial.println (b, DEC); // θα στείλει τη συμβολοσειρά "79 \ r \ n" στη θύρα
Serial.println (b, HEX); // θα στείλει τη συμβολοσειρά "4F \ r \ n" στη θύρα

Στην οθόνη σειριακής θύρας παίρνουμε.

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

Visuino

Το Visuino είναι ένα δωρεάν γραφικό περιβάλλον που τροφοδοτείται από βιομηχανικούς ελεγκτές συμβατούς με Controllino Arduino (PLC). Δίνει τη δυνατότητα δημιουργίας σύνθετα συστήματαλύσεις αυτοματισμού και IoT (Internet of Things), και αυτό μπορεί να γίνει με απλή μετακίνηση και σύνδεση οπτικών μπλοκ. Το περιβάλλον λογισμικού δημιουργεί αυτόματα κώδικα για βιομηχανικούς ελεγκτές.

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

Τα πλεονεκτήματα του Visuino περιλαμβάνουν ένα μεγάλο σύνολο στοιχείων για μαθηματικά και λογικές συναρτήσεις, servos, οθόνες, internet κ.λπ.

Όταν προγραμματιστεί το PLC, το γραφικό περιβάλλον ζητάει προσιτός τρόποςσύνδεση με τον ελεγκτή. Μπορεί να είναι σειριακό, Ethernet, Wi-Fi ή GSM.

Τέλος, το έργο σας είναι έτοιμο: όλοι οι ελεγκτές είναι εγγεγραμμένοι, όλα λειτουργούν. Τώρα, κάνοντας κλικ στο λογότυπο Arduino που βρίσκεται στον επάνω πίνακα, θα αναγκάσετε το Visuino να δημιουργήσει κωδικούς για το Arduino και να ανοίξει το περιβάλλον ανάπτυξης του (Arduino IDE), μέσω των οποίων μπορείτε ήδη να μεταγλωττίσετε τον κώδικα και να τον ανεβάσετε στο PLC.

Συμβουλή.Εάν η εγκατεστημένη πλακέτα δεν ταιριάζει με το Arduino σας, μπορείτε να την αλλάξετε χρησιμοποιώντας την εντολή "Επιλογή πίνακα".

Γρατσουνιά

Αυτό το γραφικό περιβάλλον προγραμματισμού δημιουργήθηκε το 2003, όταν μια ομάδα υπαλλήλων του MIT Media Lab αποφάσισε να αναπτύξει μια γλώσσα προγραμματισμού που ήταν προσβάσιμη σε όλους. Ως αποτέλεσμα, μετά από λίγο το Scratch παρουσιάστηκε στο κοινό.

Κυρίως, ίσως, μοιάζει με Lego. Τουλάχιστον η αρχή είναι η ίδια: είναι ένα αντικειμενοστρεφές περιβάλλον στο οποίο τα προγράμματα συναρμολογούνται από μέρη που είναι πολύχρωμα και φωτεινά. Αυτά τα μέρη μπορούν να μετακινηθούν, να τροποποιηθούν, να αλληλεπιδράσουν με διάφορους τρόπους. Το Scratch βασίζεται σε μπλοκ εντολών όπως αισθητήρες, μεταβλητές, κίνηση, ήχος, χειριστές, εμφάνιση, στυλό, χειριστήρια κ.λπ. Ενσωματωμένο επεξεργαστής γραφικώνκαθιστά δυνατή την σχεδίαση οποιουδήποτε αντικειμένου. Λιγότερο από πέντε χρόνια μετά τη δημιουργία του Scratch, προέκυψε το έργο Scratch για το Arduino (συντομογραφία S4A), επιτρέποντάς σας να προγραμματίσετε το Arduino PLC.

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

Συμβουλή.Υπάρχει ένας ειδικός πόρος για τους νέους στο Scratch: https://scratch-ru.info.

ArduBloсk

Όταν ένα άτομο έχει ήδη κατακτήσει πλήρως το Scratch, αλλά δεν έχει ακόμη ωριμάσει στο Wiring, στο οποίο προγραμματίζονται πίνακες συμβατοί με Arduino, ήρθε η ώρα να του συμβουλέψετε το εργαλείο ArduBlock γραμμένο σε Java. Είναι ιδιαίτερα καλό για όσους αγαπούν τη ρομποτική.

Ποιά είναι η διαφορά? Το γεγονός είναι ότι το Scratch δεν μπορεί να αναβοσβήνει ένα Arduino, ελέγχει μόνο το PLC του μέσω USB. Έτσι, το Arduino δεν μπορεί να λειτουργήσει μόνο του, επειδή εξαρτάται από τον υπολογιστή.

Στην πραγματικότητα, το ArduBloсk είναι ένα ενδιάμεσο στάδιο μεταξύ ενός παιδικού Scratch και ενός εντελώς επαγγελματικού, αν και προσιτού Visuino, αφού, όπως και το τελευταίο, έχει τη δυνατότητα να αναβοσβήνει ελεγκτές συμβατούς με Arduino.

Συμβουλή.Μην ξεχάσετε να εγκαταστήσετε μια μηχανή Java στον υπολογιστή σας. Δεν χρειάζεται πολύς χρόνος.

Έτσι, περισσότερα γραφικά περιβάλλοντα - καλά και διαφορετικά. Arduino να είσαι μαζί σου.

Φωτογραφία: κατασκευαστικές εταιρείες, pixabay.com

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

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

Serial.print () και Serial.println () είναι οι κύριες λειτουργίες Arduino για τη μεταφορά πληροφοριών από έναν πίνακα arduino σε έναν υπολογιστή μέσω σειριακής θύρας. Οι πιο δημοφιλείς πίνακες Arduino Uno, Mega, Nano δεν έχουν ενσωματωμένη οθόνη, οπότε ...

Είναι δυνατόν να κάνετε έργα Arduino χωρίς τον ίδιο τον πίνακα Arduino; Αποδεικνύεται αρκετά. Χάρη σε πολλά διαδικτυακές υπηρεσίεςκαι προγράμματα που έχουν το δικό τους όνομα: εξομοιωτή ή προσομοιωτή Arduino. Οι πιο δημοφιλείς εκπρόσωποι τέτοιων προγραμμάτων είναι ...

Η σειριακή έναρξη είναι μια εξαιρετικά σημαντική οδηγία Arduino, επιτρέπει στον ελεγκτή να συνδεθεί με εξωτερικές συσκευές. Τις περισσότερες φορές, αυτή η "εξωτερική συσκευή" είναι ο υπολογιστής στον οποίο συνδέουμε το Arduino. Επομένως, το Serial begin είναι πιο έντονο ...

Μια καθολική μεταβλητή στο Arduino είναι μια μεταβλητή η έκταση της οποίας εκτείνεται σε ολόκληρο το πρόγραμμα, ορατή σε όλες τις ενότητες και τις συναρτήσεις. Σε αυτό το άρθρο, θα εξετάσουμε μερικά παραδείγματα χρήσης καθολικών μεταβλητών, ...

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

Ιστορικά, τμήμα λογισμικούΤο Arduino αποτελείται από ένα ολοκληρωμένο περιβάλλον λογισμικού (IDE) που σας επιτρέπει να γράφετε, να μεταγλωττίζετε και να ανεβάζετε κώδικα στο υλικό σας. Το περιβάλλον ArduinoIDE και η ίδια η γλώσσα Wiring βασίζονται κυρίως στην επεξεργασία, έμμεσα στο C / C ++. Στην πραγματικότητα, το Arduino IDE είναι ένα μεγάλο προκατασκευασμένο hodgepodge, όχι για διασκέδαση, αλλά για ευκολία.

Ακόμα και εξωτερικά καιArduinoIDE καιΗ επεξεργασία είναι παρόμοια


Από τι αποτελείται το πρόγραμμα (σκίτσο);
Κάθε πρόγραμμα, όσο περίπλοκο και αν φαίνεται, αποτελείται από ξεχωριστά σύνολα μπλοκκώδικας που συμβολίζεται με σγουρά στηρίγματα (). Για ένα ελάχιστο πρόγραμμα, απαιτούνται μόνο 2 μπλοκ: ρύθμιση και βρόχος. Η παρουσία τους απαιτείται σε οποιοδήποτε πρόγραμμα C ++ για το Arduino, διαφορετικά ενδέχεται να λάβετε σφάλμα στο στάδιο της μεταγλώττισης.
void setup () () void loop () ()
Στη συνάρτηση setup (), πραγματοποιούνται οι αρχικές ρυθμίσεις μεταβλητών και καταχωρητών. Αφού ολοκληρωθεί η εγκατάσταση (), ο έλεγχος περνά στη συνάρτηση βρόχου (), δηλαδή ατελείωτος κύκλοςγραμμένο στο σώμα (μεταξύ ()). Είναι αυτές οι εντολές που εκτελούν όλες τις αλγοριθμικές ενέργειες του ελεγκτή.

Σκεύη, εξαρτήματα "γεια σας, κόσμος! " - Η λυχνία LED αναβοσβήνει.
Εκεί που η πρώτη γνωριμία με το Arduino ξεκινά στη διασταύρωση λογισμικού και υλικού είναι το αναβοσβήσιμο ενός LED.


Πρώτον, πρέπει να συμπληρώσετε το ελάχιστο πρόγραμμα. Για το Arduino (για παράδειγμα UNO), συνδέστε το LED στον ακροδέκτη 12 και το GND (το χρώμα του ίδιου του LED επιλέγεται από τις προσωπικές προτιμήσεις).

Void setup () (pinMode (12, OUTPUT);) void loop () (digitalWrite (12, HIGH); καθυστέρηση (100); digitalWrite (12, LOW); καθυστέρηση (900);)
Κάντε Ctrl + C -> Ctrl + V, μεταγλωττίστε, φορτώστε, κυριαρχήστε. Βλέπουμε μια φωτεινή παράσταση που δεν διαρκεί περισσότερο από ένα δευτερόλεπτο. Ας καταλάβουμε γιατί συμβαίνει αυτό.

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

Τι συμβαίνει ενδιάμεσα{ } ?
Όπως γνωρίζετε, οι ακίδες Arduino μπορούν να λειτουργήσουν ως έξοδο και είσοδος. Όταν θέλουμε να ελέγξουμε κάτι, τότε πρέπει να βάλουμε τον πείρο ελέγχου στην κατάσταση εργασίας στην έξοδο. Αυτό γίνεται με μια έκφραση σε μια συνάρτησηρύθμιση:
pinMode (12, OUTPUT); Σε αυτή την κατάσταση, η έκφραση πραγματοποιείται κλήση λειτουργίας ... Στο pinMode, το καθορισμένο pin ρυθμίζεται στην καθορισμένη λειτουργία (INPUT ή OUTPUT). Για ποια καρφίτσα και για ποια λειτουργία μιλάμε υποδεικνύεται σε παρενθέσεις, χωρισμένες με κόμματα. Στην περίπτωσή μας, θέλουμε το 12ο pin να λειτουργεί ως έξοδος. OUTPUT σημαίνει έξοδος, INPUT σημαίνει είσοδος. Καλούνται διακριτικές τιμές όπως 12 και OUTPUT ορίσματα συνάρτησης ... Πόσα επιχειρήματα έχει μια συνάρτηση εξαρτάται από την ουσία της συνάρτησης και τη θέληση του δημιουργού της. Οι συναρτήσεις δεν μπορούν να έχουν καθόλου επιχειρήματα, όπως συμβαίνει με το setup και το loop.

Στη συνέχεια, μεταβείτε στο μπλοκ βρόχου, με τη σειρά:
-καλέστε την ενσωματωμένη λειτουργία digitalWrite. Έχει σχεδιαστεί για να παρέχει ένα λογικό μηδέν (ΧΑΜΗΛΟ, 0 βολτ) ή ένα λογικό (Υ HIGHΗΛΟ, 5 βολτ) σε έναν δεδομένο ακροδέκτη. 2 ορίσματα περνούν στη συνάρτηση digitalWrite: έναν αριθμό pin και μια λογική τιμή.
-καλέστε τη λειτουργία καθυστέρησης. Αυτή, πάλι, είναι μια ενσωματωμένη λειτουργία που κάνει τον επεξεργαστή να "κοιμάται" για ορισμένο χρονικό διάστημα. Χρειάζεται μόνο ένα επιχείρημα: ο χρόνος σε χιλιοστά του δευτερολέπτου για ύπνο. Στην περίπτωσή μας, αυτό είναι 100 ms. Μόλις περάσουν 100ms, ο επεξεργαστής ξυπνά και αμέσως προχωρά στην επόμενη έκφραση.
- καλέστε την ενσωματωμένη λειτουργία digitalWrite. Μόνο που αυτή τη φορά, το δεύτερο επιχείρημα είναι LOW. Δηλαδή, θέσαμε ένα λογικό μηδέν στον 12ο πείρο -> τροφοδοσία 0 βολτ -> απενεργοποιήστε το LED.
- κλήση στη λειτουργία καθυστέρησης. Αυτή τη φορά "κοιμόμαστε" λίγο περισσότερο - 900 ms.

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

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


Με τη βοήθεια του άδειου χώρου, μπορείτε να κάνετε το πρόγραμμα κατανοητό και οπτικό ή, αντίθετα, να το παραμορφώσετε χωρίς αναγνώριση. Για παράδειγμα, το παράδειγμα προγράμματος μπορεί να τροποποιηθεί ως εξής:

void setup () (pinMode (12, OUTPUT);) void loop () (digitalWrite (12, HIGH); καθυστέρηση (100); digitalWrite (12, LOW); καθυστέρηση (900);)

Για να αποτρέψετε κάποιον να αιμορραγεί από τα μάτια του κατά την ανάγνωση, μπορείτε να ακολουθήσετε μερικούς απλούς κανόνες:


1. Πάντα, όταν ξεκινάτε ένα νέο μπλοκ μεταξύ( και ) αυξήσει την εσοχή. Συνήθως χρησιμοποιούνται 2 ή 4 χώροι. Επιλέξτε μία από τις τιμές και τηρήστε την παντού.

Void loop () (digitalWrite (12, HIGH); καθυστέρηση (100); digitalWrite (12, LOW); καθυστέρηση (900);)
2. Όπως και στην κανονική γλώσσα: βάλτε ένα κενό μετά τα κόμματα.

digitalWrite (12, HIGH);
3. Τοποθετήστε τον χαρακτήρα έναρξης μπλοκ (σε μια νέα γραμμή στο τρέχον επίπεδο εσοχής ή στο τέλος της προηγούμενης. Και τον χαρακτήρα τελικού μπλοκ) σε μια ξεχωριστή γραμμή στο τρέχον επίπεδο εσοχής:

void setup () (pinMode (12, OUTPUT);) void setup () (pinMode (12, OUTPUT);)
4. Χρησιμοποιήστε κενές γραμμές για να διαχωρίσετε μπλοκ σημασίας:

void loop () (digitalWrite (12, HIGH); καθυστέρηση (100); digitalWrite (12, LOW); καθυστέρηση (900); digitalWrite (12, HIGH); καθυστέρηση (100); digitalWrite (12, LOW); καθυστέρηση ( 900);)
5. Προκειμένου το πνευματικό σας παιδί να είναι ευχάριστο να διαβάζεται, υπάρχουν τα λεγόμενα σχόλια. Αυτά είναι κατασκευές στον κώδικα προγράμματος που αγνοούνται εντελώς από τον μεταγλωττιστή και έχουν νόημα μόνο για τον αναγνώστη. Τα σχόλια μπορούν να είναι πολλαπλών γραμμών ή μονής γραμμής:

/ * αυτό είναι ένα σχόλιο πολλών γραμμών * / // αυτό είναι ένα μονογραμμή

Το Arduino είναι πολύ δημοφιλές σε όλους τους λάτρεις των κατασκευών. Είναι απαραίτητο να εξοικειωθείτε με αυτούς και εκείνους που δεν τον έχουν ακούσει ποτέ.

Τι είναι το Arduino;

Πώς μπορείτε να συνοψίσετε το Arduino; Οι καλύτερες λέξεις θα ήταν: Το Arduino είναι ένα εργαλείο με το οποίο μπορείτε να δημιουργήσετε διάφορα ηλεκτρονικές συσκευές... Στην ουσία, είναι μια πραγματική καθολική πλατφόρμα υλικού υπολογιστών. Μπορεί να χρησιμοποιηθεί και για την κατασκευή απλά σχήματα, και για την υλοποίηση αρκετά σύνθετων έργων.

Ο κατασκευαστής βασίζεται στο υλικό του, το οποίο είναι ένας πίνακας εισόδου-εξόδου. Για τον προγραμματισμό του πίνακα, χρησιμοποιούνται γλώσσες που βασίζονται σε C / C ++. Ονομάστηκαν αντίστοιχα, Processing / Wiring. Από την ομάδα Γ, κληρονόμησαν τη μέγιστη απλότητα, χάρη στην οποία κατακτώνται πολύ γρήγορα από οποιοδήποτε άτομο και η εφαρμογή της γνώσης στην πράξη δεν είναι ένα μάλλον σημαντικό πρόβλημα. Για να καταλάβετε την ευκολία εργασίας, λέγεται συχνά ότι το Arduino είναι για αρχάριους μάγους-σχεδιαστές. Ακόμα και τα παιδιά μπορούν να ασχοληθούν με τους πίνακες Arduino.

Τι μπορείτε να συλλέξετε σε αυτό;

Η χρήση του Arduino είναι αρκετά διαφορετική, μπορεί να χρησιμοποιηθεί, τόσο για τα πιο απλά παραδείγματα, που θα προταθούν στο τέλος του άρθρου, όσο και για μάλλον πολύπλοκους μηχανισμούς, συμπεριλαμβανομένων χειριστών, ρομπότ ή μηχανών παραγωγής. Μερικοί τεχνίτες καταφέρνουν να κατασκευάζουν tablet, τηλέφωνα, συστήματα παρακολούθησης και ασφάλειας στο σπίτι, έξυπνα οικιακά συστήματα ή απλώς υπολογιστές με βάση τέτοια συστήματα. Τα έργα Arduino για αρχάριους, τα οποία ακόμη και κάποιος χωρίς εμπειρία δεν μπορεί να ξεκινήσει, βρίσκονται στο τέλος του άρθρου. Μπορούν ακόμη και να χρησιμοποιηθούν για τη δημιουργία πρωτόγονων συστημάτων. Εικονική πραγματικότητα... Όλα χάρη στο ευχάριστο ευέλικτο υλικό και τις δυνατότητες που παρέχει ο προγραμματισμός Arduino.

Πού μπορώ να βρω τα εξαρτήματα;

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

Τα εξαρτήματα μπορούν να αγοραστούν είτε ως μέρος των κιτ, είτε ξεχωριστά. Υπάρχουν ακόμη και προετοιμασμένα σύνολα για τη συναρμολόγηση αυτοκινήτων, ελικοπτέρων με ΔΙΑΦΟΡΕΤΙΚΟΙ ΤΥΠΟΙχειριστήρια ή πλοία. Το κιτ, όπως στην παραπάνω φωτογραφία, κατασκευασμένο στην Κίνα, θα κοστίσει 49 $.

Περισσότερα για το υλικό

Ο πίνακας Arduino είναι απλός μικροελεγκτή AVR, το οποίο αναβοσβήνει με ένα πρόγραμμα εκκίνησης και έχει την ελάχιστη απαιτούμενη ελάχιστη θύρα USB-UART. Υπάρχουν επίσης σημαντικά συστατικά, αλλά εντός των ορίων του άρθρου θα ήταν καλύτερο να εστιάσουμε μόνο σε αυτά τα δύο συστατικά.

Πρώτον, σχετικά με τον μικροελεγκτή, έναν μηχανισμό χτισμένο σε ένα κύκλωμα, στο οποίο βρίσκεται το αναπτυγμένο πρόγραμμα. Το πρόγραμμα μπορεί να επηρεαστεί από το πάτημα κουμπιών, τη λήψη σημάτων από τα συστατικά της δημιουργίας (αντιστάσεις, τρανζίστορ, αισθητήρες κ.λπ.) κλπ. Επιπλέον, οι αισθητήρες μπορεί να διαφέρουν πολύ στο σκοπό τους: φωτισμός, επιτάχυνση, θερμοκρασία, απόσταση, πίεση , εμπόδια κλπ. Απλά μέρη μπορούν να χρησιμοποιηθούν ως συσκευές ένδειξης, από LED και tweeters έως πολύπλοκες συσκευές όπως γραφικές οθόνες... Λαμβάνονται υπόψη οι κινητήρες, οι βαλβίδες, τα ρελέ, οι σερβομηχανισμοί, οι ηλεκτρομαγνήτες και πολλά άλλα, τα οποία είναι πολύ μακρά για να απαριθμηθούν. Με ορισμένες από αυτές τις λίστες, το MK λειτουργεί άμεσα, χρησιμοποιώντας καλώδια σύνδεσης. Ορισμένοι μηχανισμοί απαιτούν συσκευές προσαρμογής. Αλλά αν έχετε ήδη αρχίσει να σχεδιάζετε, θα είναι δύσκολο για εσάς να ξεκολλήσετε. Τώρα ας μιλήσουμε για τον προγραμματισμό Arduino.

Μάθετε περισσότερα για τη διαδικασία προγραμματισμού του πίνακα

Ένα πρόγραμμα που είναι ήδη έτοιμο να λειτουργήσει σε έναν μικροελεγκτή ονομάζεται υλικολογισμικό. Μπορεί να υπάρχουν είτε ένα έργο είτε έργα Arduino, οπότε θα ήταν επιθυμητό να αποθηκεύσετε κάθε υλικολογισμικό ξεχωριστό φάκελογια να επιταχυνθεί η διαδικασία εύρεσης απαιτούμενα αρχεία... Είναι ραμμένο στον κρύσταλλο MK μέσω εξειδικευμένων συσκευών: προγραμματιστών. Και εδώ το "Arduino" έχει ένα πλεονέκτημα - δεν χρειάζεται προγραμματιστή. Όλα γίνονται για να κάνουν τον προγραμματισμό του Arduino εύκολο για αρχάριους. Ο γραπτός κώδικας μπορεί να φορτωθεί στο MK μέσω καλωδίου USB. Αυτό το πλεονέκτημα δεν επιτυγχάνεται από κάποιον ήδη ενσωματωμένο προγραμματιστή, αλλά από ένα ειδικό υλικολογισμικό - ένα πρόγραμμα εκκίνησης. Ο bootloader είναι ένα ειδικό πρόγραμμα που ξεκινά αμέσως μετά τη σύνδεση και ακούει αν υπάρχουν εντολές, αν ο κρύσταλλος αναβοσβήνει, αν υπάρχουν έργα Arduino ή όχι. Αρκετά πολύ ελκυστικά πλεονεκτήματα προκύπτουν από τη χρήση ενός bootloader:

  1. Χρησιμοποιώντας μόνο ένα κανάλι επικοινωνίας, το οποίο δεν απαιτεί επιπλέον δαπάνες χρόνου. Για παράδειγμα, τα έργα Arduino δεν απαιτούν τη σύνδεση πολλών διαφορετικών καλωδίων και έχει δημιουργηθεί σύγχυση κατά τη χρήση τους. Ένα καλώδιο USB είναι αρκετό για την επιτυχή λειτουργία.
  2. Προστασία από στραβά χέρια. Είναι πολύ εύκολο να φέρετε τον μικροελεγκτή στην κατάσταση ενός τούβλου χρησιμοποιώντας απευθείας υλικολογισμικό, δεν χρειάζεται να καταπονηθείτε πολύ. Όταν εργάζεστε με ένα πρόγραμμα εκκίνησης, δεν μπορείτε να φτάσετε σε δυνητικά επικίνδυνες ρυθμίσεις (φυσικά, με τη βοήθεια του προγράμματος ανάπτυξης, αλλά μπορείτε να τα σπάσετε όλα). Ως εκ τούτου, το Arduino για αρχάριους έχει σχεδιαστεί όχι μόνο από την άποψη ότι είναι κατανοητό και βολικό, θα σας επιτρέψει επίσης να αποφύγετε ανεπιθύμητες δαπάνες που σχετίζονται με την απειρία του ατόμου που εργάζεται μαζί τους.

Έργα για να ξεκινήσετε

Όταν αποκτήσετε ένα κιτ, ένα κολλητήρι, κολοφώνιο και κόλληση, δεν πρέπει να σμιλεύετε αμέσως πολύ περίπλοκες κατασκευές. Φυσικά, μπορείτε να τα τυφλώσετε, αλλά η πιθανότητα επιτυχίας στο Arduino για αρχάριους είναι μάλλον μικρή για πολύπλοκα έργα. Για εκπαίδευση και "γέμισμα" του χεριού σας, μπορείτε να δοκιμάσετε να εφαρμόσετε αρκετές απλούστερες ιδέες που θα σας βοηθήσουν να κατανοήσετε την αλληλεπίδραση και το έργο του "Arduino". Ως τέτοια πρώτα βήματα στη συνεργασία με το Arduino για αρχάριους, μπορούμε να σας συμβουλέψουμε να λάβετε υπόψη σας:

  1. Δημιουργήστε το οποίο θα λειτουργήσει χάρη στο "Arduino".
  2. Σύνδεση ξεχωριστού κουμπιού στο "Arduino". Σε αυτήν την περίπτωση, μπορείτε να το κάνετε έτσι ώστε το κουμπί να μπορεί να ρυθμίσει το φως της λυχνίας LED από το σημείο # 1.
  3. Σύνδεση ποτενσιόμετρου.
  4. Σέρβο έλεγχος.
  5. Σύνδεση και εργασία με LED τριών χρωμάτων.
  6. Σύνδεση πιεζοηλεκτρικού στοιχείου.
  7. Σύνδεση φωτοαντιστάσεως.
  8. Σύνδεση αισθητήρα κίνησης και σήματα για τη λειτουργία του.
  9. Σύνδεση αισθητήρα υγρασίας ή θερμοκρασίας.

Έργα για το μέλλον

Είναι απίθανο να σας ενδιαφέρει το "Arduino" για να συνδέσετε μεμονωμένα LED. Πιθανότατα, σας ελκύει η ευκαιρία να δημιουργήσετε το δικό σας αυτοκίνητο ή ένα πικάπ. Τέτοια έργα είναι πολύπλοκα στην υλοποίηση, θα χρειαστούν πολύ χρόνο και επιμονή, αλλά μετά την ολοκλήρωσή τους, θα έχετε αυτό που θέλετε: πολύτιμη εμπειρία κατασκευής με το Arduino για αρχάριους.