Inhaltsverzeichnis:
- Schritt 1: Verwendete Ressourcen
- Schritt 2: Montage
- Schritt 3: Neues Programm in MBED
- Schritt 4: Importieren der DS18b20-Bibliothek
- Schritt 5: Neues Programm in MBED
- Schritt 6: Quellcode
- Schritt 7: Daten empfangen
- Schritt 8: Weitere Sensoren einschließen
- Schritt 9: Quelle anzeigen
- Schritt 10: Dateien
Video: Unglaublich einfach zu programmieren! - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Heute werde ich über den STM32-Core, den L476RG, sprechen, der das Gesicht von Ultra Low Power ist. Sie können es links im Bild sehen. Dieses Gerät verfügt über zwei weibliche Stiftleisten, eine auf jeder Seite, die nichts anderes als die Anschlüsse für das Arduino-Shield sind. Das ist großartig, nicht wahr?
Meiner Meinung nach hat STMicroelectronics dies in seinem Development Kit getan, weil es weiß, dass Profis diesen Chip verwenden. Dieses Unternehmen geht immer mehr in Richtung Arduino. Dies gilt auch für mehrere andere professionelle STMicroelectronics-Kits.
Schließlich werden wir in Bezug auf das heutige Projekt neben dem L476RG zwei DS18b20-Sensoren verwenden. Wir machen also eine einfache Assemblierung mit dem L476RG, importieren eine Bibliothek in die MBED-Umgebung, erstellen ein Programm in der MBED-Umgebung und holen Daten vom L476RG über USB / Seriell.
Ich habe bereits ein wenig über den L476RG in diesem Video gesprochen: THE EASIER WAY TO PROGRAM A MICROCONTROLLER, wo ich zeige, wie die MBED-Umgebung konfiguriert wird, die online ist.
Einige Leute, die meinen Videos folgen, fragen mich, ob STM32 ESP32 ersetzt. Ich sage eines: Es ersetzt nicht und könnte es nicht, weil es zwei völlig verschiedene Dinge sind.
Dieser STM32-Chip ist ein Mikrocontroller, oder besser gesagt; es ist kein "Cluster von Dingen" wie der ESP32. Der Name mag also ähnlich aussehen, aber sie sind völlig unterschiedlich. Der STM32 ist ein Allzweck-Mikrocontroller, wie beispielsweise ein PIC, ein Atmel.
Schritt 1: Verwendete Ressourcen
1 Kern L476RG
2 DS18b20 Sensoren (wir verwenden die gängigen wasserdichten Module auf dem Markt)
1 4k7 Widerstand
Mini-Protoboard
Jumper zum Anschluss
Schritt 2: Montage
Die Montage führen wir zunächst mit einem der Temperatursensoren durch.
Seine Leistung beträgt 5V.
Ein 4k7-Widerstand wird verwendet, um einen Pull-up auf der Datenleitung (1-Wire) durchzuführen.
Wir werden die Daten mit dem A0-Pin lesen.
Schritt 3: Neues Programm in MBED
Sobald Sie Ihr Konto in MBED eingerichtet haben und darauf zugreifen, erstellen wir ein neues Programm. Klicken Sie dazu mit der rechten Maustaste auf „Meine Programme“und wählen Sie „Neues Programm …“
Bestätigen Sie, dass die "Plattform" mit dem von Ihnen verwendeten Board übereinstimmt.
Wir klicken nun auf "Vorlage".
Wir erstellen ein Programm basierend auf dem Beispiel "Anzeige einer Nachricht auf dem PC mit UART".
Geben Sie unter "Programmname" den Namen des Programms ein.
Aktivieren Sie die Option "Dieses Programm und diese Bibliotheken auf die neueste Version aktualisieren".
Ein neuer Ordner für Ihr Programm wird erstellt, einschließlich der Standard-MBED-Bibliothek und der Datei main.cpp.
Sie können es verwenden, um zu testen, ob alles gut funktioniert. Dazu einfach kompilieren und auf die Plattform kopieren.
Mit einem seriellen Terminal Ihrer Wahl können Sie die folgenden Meldungen empfangen.
Schritt 4: Importieren der DS18b20-Bibliothek
Da es mehrere Versionen von Bibliotheken für den Ds18b20 gibt, importieren wir mit einer URL, damit Ihr Beispiel dieselbe Bibliothek verwendet.
Schritt 5: Neues Programm in MBED
Geben Sie im Feld "Quell-URL" Folgendes ein: https://os.mbed.com/users/Sissors/code/DS1820/ und klicken Sie auf Importieren.
Ihre DS1820-Bibliothek sollte in Ihrem Programmordner erscheinen.
Schritt 6: Quellcode
Beinhaltet
Wir begannen damit, die notwendigen Bibliotheken einzubinden.
#include "mbed.h" //inclusão da biblioteca padrão do MBED#include "DS1820.h" //inclusão da biblioteca do sensor DS1820
Wir definieren Konstanten, die die verwendeten Pins darstellen.
Beachten Sie, dass der DS18b20 ein Sensor mit 1-WIRE-Kommunikation ist. Aus diesem Grund verwenden wir die Bibliothek, die das gesamte Kommunikationsprotokoll mit den Geräten abwickelt. Dies beinhaltet die Identifizierung jedes Geräts bis hin zu den Lesebefehlen.
#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
Wir erstellen einen Vektor, der auf jedes der 16 möglichen Geräte zeigt, die an die Datenleitung angeschlossen sind.
DS1820*-Sensor[MAX_SENSORES]; //cria um vetor com 16 posições para os sensores
Wir starten die Methode main(), bei der wir mit der Methode "unassignedProbe()", die in der DS1820-Bibliothek enthalten ist, nach allen verfügbaren Geräten in der Kommunikationsleitung suchen.
Wir füllen den Sensorvektor mit den Instanzen, die jeden der verfügbaren Sensoren repräsentieren.
Wir tun dies, bis der letzte gefunden wird oder bis wir das Maximum von 16 Sensoren erreichen.
int main () { int encontrados = 0; while(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 ++; if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; }
Wir senden die Anzahl der auf der Leitung gefundenen Sensoren.
printf("Dispositivos encontrado(s): %d \r\n\n", encontrados);
Wir starten eine Endlosschleife, in der alle verfügbaren Sensoren ihre jeweiligen Temperaturen berechnen und dann den Sensorvektor durchlaufen, indem wir die erhaltenen Messwerte senden.
printf("Dispositivos encontrado(s): %d \r\n\n", encontrados); while(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 temperature printf("\r\n"); warten(1); }
Schritt 7: Daten empfangen
Bei Verwendung eines einzelnen Sensors erhalten wir die folgende serielle Ausgabe.
Schritt 8: Weitere Sensoren einschließen
Um den Code zu testen, führen wir einen weiteren Sensor in die Kommunikationsleitung ein, indem wir ihn einfach parallel zum ersten Sensor schalten.
Denken Sie daran, die Baugruppe auszuschalten, bevor Sie neue Sensoren anschließen.
Beim Neustart der Assembly haben wir die folgende Ausgabe erhalten, ohne dass der Quellcode geändert wurde.
Schritt 9: Quelle anzeigen
#include "mbed.h" //inclusão da biblioteca padrão do MBED#include "DS1820.h" //include the 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; while(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 ++; if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; } printf("Dispositivos encontrado(s): %d \r\n\n", encontrados); while(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 temperature printf("\r\n"); warten(1); } }
Schritt 10: Dateien
Andere
Empfohlen:
DIY So zeigen Sie die Zeit auf dem M5StickC ESP32 mit Visuino an - Einfach zu tun: 9 Schritte
DIY So zeigen Sie die Zeit auf dem M5StickC ESP32 mit Visuino an - Einfach zu machen: In diesem Tutorial lernen wir, wie Sie den ESP32 M5Stack StickC mit Arduino IDE und Visuino programmieren, um die Zeit auf dem LCD anzuzeigen
So programmieren und veröffentlichen Sie Matlab 2016b in Word (Anleitung für Anfänger): 4 Schritte
So codieren und veröffentlichen Sie Matlab 2016b in Word (Einsteigerhandbuch): Matlab ist ein leistungsstarkes Sprachprogramm, das zum Berechnen technischer Ergebnisse verwendet wird. Es hat die Fähigkeit, Visualisierungen, Berechnungen und Programmierung auf benutzerfreundliche Weise zu integrieren. Mit diesem Programm kann der Benutzer Probleme und Lösungen veröffentlichen
Programmieren in C-simple Tutorial – wikiHow
So programmieren Sie in C-simple Tutorial: Bitte kommentieren Sie, wenn Sie dies mögen! Dieses Instructable wird jedem beibringen, ein einfaches Programm in der Programmiersprache C zu schreiben. Was Sie brauchen: einen Macintosh-Computer mit installierten Entwicklertools und etwas Gehirnleistung
So programmieren Sie Audacity für die Aufnahme zu einem bestimmten Zeitpunkt – wikiHow
So programmieren Sie Audacity für die Aufnahme zu einem bestimmten Zeitpunkt: Es ist ein schneller Trick, verwenden Sie ihn zum Spionieren, zum Aufzeichnen eines Telefonats oder einfach zum Aufzeichnen Ihrer Geschichtsunterrichtsrede, während Sie unterwegs sind Verwenden der beliebten Open-Source-App Audacitylet's begin
Programmieren mit dem MSW-Logo – wikiHow
Programmieren mit dem MSW-Logo: UPDATE: NEW AWESOME BOX FILE. REVISION V2.9UPDATE 30. Juli 2009: AWESOME BOX-DATEI VERSION 3.0 HINZUFÜGEN 16. August 2009: HINZUGEFÜGTER SCREENSHOT DER AWESOME BOX V3.0Diese Anleitung wird Ihnen beibringen, wie man MSW Logo verwendet. MSW Logo ist eine pädagogische Programmierung