Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Γεια σου, εδώ είναι ένα σεμινάριο για το πώς να σχεδιάσετε ένα γράφημα τιμών σε πραγματικό χρόνο από έναν μικροελεγκτή όπως ένα Arduino στην εφαρμογή. Χρησιμοποιεί μια μονάδα Bluetooth όπως το HC-05 για να λειτουργήσει ως συσκευή ανταλλαγής μηνυμάτων για τη μετάδοση και λήψη δεδομένων μεταξύ του Arduino και του Android.
Η εφαρμογή είναι απλή στη χρήση και μπορεί να χρησιμοποιηθεί για άλλους σκοπούς, όπως ένα χειριστήριο για τον έλεγχο ενός ρομπότ αυτοκινήτου, μια σειριακή οθόνη, παρόμοια με αυτήν που προσφέρει το Arduino IDE, για τη λήψη σειριακών μηνυμάτων και την αποστολή σειριακών δεδομένων.
ΑΡΚΕΤΑ CHIT-CHAT ΝΑ ΞΕΚΙΝΗΣΟΥΜΕ
Προμήθειες
- Arduino nano ή mega
- Σειροποίηση της εφαρμογής Bluetooth (https://play.google.com/store/apps/details?id=com.athenaDEVKE.bluetoothserialcommunication)
- HC-05
- Αρσενικά καλώδια άλτη
- 10K και 20K αντιστάσεις για να σχηματίσουν ένα διαχωριστή τάσης. Εάν δεν χρησιμοποιήσετε δύο παρόμοιες αντιστάσεις μέτριας υψηλής αξίας σε σειρά, θα εξακολουθήσουν να λειτουργούν.
Βήμα 1: Σχηματική και σύνδεση
- Συνδέστε τις συσκευές όπως φαίνεται παραπάνω και ενεργοποιήστε τη μονάδα
- Ανεβάστε τον ακόλουθο κωδικό δοκιμής:
#include // Συνδέστε τη μονάδα bluetooth HC-05 ή HC-06 στο arduino και δηλώστε τις χρησιμοποιούμενες ακίδες εάν σκοπεύετε να χρησιμοποιήσετε τη σειρά λογισμικού
// Χρησιμοποιείται για τον προσδιορισμό τιμών γραφικής παράστασης
String graphTag = "Γράφημα:";
// Χρησιμοποιείται για τον προσδιορισμό του διαχωρισμού των τιμών μέσα στο ρεύμα
char valueSeparatorCharacter = '&';
// Χρησιμοποιείται για τον προσδιορισμό του τέλους της ροής. Αυτό θα ισχύει τόσο για τη σειριακή οθόνη όσο και για το γράφημα
char terminati
- Βεβαιωθείτε ότι κάνετε λήψη του Serialize Bluetooth-Plotter, τερματικού και ελεγκτή (https://play.google.com/store/apps/details?id=com….).
- Αρχικά βεβαιωθείτε ότι έχετε αντιστοιχίσει τη μονάδα hc-05 με το τηλέφωνό σας και, στη συνέχεια, ξεκινήστε την εφαρμογή
- Επιλέξτε την καρτέλα Διαμόρφωση. Κάντε κλικ στην ανανέωση για να συμπληρώσετε το σύνθετο πλαίσιο. Επιλέξτε τη μονάδα από το σύνθετο πλαίσιο. Στη συνέχεια, κάντε κλικ στο κουμπί σύνδεσης και περιμένετε το αναδυόμενο μήνυμα που δηλώνει ότι η συσκευή είναι συνδεδεμένη.
- Κάντε κλικ στο γράφημα διαμόρφωσης και ορίστε μια ετικέτα γραφήματος, επιλέξτε έναν τύπο γραφήματος, ορίστε έναν χαρακτήρα που χρησιμοποιείται για τον διαχωρισμό των τιμών και έναν χαρακτήρα τερματισμού.
;
void setup () {
// Δηλώστε το ποσοστό baud. Η εφαρμογή υποστηρίζει μόνο 9600
mySerial.begin (9600);
}
void loop () {
// Παράδειγμα βρόχου σχεδίασης ημιτονοειδούς κύματος
για (float x = -2 * PI; x <= 2 * PI; x = x + PI / 50) {
mySerial.print (graphTag);
mySerial.print (240 * sin (x));
mySerial.print (valueSeparatorCharacter);
mySerial.print (240 * sin (x + (2 * PI / 3)));
mySerial.print (valueSeparatorCharacter);
mySerial.print (240 * sin (x + (4 * PI / 3)));
mySerial.print (terminationSeparatorCharacter);
}
}
- Βεβαιωθείτε ότι κάνετε λήψη του Serialize Bluetooth-Plotter, τερματικού και ελεγκτή (https://play.google.com/store/apps/details?id=com….).
- Αρχικά βεβαιωθείτε ότι έχετε αντιστοιχίσει τη μονάδα hc-05 με το τηλέφωνό σας και, στη συνέχεια, ξεκινήστε την εφαρμογή
- Επιλέξτε την καρτέλα Διαμόρφωση. Κάντε κλικ στην ανανέωση για να συμπληρώσετε το σύνθετο πλαίσιο. Επιλέξτε τη μονάδα από το σύνθετο πλαίσιο. Στη συνέχεια, κάντε κλικ στο κουμπί σύνδεσης και περιμένετε το αναδυόμενο μήνυμα που δηλώνει ότι η συσκευή είναι συνδεδεμένη.
- Κάντε κλικ στο γράφημα διαμόρφωσης και ορίστε μια ετικέτα γραφήματος, επιλέξτε έναν τύπο γραφήματος, ορίστε έναν χαρακτήρα που χρησιμοποιείται για τον διαχωρισμό των τιμών και έναν χαρακτήρα τερματισμού.
Βήμα 2: Ανάγνωση εισόδων από την εφαρμογή
- Με την ίδια ρύθμιση όπως παραπάνω:
- Ανεβάστε τον παρακάτω κωδικό:
#include SoftwareSerial mySerial (12, 11); // Όπως συνήθως, ρυθμίστε τις καρφίτσες tx και rx
void setup () {
// Ο ρυθμός Baud της μονάδας bluetooth πρέπει να οριστεί σε 9600 για επικοινωνία με την εφαρμογή
mySerial.begin (9600);
// Μπορεί να ρυθμιστεί σε όποιο ποσοστό baud θέλετε
Serial.begin (9600);
}
void loop () {
εάν (mySerial.available ()> 0) {
// Με τη λήψη δεδομένων, διαβάστε τη συμβολοσειρά έως τη νέα γραμμή
String inputString = mySerial.readStringUntil ('\ n'); // Διαβάστε την εισαγωγή έως τη νέα γραμμή
// Εκτύπωση συμβολοσειράς
Serial.println (inputString);
}
}
Δοκιμάστε το χειριστήριο και παρακολουθήστε την έξοδο στη σειριακή οθόνη και το voilà διαβάζετε δεδομένα από την εφαρμογή
Βήμα 3: Ανασκόπηση/Επανάληψη βίντεο
Εάν βρίσκετε δυσκολίες, ακολουθήστε το παραπάνω σεμινάριο βίντεο