Indholdsfortegnelse:
- Trin 1: Påkrævede dele
- Trin 2: Oprettelse af grænseflade
- Trin 3: Projektressourcer
- Trin 4: Import af billeder
- Trin 5: Lav GUI
- Trin 6: Side 0-Splash-skærm
- Trin 7: Side 1 - Stepper Motor Controller
- Trin 8: Side 2 - Stepper motor klaver
- Trin 9: Debugging
- Trin 10: ARDUINO SETUP
- Trin 11: Afslutning+skemaer
Video: Afspil sange ved hjælp af trinmotor !!: 11 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Dette projekt handler om at designe en simpel dynamisk grænseflade, som gør det muligt at interagere med en trinmotor på to forskellige måder.
Den første grænseflade styrer retningen og hastigheden på steppermotoren ved hjælp af en simpel GUI, som har venstre og højre pil til retningen og op og ned pile for hastigheden.
Den anden grænseflade vil være mere musikalsk, hvilket gør det muligt at spille enkle sange ved hjælp af trinmotorens rotationslyde.
Trin 1: Påkrævede dele
- Arduino UNO (eller kompatibelt bord)
- Nextion Forbedret NX4827K043 fra iTead Studio.
- Nextion Expansion board til Nextion Enhanced display
- Micro SDHC -kort
- SD -kortlæser/brænder - til at overføre filer fra computer til SDHC -kort
- Brødbræt
- Stepmotor (42BYGHM809)
- 100 uF kondensatorDuinotech Stepper Motor Driver (L298) - [JayCar -del# XC4492].
- Ekstern strømforsyning - f.eks. Reguleret laboratorieforsyning
Trin 2: Oprettelse af grænseflade
Det første trin er at oprette grænsefladerne i Nextion Editor på din pc.
Du kan downloade Nextion Editor her.
Indlæs Nextion Editor og opret et nyt projekt. Når du starter et nyt projekt, skal du sørge for at vælge den korrekte Nextion -enhed blandt de tilgængelige muligheder. Her bruges "Nextion Enhanced NX4827K043" -enheden.
- Vælg Fil → Ny Vælg et navn til projektet, og gem det på et passende sted på harddisken.
-
Vælg den relevante Nextion -enhed blandt de tilgængelige muligheder
Min enhed har en skærmstørrelse på 480 x 272 pixels
Trin 3: Projektressourcer
Du skal importere alle ressourcerne (f.eks. Billeder og skrifttyper) til dit projekt og derefter designe grænsefladen, så den passer til dine specifikke behov.
Skrifttyper
Der bruges ingen specifikke skrifttyper, men hvis du vil skrive tekst til displayet, skal du generere en skrifttype i Nextion Editor.
A) Værktøjer → Font Generator
- Vælg skrifttypens højde (f.eks. 16).
- Vælg skrifttype (f.eks. Iso-8859-2)
- Vælg, om du vil have det med fed skrift eller ej
- Vælg den skrifttype, du vil bruge (f.eks. Arial)
- Vælg afstanden (f.eks. 0)
- Og endelig give denne skrifttype et unikt navn (f.eks. Arial_16)
- Tryk på knappen "Generer skrifttype" nederst til højre i vinduet.
Når du trykker på knappen Generer skrifttype, får du dig til at gemme skrifttypen ved hjælp af en *.zi -udvidelse og vil automatisk spørge dig, om du vil "Tilføj den genererede skrifttype?" til projektet. Hvis du er tilfreds med skrifttypen og gerne vil bruge denne skrifttype i dit projekt, skal du vælge "Ja", ellers vælge "Nej" og starte igen.
Du kan ikke tilføje tekst til dit projekt, før du har importeret eller tilføjet en skrifttype. Alle dine projekts skrifttyper vises i skrifttypevinduet.
** Bemærk: Hver skrifttype vil automatisk blive indekseret, så du kan referere skrifttypen grammatisk efter behov. Faktisk tildeles alle ressourcer, du tilføjer til dit projekt, et nummer og øges med en for hver tilføjet ressource. For nogle ressourcer kan du se dette nummer til venstre for elementet. F.eks. På billedet ovenfor har Courier Font et indeks på 0, mens Arial -skrifttypen har et indeks på 1. Hvis du sletter en ressource, kan indeksnummeret ændre sig for det pågældende element.
Trin 4: Import af billeder
På Nextion Enhanced NX4827K043 -enheden skal hvert billede være 480 x 272 pixels i størrelse.
Vi vil nu importere følgende billeder til Nextion Editor, så vi kan bruge dem i projektet. I nederste venstre hjørne af Nextion -editoren er ressourcevinduet "Fonts and Picture":
- Vælg fanen Billede
- Vælg derefter ikonet "+"
- Dette åbner en dialogboks, så du kan vælge de billeder, der skal tilføjes til projektet. Du kan vælge mere end ét billede, der skal importeres.
For Splash Screen kan du lave ethvert billede efter dit valg.
Og for Stepper motor og klaver interface kan du downloade ovenstående billede.
Trin 5: Lav GUI
Hver ressource får et ID baseret på den rækkefølge, den tilføjes, og hver ressource får automatisk et navn.
Du kan ændre navnet på ressourcen eller objektet, men du kan ikke redigere id'et.
Tre sider vil blive designet til at opfylde kriterierne beskrevet ovenfor.
For at tilføje en side skal du blot vælge ikonet "Tilføj" fra "sidevinduet". Og fortsæt med at tilføje sider, indtil du har i alt 3 sider (side0, side1 og side2).
Trin 6: Side 0-Splash-skærm
Når Nextion tændes, vises stænkskærmen i 3 sekunder, før den viser Stepper Motor Controller -skærmen. Jeg brugte følgende trin til at oprette stænkskærmen.
Føj stænkskærmbilledet til side 0
- Vælg "side 0" fra sidevinduet
- Vælg "Billede" i vinduet Værktøjskasse
- Dobbeltklik på attributten "pic" i vinduet Attribut
- Vælg stænkskærmbilledet fra listen
- Tryk på knappen OK
2. Tilføj en timer til side 0
- Vælg Timer i vinduet Værktøjskasse
- Skift attributten "tim" fra 400 til 3000 i attributvinduet
- Indtast "side side1" i sektionen Brugerkode i Timerhændelsen (0) Denne timerhændelse får Nextion til at springe til side1 efter 3 sekunder.
Denne timerhændelse får Nextion til at springe til side 1 efter 3 sekunder.
Trin 7: Side 1 - Stepper Motor Controller
Denne side er designet til at styre stepper motorens retning og hastighed. Der vil være to knapper til retningen (venstre og højre) og to knapper til hastigheden (hurtigere og langsommere). Og en knap mere til at springe til den næste side (dvs. Stepper Motor Piano -siden). Disse knapper vil også blive tilknyttet Nextion -udvidelseskortet. Udvidelseskortets taktile knapper giver en alternativ metode til styring af motoren.
Tilføj trinmotorens controller -billede til side 1
- Vælg "side1" fra sidevinduet
- Vælg "Billede" i værktøjskassens vindue
- Dobbeltklik på attributten "pic" i vinduet Attribut
- Vælg billedet "Stepper Motor Controller" fra listen
- Tryk på knappen OK
2. Tilføj hotspots over hver knap på Stepper Motor Controller -billedet
a) Vælg "Hotspot" i vinduet Værktøjskasse
b) Træk og tilpas størrelsen på hotspot, så det dækker knappen "Venstre"
- Dette er det område, der reagerer på "Venstre knap" tryk.
- Det vil være gennemsigtigt, når det uploades til Nextion -tavlen
c) Vælg fanen "Touch Press Event" i vinduet Event
d) Fjern markeringen i afkrydsningsfeltet "Send komponent-id"
e) Indtast følgende kode i afsnittet "Brugerkode" i vinduet Hændelse:
udskriv “L”
f) Skift objektnavnet på hotspot til "Venstre" ved hjælp af følgende proces:
- Vælg objname i attributvinduet, og skift teksten fra "m0" til "Left"
- Det er ikke obligatorisk at ændre hotspot -objektets navn; men det vil hjælpe senere.
g) Gentag trin 2a-2f for hver af de andre knapper i følgende rækkefølge og i henhold til nedenstående tabel
- Ret
- Hurtigere
- Langsommere
- Næste
Den decimale ASCII -kode for bogstavet "L" er 76, derfor når Nextion Enhanced -displayet sender bogstavet L til Arduino ved hjælp af kommandoen udskriv "L", modtager Arduino tallet 76. Når der trykkes på den højre knap, vil den vil modtage nummeret 82 og så videre. Knappen "Næste" sender ikke noget til Arduino, den er simpelthen der for at springe til den næste grænseflade på Nextion Enhanced -displayet, derfor er grunden til, at brugerkoden er anderledes for den knap.
3. Map knapperne til udvidelseskortet
a) Vælg "side0" og derefter "side1" fra sidevinduet
b) Vælg fanen "Forinitialiser hændelse" i vinduet Begivenhed
c) Indtast følgende kode i feltet "Brugerkode" på fanen Forinitialiser hændelse:
- cfgpio 5, 1, Venstre
- cfgpio 2, 1, højre
- cfgpio 4, 1, Hurtigere
- cfgpio 3, 1, langsommere
- cfgpio 1, 1, Næste
*** Bemærk: Der er et mellemrum mellem cfgpio og tallet ved siden af det, men der er ingen andre mellemrum på hver linje. Hvis du introducerer ekstra mellemrum, kompileres det ikke. Denne kode knytter knapperne på udvidelseskortet til hotspot -objekterne på side1. Når der f.eks. Trykkes på knappen Venstre (IO5) på udvidelseskortet, simulerer det de handlinger eller begivenheder, der er forbundet med hotspot m0/venstre. I dette tilfælde sender den en værdi på “L” (76) til Arduino.
IO -nummeret er markeret inden for parenteser på udvidelseskortet.
Trin 8: Side 2 - Stepper motor klaver
hans interface vil være designet til at ligne et klaver, og vil tillade mig at styre stepper motoren, så den producerer en note i den samme tast som den, jeg trykker på på Nextion displayet. Steppermotoren producerer noten ved at rotere med en bestemt frekvens.
1. Føj Stepper Motor Piano -billedet til side2.
- Vælg "side2" fra sidevinduet
- Vælg "Billede" i vinduet Værktøjskasse
- Dobbeltklik på attributten "pic" i vinduet Attribut
- Vælg billedet "Stepper Motor Piano" fra listen
- Tryk på knappen OK
2. Tilføj hotspots over hver tast på Stepper Motor Piano -billedet
a) Vælg "Hotspot" i værktøjskassens vindue
b) Træk og tilpas størrelsen på hotspot, så det dækker "A" -tasten. Dette er det område, der reagerer på tryk på "A-tast". Det vil være gennemsigtigt, når det uploades til Nextion-tavlen.
c) Vælg fanen "Touch Press Event" i vinduet Event.
d) Indtast følgende i afsnittet "Brugerkode"
print 1
e) Gentag trin 2a-2d for hver af de andre taster i henhold til nedenstående tabel.
** Når der trykkes på den specifikke tast, sender Nextion Enhanced -kortet det udskrevne nummer efterfulgt af tre 0x00 -værdier. Afslutningsværdierne kan ignoreres.
3. "Tilbage" -knappen giver mig mulighed for at springe tilbage til den forrige grænseflade på Nextion Enhanced -kortet.
a) Opret et hotspot til tilbage -knappen ved hjælp af følgende proces:
- Vælg Hotspot i værktøjskassen
- Flyt/Tilpas hotspot over knappen "Tilbage"
b) Vælg begivenhedsvinduet.
c) Sørg for, at fanen "Touch press event" er valgt
d) Skriv: side side1 i sektionen Brugerkode
Trin 9: Debugging
Det gode ved Nextion Editor er, at du kan teste grænsefladefunktionen, før du uploader den til tavlen.
- Gem projektet ved at trykke på knappen Gem på proceslinjen
- Tryk derefter på kompileringsknappen
- Tryk derefter på fejlfindingsknappen.
Et Nextion -emulatorvindue vises. Dette vindue skal reagere på samme måde som Nextion -modulet, efter at Nextion -filen er uploadet til kortet. Denne emulator er en fantastisk måde at teste din grænseflade på og for at sikre, at den ser ud og fungerer som forventet. Når jeg var tilfreds med grænsefladerne, overførte jeg den kompilerede Nextion -fil til et SD -kort:
- Tryk på kompileringsknappen
- Fil → Åbn build -mappe
- Vælg *.tft -filen med samme navn som projektets.
- Kopier det til et micro SDHC -kort
- Sæt SDHC -kortet i SD -kortstikket på Nextion -displayet
- Tænd for Nextion -kortet
Vent på, at filen blinker Nextion -tavlen, og du skal se en meddelelse, der ser sådan ud:
Det næste trin er at slukke for Nextion -kortet og fjerne SDHC -kortet.
Trin 10: ARDUINO SETUP
Nextion Enhanced -skærmen er klar, og nu er det Arduino's tur. Arduino er programmeret til at modtage serielle meddelelser fra Nextion Enhanced -displayet og styre trinmotoren baseret på de modtagne bogstaver eller tal. De unikke bogstaver eller tal, der transmitteres fra Nextion -kortet, giver Arduino mulighed for at forstå, hvilken knap der trykkes på, og den bruger disse tal eller bogstaver til at styre kodestrømmen for at udføre specifikke trinmotorhandlinger.
SoftwareSerial -biblioteket bruges til at muliggøre seriel kommunikation mellem Arduino og Nextion Enhanced -displayet. AccelStepper -biblioteket bruges til at forenkle processen med trinmotorstyring.
Indstil en maksimal- og minimumshastighed for motorerne og nogle foruddefinerede taster. Det er muligt at "tune" motoren ved hjælp af den første grænseflade på Nextion -displayet. Du kan gøre dette ved at få motoren til at dreje hurtigere eller langsommere, indtil du når den ønskede nøgle. Her bruges “Tuner T1 Free” -appen fra iTunes app store til at identificere, HVORN motoren producerede en seddel i nøgle. Når motoren producerede en specifik note, ville jeg nedskrive trinmotorhastigheden, der blev udskrevet til det serielle monitorvindue. Hver gang motorhastigheden øges eller reduceres, udskriver Arduino -koden hastigheden til det serielle monitorvindue. Jeg bruger derefter disse hastigheder til at opdatere notes -arrayet i Arduino -koden. Notes -arrayet indeholder trinmotorhastighederne, der svarer til de enkelte noter på klaveret. Nextion -displayet sender i det væsentlige indeksnummeret for sedlen til afspilning fra notearrayet på Arduino, hvilket forenkler den kode, der kræves for at dreje motoren ved 16 forskellige hastigheder.
Trin 11: Afslutning+skemaer
Med alle kort slukket, er det næste trin at lave alle de nødvendige hardwareforbindelser til Arduino. Der er to hovedafsnit at overveje:
- Stepper motor driver og motor
- Nextion Enhanced board.
Du skal sikre, at du bruger en ekstern strømkilde til at drive både trinmotoren og Nextion Enhanced -kortet. Selve steppermotorens driverkort blev drevet af Arduino uden problemer, men den egentlige steppermotor har brug for en ekstern strømforsyning. Nextion Enhanced -kortet har også brug for en ekstern strømforsyning, fordi den kræver mere strøm, end Arduino sikkert kan levere.
Bemærk den anvendte eksterne strømforsyning. Jeg sørgede for, at jeg havde en tilstrækkelig stor strømforsyning til at håndtere projektets strømkrav, og brugte de relevante datablade til at hjælpe mig med at identificere disse krav. Hvis du planlægger at replikere dette projekt, skal du sørge for at overveje de specifikke strømkrav for din motor, din motordriver og din Nextion -skærm. Arduino kan kun levere 400mA strøm fra 5V -stiften. Da alt var tilsluttet, tændte jeg for Nextion -skærmen og derefter for Arduino. Steppermotoren begynder automatisk at rotere. Jeg brugte den første grænseflade til at ændre motorens retning og/eller hastighed. Bemærk de maksimale og mindste hastigheder, der er angivet i Arduino -koden. Jeg brugte derefter knappen Næste til at springe til den anden grænseflade på Nextion Enhanced -displayet. Den anden grænseflade ligner et klaver. Og når jeg trykker på en tast på klaverdisplayet, ændrer motoren hastigheden, så den matcher den tone, jeg trykkede på.
Nu er du færdig.
Håber du kan lide det
Anbefalede:
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores
Afspil sange (MP3) med Arduino ved hjælp af PWM på højttaler eller Flyback Transformer: 6 trin (med billeder)
Spil sange (MP3) med Arduino ved hjælp af PWM på højttaler eller Flyback Transformer: Hej Guys, Dette er min første instruerbare, jeg håber, at du vil kunne lide det! Grundlæggende har jeg i dette projekt brugt den serielle kommunikation mellem min Arduino og min bærbare computer, at overføre musikdata fra min bærbare til Arduino. Og ved hjælp af Arduino TIMERS t
Smart styresystem til robotbiler ved hjælp af trinmotor fra gammelt diskette/cd -drev: 8 trin (med billeder)
Smart styresystem til robotbiler ved hjælp af trinmotor fra Old Floppy/CD Drive: Smart styresystem til robotbiler Er du bekymret for at lave et godt styresystem til din robotbil? Her er en fantastisk løsning ved bare at bruge dine gamle disketter/ CD/ DVD -drev. se det ud og få en idé om detBesøg georgeraveen.blogspot.com
8bit sange ved hjælp af Arduino / Zelda Ending Theme: 4 trin
8bit sange ved hjælp af Arduino / Zelda Ending Theme: Har du nogensinde ønsket at lave den slags gavekort eller legetøj, der spiller en sang, når du åbner eller klemmer dem? Med en sang efter eget valg? Måske endda en sang, du lavede? Jamen det er det letteste i verden, og det vil koste dig næsten ingenting
Afspil videoer baglæns ved hjælp af Quicktime Player: 5 trin
Afspil videoer baglæns ved hjælp af Quicktime Player: Dette er århundredets frygteligste trick. Denne instruks viser dig den nemme måde at afspille videoer baglæns uden at downloade dodgy programmer (hvis du ikke har quicktime har du brug for det.) Billedet har intet at gøre med projektet, men jeg havde brug for