Inhoudsopgave:
- Stap 1: Gebruikte bronnen
- Stap 2: Montage
- Stap 3: Nieuw programma in MBED
- Stap 4: De DS18b20-bibliotheek importeren
- Stap 5: Nieuw programma in MBED
- Stap 6: Broncode
- Stap 7: ontvangen gegevens
- Stap 8: Meer sensoren opnemen
- Stap 9: Bron bekijken
- Stap 10: Bestanden
Video: Ongelooflijk eenvoudig te programmeren!: 10 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Vandaag zal ik het hebben over de STM32 Core, de L476RG, het gezicht van Ultra Low Power. Je ziet het aan de linkerkant van de afbeelding. Dit apparaat heeft twee vrouwelijke pin-bars, één aan elke kant, die niets meer zijn dan de connectoren voor het arduino-schild. Dit is geweldig, niet?
Naar mijn mening deed STMicroelectronics dit in zijn Development Kit omdat het weet dat professionals deze chip gebruiken. Dit bedrijf gaat steeds meer richting de arduino. En dit geldt ook voor verschillende andere professionele STMicroelectronics-kits.
Tot slot, met betrekking tot het project van vandaag, zullen we naast de L476RG twee DS18b20-sensoren gebruiken. Dus we zullen een eenvoudige montage maken met behulp van de L476RG, een bibliotheek importeren in de MBED-omgeving, een programma maken in de MBED-omgeving en gegevens van de L476RG krijgen via USB / serieel.
Ik heb het al een beetje gehad over de L476RG in deze video: DE EENVOUDIGE MANIER OM EEN MICROCONTROLLER TE PROGRAMMEREN, waar ik laat zien hoe de MBED-omgeving, die online is, moet worden geconfigureerd.
Sommige mensen die mijn video's volgen, vragen me of STM32 ESP32 vervangt. Ik zeg één ding: het vervangt niet en het zou ook niet kunnen, want het zijn twee totaal verschillende dingen.
Deze STM32-chip is een microcontroller, of beter gezegd; het is geen "cluster van dingen", zoals de ESP32. Dus de naam lijkt misschien op elkaar, maar ze zijn totaal verschillend. De STM32 is een microcontroller voor algemene doeleinden, zoals een PIC, een Atmel bijvoorbeeld.
Stap 1: Gebruikte bronnen
1 kern L476RG
2 DS18b20-sensoren (we gebruiken de gangbare waterdichte modules op de markt)
1 4k7 weerstand
Mini-protoboard
Jumpers voor verbinding
Stap 2: Montage
De montage zullen we in eerste instantie uitvoeren met behulp van een van de temperatuursensoren.
Zijn vermogen zal 5V zijn.
Een 4k7-weerstand wordt gebruikt om een pull-up op de datalijn uit te voeren (1-draads).
We zullen de gegevens lezen met behulp van de A0-pin.
Stap 3: Nieuw programma in MBED
Zodra je je account hebt ingesteld in MBED en er toegang toe hebt, zullen we een nieuw programma maken. Klik hiervoor met de rechtermuisknop op "Mijn programma's" en selecteer "Nieuw programma …"
Bevestig dat het "Platform" overeenkomt met het bord dat u gebruikt.
We klikken nu op "Sjabloon".
We zullen een programma maken op basis van het voorbeeld "Een bericht weergeven op pc met UART".
Voer de naam van het programma in bij "Programmanaam".
Vink de optie "Dit programma en bibliotheken bijwerken naar de laatste revisie" aan.
Er wordt een nieuwe map voor uw programma gemaakt, inclusief de standaard MBED-bibliotheek en het main.cpp-bestand.
Je kunt het gebruiken om te testen of alles goed werkt. Om dit te doen, compileert u het eenvoudig en kopieert u het naar het platform.
Met een seriële terminal naar keuze kunt u de volgende berichten ontvangen.
Stap 4: De DS18b20-bibliotheek importeren
Aangezien er verschillende versies van bibliotheken zijn voor de Ds18b20, zullen we importeren met behulp van een url, zodat uw voorbeeld dezelfde bibliotheek gebruikt.
Stap 5: Nieuw programma in MBED
Vul in het veld "Bron-URL" in: https://os.mbed.com/users/Sissors/code/DS1820/ en klik op importeren.
Uw DS1820-bibliotheek zou in uw programmamap moeten verschijnen.
Stap 6: Broncode
Inclusief
We zijn begonnen met het opnemen van de benodigde bibliotheken.
#include "mbed.h" //incluso da biblioteca padrão do MBED#include "DS1820.h" //inclusão da biblioteca do sensor DS1820
We definiëren constanten die de gebruikte pinnen vertegenwoordigen.
Merk op dat de DS18b20 een sensor is met 1-draads communicatie. Om deze reden gebruiken we de bibliotheek die het volledige communicatieprotocol met de apparaten afhandelt. Dit omvat het identificeren van elk apparaat tot aan de leesopdrachten.
#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
We maken een vector die wijst naar elk van de 16 mogelijke apparaten die op de datalijn zijn aangesloten.
DS1820*-sensor [MAX_SENSORES]; //cria um vetor com 16 posições para os sensores
We starten de main ()-methode, waarbij we met behulp van de "unassignedProbe ()"-methode in de DS1820-bibliotheek zoeken naar alle beschikbare apparaten in de communicatielijn.
We vullen de sensorvector met de instanties die elk van de beschikbare sensoren vertegenwoordigen.
Dit doen we totdat de laatste is gevonden of totdat we het maximum van 16 sensoren hebben bereikt.
int main(){ int encontrados = 0; while (DS1820::unassignedProbe (PINO_DE_DADOS)) {// initicia a procura por sensores sensor [encontrados] = nieuwe 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; }
We sturen het aantal sensoren dat op de lijn is gevonden.
printf("Beschikking(en): %d \r\n\n", encontrados);
We starten een oneindige lus en vragen dat alle beschikbare sensoren hun respectieve temperaturen berekenen en vervolgens de sensorvector doorlopen door de verkregen meetwaarden te verzenden.
printf("Beschikking(en): %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 temperatura printf("\r\n"); wacht(1); }
Stap 7: ontvangen gegevens
Met behulp van een enkele sensor verkrijgen we de volgende seriële uitvoer.
Stap 8: Meer sensoren opnemen
Om de code te testen, introduceren we een andere sensor in de communicatielijn, simpelweg door deze parallel aan de eerste sensor aan te sluiten.
Denk eraan om het geheel uit te schakelen voordat u nieuwe sensoren aansluit.
Bij het herstarten van de assembly hebben we de volgende output verkregen, zonder enige wijziging in de broncode.
Stap 9: Bron bekijken
#include "mbed.h" //inclusief biblioteca padrão MBED#include "DS1820.h" //include biblioteca do sensor DS1820 #define PINO_DE_DADOS A0 //define o pino para leitura dos dados #define MAX_SENSORES 16 //define MAX_SENSORES 16 //define MAX_SENSORES 16 //define MAX_SENSORES 16 //define MAX_SENSORES 16 meer aantal maximale sensoren 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)) {// initicia a procura por sensores sensor [encontrados] = nieuwe 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("Beschikking(en): %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 temperatura printf("\r\n"); wacht(1); } }
Stap 10: Bestanden
anderen
Aanbevolen:
Z80-MBC2 Programmeren van de Atmega32a: 6 stappen
Z80-MBC2 De Atmega32a programmeren: Voordat u de z80-MBC2 kunt gebruiken, moet u na het bouwen de Atmeg32 programmeren. Deze instructie laat zien hoe je een goedkope arduino mini als programmeur gebruikt om de code te uploaden
Een ATtiny programmeren met Arduino: 7 stappen (met afbeeldingen)
Programmeer een ATtiny met Arduino: Hieronder volgen aanwijzingen voor het programmeren van de ATtiny-microcontrollers met behulp van de Arduino IDE. In gewoon Engels is dit hoe u 8-pins Atmel-chips programmeert zoals u normaal een Arduino zou doen. Dit is cool omdat de ATtiny klein is, en - nou ja - dit maakt het mogelijk
CSR Bluetooth-module programmeren: 7 stappen
CSR Bluetooth-moduleprogrammering: ik heb onlangs een paar Bluetooth-luidsprekers gemaakt (links hieronder) en hoewel ze geweldig zijn om naar te kijken en fantastisch om naar te luisteren, maar de "Naam" die op mijn telefoon (of Bluetooth-streamingapparaat) verschijnt, is ofwel: 1) Iets saais als "CS
AT89S52 PROGRAMMEREN MET ARDUINO: 4 stappen
AT89S52 PROGRAMMEREN MET ARDUINO: In-System Programming (ISP) oftewel In-Circuit Serial Programming (ICSP) is de mogelijkheid om sommige programmeerbare logische apparaten, microcontrollers en andere embedded apparaten te programmeren terwijl ze in een compleet systeem zijn geïnstalleerd, in plaats van dat de chi
Een eenvoudig te maken, goedkoop en eenvoudig LED-blinky circuit met CMOS 74C14 - Ajarnpa
Een eenvoudig te maken, goedkoop en eenvoudig LED-blinky circuit met CMOS 74C14: Soms heb je gewoon wat knipperende LED's nodig, voor kerstversiering, knipperende kunstwerken of gewoon om plezier te hebben met blink blink. Ik zal je laten zien hoe je een goedkope en eenvoudige schakeling maakt met maximaal 6 knipperende LED's. Opmerking: dit is mijn eerste instuceerbare en