Inhoudsopgave:
- Stap 1: Installeer STM32CUBEMX en Keil With Packages voor STM32L476
- Stap 2: Maak elektronische interfaces voor uw project
- Stap 3: Microcontroller selecteren in STM32CUBEMX
- Stap 4: Maak de nodige selecties in STM32cubemx volgens de afbeeldingen in deze zelfstudie
- Stap 5: Genereer code voor UVision Keil
- Stap 6: Schrijf code voor LCD in Main.c-bestand. Gebruik deze stap alleen voor STM32L4- en STM32L0-microcontrollers. Gebruik voor andere microcontrollers uw eigen code
- Stap 7: Schrijf de code in While Loop Inside Main.c File. Raadpleeg het bijgevoegde bestand
- Stap 8: Schrijf code in STM32L4xx_it.c bestand in Keil
- Stap 9: Variabelen toevoegen in beide bestanden
- Stap 10: Vanuit het Projectmenu in Uvision Keil Ga naar het submenu Toepassing/Gebruikers
- Stap 11: Stel uw code samen
- Stap 12: Programmeer het bord met microcontroller
Video: Roterende encoder met STM32 Nucleo Board - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Dit is een handleiding voor het verkrijgen van de positie van Rotary Encoder, wat een incrementeel type encoder is. Encoders zijn over het algemeen van twee typen: - de ene is incrementeel en de andere is absoluut. Deze code kan worden gebruikt voor STM32L476- en STM32L0-microcontrollers. Maar als u uw eigen lcd-bibliotheek of code voor LCD dit werkt voor elke STM32-microcontroller.
Ik gebruik STM32L476 nucleo board voor deze tutorial.
Je kunt motoren zoals STEPPER-motor of servomotor besturen door een code te schrijven volgens de beweging van de encoder. Ik heb al zo'n code geschreven. Blijf mijn tutorials volgen voor verder.
Stap 1: Installeer STM32CUBEMX en Keil With Packages voor STM32L476
Stap 2: Maak elektronische interfaces voor uw project
Elektronische componenten die nodig zijn voor dit project zijn: -
1) 16x2 alfanumeriek LCD 2) STM32L476 nucleo-kaart. 3) Broodplank 4) Jumperdraden. 5) Eén laptop met Windows geïnstalleerd (6) Roterende encoder. Aansluiting van LCD en STM32L476 board zijn hieronder vermeld:-
STM32L476 - LCD
GND - PIN1
5V - PIN2
NA - 2.2K weerstand aangesloten op GND
PB10 - RS
PB11 - RW
PB2 - EN
PB12 - D4
PB13 - D5
PB14 - D6
PB15 - D7
5V - PIN15
GND - PIN16
Aansluiting van Rotary Encoder en STM32 zijn hieronder:
Roterende encoder-STM BOARD
Voedingspin-3,3 V
GND-GND
CLK-PC1
DT-PC0
Stap 3: Microcontroller selecteren in STM32CUBEMX
Open cubemx en selecteer nucleo64-bord met microcontroller als STM32L476
Stap 4: Maak de nodige selecties in STM32cubemx volgens de afbeeldingen in deze zelfstudie
Gebruik bovenstaande stappen om de nodige selecties te maken in STM32Cubemx en selecteer de maximale klok voor die microcontroller die u gebruikt (STM32L476 die ik in deze tutorial gebruik)
Stap 5: Genereer code voor UVision Keil
Stap 6: Schrijf code voor LCD in Main.c-bestand. Gebruik deze stap alleen voor STM32L4- en STM32L0-microcontrollers. Gebruik voor andere microcontrollers uw eigen code
Open het main.c-bestand vanuit de projecten, het menu van Keil en schrijf de code voor de LCD-initialisatie vóór de while-lus van de main. Zie de bijgevoegde afbeelding.
Stap 7: Schrijf de code in While Loop Inside Main.c File. Raadpleeg het bijgevoegde bestand
Stap 8: Schrijf code in STM32L4xx_it.c bestand in Keil
Schrijf code in STM32L4xx_it.c bestand in Keil.see code in bijgevoegd bestand.
Stap 9: Variabelen toevoegen in beide bestanden
Voeg variabelen toe in beide bestanden. Zie bijgevoegd bestand.
Stap 10: Vanuit het Projectmenu in Uvision Keil Ga naar het submenu Toepassing/Gebruikers
Ga vanuit het Project-menu in uvision Keil naar het submenu Toepassing/Gebruikers. Voeg het bestand lcd_hd44780_stml4xx.c toe (Klik met de rechtermuisknop op het submenu en ga naar de bladeroptie en voeg het bestand toe na het kopiëren van drie lcd-bestanden naar de bronmap van keil.)
Stap 11: Stel uw code samen
Compileer de code en debug als er fouten optreden.
Stap 12: Programmeer het bord met microcontroller
Programmeer het bord met een microcontroller. Krijg output zoals in deze video.
Aanbevolen:
How To: een contactloze roterende encoder: 3 stappen
How To: een contactloze roterende encoder: In deze toepassingsnota wordt beschreven hoe u een zeer betrouwbare draaischakelaar of encoder kunt ontwerpen met behulp van een Dialog GreenPAK™. Dit schakelaarontwerp is contactloos en negeert daarom contactoxidatie en slijtage. Het is ideaal voor gebruik buitenshuis waar er lange
Arduino - Roterende Led op Beweging - Draagbaar item (geïnspireerd door Chronal Accelerator Tracer Overwatch): 7 stappen (met afbeeldingen)
Arduino - Roterende Led op Beweging - Draagbaar item (geïnspireerd door Chronal Accelerator Tracer Overwatch): Deze instructable helpt je om een accelerometer en een Neopixel Led-ring aan te sluiten. Ik zal de code leveren om de accelerometer te lezen en dit effect te krijgen met je neopixel animatie.Voor dit project heb ik de Adafruit 24bit Neopixel ring gebruikt, en de MP
Infrarood NEC Protocol Encoder en Decoder Board: 5 stappen:
Infrarood NEC-protocol-encoder- en -decoderkaart: ontvangt een onbewerkt gemoduleerd of gedemoduleerd NEC IR-signaal en zet dit om in bytes die via de seriële poort worden verzonden. De seriële baudrate kan worden geselecteerd uit twee standaardsnelheden. De standaard gebruiksmodus zendt een commandoreeks uit met framing byte
Betere roterende encoder: 4 stappen
Betere roterende encoder: als je ooit hebt geprobeerd om de standaard roterende encoder voor je project te gebruiken, viel je waarschijnlijk tegen. Of het nu kwam door de moeilijkheid van het instellen of de onnauwkeurige bediening. Ik had hetzelfde probleem, dus ik besloot het op te lossen. Ik heb 3D pr
DIY roterende encoder: 4 stappen
DIY Rotary Encoder: Sorry voor het gebrek aan foto's, ik heb pas besloten om hier een tutorial over te doen nadat ik er bijna klaar mee was.Overzicht: Rotary encoders gebruiken twee of meer sensoren om de positie, draairichting, snelheid te detecteren , en het aantal omwentelingen van de