Πίνακας περιεχομένων:
- Βήμα 1: Χρησιμοποιημένοι πόροι
- Βήμα 2: Συναρμολόγηση
- Βήμα 3: Νέο πρόγραμμα στο MBED
- Βήμα 4: Εισαγωγή της βιβλιοθήκης DS18b20
- Βήμα 5: Νέο πρόγραμμα στο MBED
- Βήμα 6: Πηγαίος κώδικας
- Βήμα 7: Λήφθηκαν δεδομένα
- Βήμα 8: Συμπεριλαμβανομένων περισσότερων αισθητήρων
- Βήμα 9: Προβολή πηγής
- Βήμα 10: Αρχεία
Βίντεο: Απίστευτα εύκολο στον προγραμματισμό!: 10 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Σήμερα, θα μιλήσω για το STM32 Core, το L476RG, το οποίο είναι το πρόσωπο της Ultra Low Power. Μπορείτε να το δείτε στα αριστερά της εικόνας. Αυτή η συσκευή διαθέτει δύο θηλυκές ράβδους καρφιτσών, μία σε κάθε πλευρά, οι οποίες δεν είναι τίποτε άλλο από τις συνδέσεις για την ασπίδα arduino. Αυτό είναι υπέροχο, όχι;
Κατά τη γνώμη μου, η STMicroelectronics το έκανε αυτό στο κιτ ανάπτυξης, επειδή γνωρίζει ότι οι επαγγελματίες χρησιμοποιούν αυτό το τσιπ. Αυτή η εταιρεία πηγαίνει όλο και περισσότερο προς το arduino. Και αυτό ισχύει επίσης για πολλά άλλα επαγγελματικά κιτ STMicroelectronics.
Τέλος, όσον αφορά το έργο σήμερα, θα χρησιμοποιήσουμε δύο αισθητήρες DS18b20 επιπλέον του L476RG. Έτσι, θα κάνουμε μια απλή συναρμολόγηση χρησιμοποιώντας το L476RG, θα εισαγάγουμε μια βιβλιοθήκη στο περιβάλλον MBED, θα δημιουργήσουμε ένα πρόγραμμα στο περιβάλλον MBED και θα λάβουμε δεδομένα από το L476RG μέσω USB / Serial.
Έχω ήδη μιλήσει λίγο για το L476RG σε αυτό το βίντεο: Ο ΠΙΟ ΕΥΚΟΛΟΣ ΤΡΟΠΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΙΚΡΟΕΛΕΓΧΟΥ, όπου δείχνω πώς να διαμορφώσετε το περιβάλλον MBED, το οποίο είναι online.
Μερικοί άνθρωποι που ακολουθούν τα βίντεό μου με ρωτούν αν το STM32 αντικαθιστά το ESP32. Λέω ένα πράγμα: δεν αντικαθιστά και δεν θα μπορούσε, γιατί είναι δύο εντελώς διαφορετικά πράγματα.
Αυτό το τσιπ STM32 είναι ένας μικροελεγκτής, ή μάλλον? δεν είναι "σύμπλεγμα πραγμάτων" όπως είναι το ESP32. Έτσι, το όνομα μπορεί να μοιάζει, αλλά είναι εντελώς διαφορετικά. Το STM32 είναι ένας μικροελεγκτής γενικής χρήσης, όπως ένα PIC, ένα Atmel, για παράδειγμα.
Βήμα 1: Χρησιμοποιημένοι πόροι
1 Core L476RG
2 αισθητήρες DS18b20 (χρησιμοποιούμε τις κοινές αδιάβροχες μονάδες στην αγορά)
1 αντίσταση 4k7
Μίνι protoboard
Μπλουζάκια για σύνδεση
Βήμα 2: Συναρμολόγηση
Αρχικά θα πραγματοποιήσουμε τη συναρμολόγηση χρησιμοποιώντας έναν από τους αισθητήρες θερμοκρασίας.
Η ισχύς του θα είναι 5V.
Μια αντίσταση 4k7 θα χρησιμοποιηθεί για να κάνει pull-up στη γραμμή δεδομένων (1-Wire).
Θα διαβάσουμε τα δεδομένα χρησιμοποιώντας τον ακροδέκτη A0.
Βήμα 3: Νέο πρόγραμμα στο MBED
Μόλις ρυθμίσετε τον λογαριασμό σας στο MBED και έχετε πρόσβαση σε αυτόν, θα δημιουργήσουμε ένα νέο πρόγραμμα. Για να το κάνετε αυτό, κάντε δεξί κλικ στο "Τα προγράμματά μου" και επιλέξτε "Νέο πρόγραμμα …"
Επιβεβαιώστε ότι η "Πλατφόρμα" συμμορφώνεται με τον πίνακα που χρησιμοποιείτε.
Τώρα κάνουμε κλικ στο "Πρότυπο".
Θα δημιουργήσουμε ένα πρόγραμμα με βάση το παράδειγμα "Εμφάνιση μηνύματος στον υπολογιστή χρησιμοποιώντας το UART".
Εισαγάγετε το όνομα του προγράμματος στο "Όνομα προγράμματος".
Ελέγξτε την επιλογή "Ενημέρωση αυτού του προγράμματος και των βιβλιοθηκών στην πιο πρόσφατη αναθεώρηση".
Θα δημιουργηθεί ένας νέος φάκελος για το πρόγραμμά σας, συμπεριλαμβανομένης της προεπιλεγμένης βιβλιοθήκης MBED και του αρχείου main.cpp.
Μπορείτε να το χρησιμοποιήσετε για να ελέγξετε αν όλα λειτουργούν καλά. Για να το κάνετε αυτό, απλώς μεταγλωττίστε το και αντιγράψτε το στην πλατφόρμα.
Χρησιμοποιώντας σειριακό τερματικό της επιλογής σας, μπορείτε να λάβετε τα ακόλουθα μηνύματα.
Βήμα 4: Εισαγωγή της βιβλιοθήκης DS18b20
Καθώς υπάρχουν αρκετές εκδόσεις βιβλιοθηκών για το Ds18b20, θα εισαγάγουμε χρησιμοποιώντας ένα url, έτσι ώστε το παράδειγμά σας να χρησιμοποιεί την ίδια βιβλιοθήκη.
Βήμα 5: Νέο πρόγραμμα στο MBED
Στο πεδίο "Διεύθυνση URL πηγής" συμπληρώστε: https://os.mbed.com/users/Sissors/code/DS1820/ και κάντε κλικ στην εισαγωγή.
Η βιβλιοθήκη DS1820 θα πρέπει να εμφανίζεται στο φάκελο του προγράμματος σας.
Βήμα 6: Πηγαίος κώδικας
Περιλαμβάνει
Ξεκινήσαμε συμπεριλαμβάνοντας τις απαραίτητες βιβλιοθήκες.
#include "mbed.h" // inclusão da biblioteca padrão do MBED#include "DS1820.h" // inclusão da biblioteca do sensor DS1820
Ορίζουμε σταθερές που θα αντιπροσωπεύουν τις καρφίτσες που χρησιμοποιούνται.
Σημειώστε ότι το DS18b20 είναι ένας αισθητήρας με επικοινωνία 1-WIRE. Για το λόγο αυτό, χρησιμοποιούμε τη βιβλιοθήκη που θα χειρίζεται ολόκληρο το πρωτόκολλο επικοινωνίας με τις συσκευές. Αυτό περιλαμβάνει την αναγνώριση κάθε συσκευής μέχρι τις εντολές ανάγνωσης.
#define PINO_DE_DADOS A0 // define o pino para leitura dos dados#define MAX_SENSORES 16 // define o número máximo para o vetor de sensores
Δημιουργούμε ένα διάνυσμα που θα δείχνει κάθε μία από τις 16 πιθανές συσκευές που είναι συνδεδεμένες στη γραμμή δεδομένων.
Αισθητήρας DS1820* [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
Ξεκινάμε την κύρια () μέθοδο, όπου, χρησιμοποιώντας τη μέθοδο "unassignedProbe ()" που περιέχεται στη βιβλιοθήκη DS1820, αναζητούμε όλες τις διαθέσιμες συσκευές στη γραμμή επικοινωνίας.
Γεμίζουμε το διάνυσμα του αισθητήρα με τις περιπτώσεις που θα αντιπροσωπεύουν κάθε έναν από τους διαθέσιμους αισθητήρες.
Αυτό το κάνουμε μέχρι να βρεθεί ο τελευταίος ή μέχρι να φτάσουμε στο μέγιστο των 16 αισθητήρων.
int main () {int encontrados = 0; ενώ (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; εάν (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break? }
Στέλνουμε τον αριθμό των αισθητήρων που βρίσκονται στη γραμμή.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados);
Ξεκινάμε έναν άπειρο βρόχο, ζητώντας από όλους τους διαθέσιμους αισθητήρες να υπολογίσουν τις αντίστοιχες θερμοκρασίες τους και στη συνέχεια να επαναληφθεί μέσω του διανύσματος του αισθητήρα στέλνοντας τις μετρήσεις που λαμβάνονται.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); ενώ (1) {sensor [0]-> convertTemperature (true, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //. Το Το e retorna a temperatura printf ("\ r / n"); περιμένετε (1)? }
Βήμα 7: Λήφθηκαν δεδομένα
Χρησιμοποιώντας έναν μόνο αισθητήρα, λαμβάνουμε την ακόλουθη σειριακή έξοδο.
Βήμα 8: Συμπεριλαμβανομένων περισσότερων αισθητήρων
Για να δοκιμάσετε τον κώδικα, εισάγουμε έναν άλλο αισθητήρα στη γραμμή επικοινωνίας, απλώς συνδέοντάς τον παράλληλα με τον πρώτο αισθητήρα.
Θυμηθείτε να απενεργοποιήσετε τη διάταξη πριν συνδέσετε νέους αισθητήρες.
Κατά την επανεκκίνηση του συγκροτήματος, λάβαμε την ακόλουθη έξοδο, χωρίς αλλαγές στον πηγαίο κώδικα.
Βήμα 9: Προβολή πηγής
#include "mbed.h" // inclusão da biblioteca padrão do MBED #include "DS1820.h" // inclusão da biblioteca do sensor DS1820 #define PINO_DE_DADOS A0 // define o pino para leitura dos dados #define MAX_SENSORES 16 // define o número máximo para o vetor de sensores DS1820* sensor [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores int main () {int encontrados = 0; ενώ (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensor [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; εάν (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break? } printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); ενώ (1) {sensor [0]-> convertTemperature (true, DS1820:: all_devices); // solicita a leitura de temperatura para todos os dispositivos encontrados for (int i = 0; itemperature ()); //. Το Το e retorna a temperatura printf ("\ r / n"); περιμένετε (1)? }}
Βήμα 10: Αρχεία
Οι υπολοιποι
Συνιστάται:
Εισαγωγή στον προγραμματισμό του Raspberry Pi χωρίς κωδικοποίηση χεριών: 3 βήματα
Εισαγωγή στον προγραμματισμό του Raspberry Pi χωρίς χειροκίνητη κωδικοποίηση: Γεια, αυτό το διδακτικό θα σας δείξει πώς να μετατρέψετε το Raspberry Pi σε μια πλήρως προγραμματιζόμενη συσκευή αυτοματισμού συμβατή με γραφικά προσανατολισμένη γλώσσα προγραμματισμού για PLCs που ονομάζεται Function Block Diagram (μέρος του προτύπου IEC 61131-3). Αυτό μπορεί να είναι
Πώς να φτιάξετε ένα ρομπότ ελεγχόμενο από κινητά - Με βάση το DTMF - Χωρίς μικροελεγκτή & προγραμματισμό - Έλεγχος από οπουδήποτε στον κόσμο - RoboGeeks: 15 βήματα
Πώς να φτιάξετε ένα ρομπότ ελεγχόμενο από κινητά | Με βάση το DTMF | Χωρίς μικροελεγκτή & προγραμματισμό | Έλεγχος από οπουδήποτε στον κόσμο | RoboGeeks: Θέλετε να φτιάξετε ένα ρομπότ που μπορεί να ελεγχθεί από οπουδήποτε στον κόσμο, Ας το κάνουμε
DIY MusiLED, Μουσικά συγχρονισμένα LED με εφαρμογή με ένα κλικ Windows & Linux (32-bit & 64-bit). Εύκολο στην αναδημιουργία, εύκολο στη χρήση, εύκολο στη θύρα .: 3 βήματα
DIY MusiLED, Μουσικά συγχρονισμένα LED με εφαρμογή με ένα κλικ Windows & Linux (32-bit & 64-bit). Εύκολη αναδημιουργία, εύκολη στη χρήση, εύκολη μεταφορά: Αυτό το έργο θα σας βοηθήσει να συνδέσετε 18 LED (6 κόκκινα + 6 μπλε + 6 κίτρινα) στον πίνακα Arduino και να αναλύσετε τα σήματα σε πραγματικό χρόνο της κάρτας ήχου του υπολογιστή σας και να τα μεταφέρετε σε τα LED για να τα ανάβουν σύμφωνα με τα εφέ beat (Snare, High Hat, Kick)
Πώς να τροποποιήσετε εύκολα μια πινακίδα "Light/LED" για εύκολο προγραμματισμό Arduino: 7 βήματα (με εικόνες)
Πώς να τροποποιήσετε εύκολα μια πινακίδα "Light/LED" για εύκολο προγραμματισμό Arduino: Σε αυτό το εκπαιδευτικό πρόγραμμα θα δείξω πώς ο καθένας μπορεί να μετατρέψει κάτι με φώτα σε προγραμματιζόμενα φώτα που αναβοσβήνουν arduino ή " Κινούμενα φώτα "
Εισαγωγή στον προγραμματισμό 8051 με AT89C2051 (Πρωταγωνιστές: Arduino): 7 βήματα (με εικόνες)
Εισαγωγή στον προγραμματισμό 8051 με AT89C2051 (Πρωταγωνιστές: Arduino): Το 8051 (γνωστό και ως MCS-51) είναι ένα σχέδιο MCU της δεκαετίας του 80 που παραμένει δημοφιλές σήμερα. Οι σύγχρονοι μικροελεγκτές συμβατοί με 8051 διατίθενται από πολλούς προμηθευτές, σε όλα τα σχήματα και μεγέθη και με μεγάλη ποικιλία περιφερειακών. Σε αυτή την οδηγία