Innehållsförteckning:
Video: Tims PCA9685 -kontroller: 5 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:40
Många projekt som gjorts med Arduino innebär att du använder en servo.
Om du bara använder en eller två servo kan dessa styras direkt från en Arduino med hjälp av ett bibliotek och tilldela stift för att göra detta.
Men för projekt som kräver att många servo ska styras kan (kan ge det dess fullständiga namn) PCA9685 16-kanals, 12-bitars PWM Fm+ I2C-bus LED-styrenhet vara det bättre valet.
PCA9685 LED -styrenheten är utformad för att styra lysdioder, men kan konfigureras för att styra Servo. (Datablad)
PCA9685 kommunicerar via I2C och har 64 möjliga adresser, det betyder att 64 av dessa enheter kan kopplas ihop med varandra, var och en med 16 servo eller LED ansluten till var och en. Det är totalt 1024 nummer som kan styras från en Arduino.
Nu har vi ett projekt som har många Servo att kontrollera, låt oss säga en fyrbent robot. Varje ben har två servo för att styra det. (vi börjar enkelt, i teorin kan min app styra 1024)
Ställer in åtta servo, hittar triminställningen för varje, bestämmer där max. och min. positioner, kan vara mycket tidskrävande.
Att skriva och skriva om kod för att se vad som händer kan vara ganska jobbigt.
Så jag bestämmer mig för att göra en applikation för att göra saker enkla och hjälpa till att hitta varje Servo -inställning som krävs och kunna köra sekvenser (script) för att testa kommandon som skickas till servon.
Steg 1: Anslutningar
"laddar =" lat"
Scriptavsnittet är den roliga delen, det är här du kan skapa sekvenser av Servopositioner.
Få ditt projekt att göra det du vill att det ska göra.
- Knappen Lägg till värde lägger till de aktuella reglageinställningarna.
- Knappen Lägg till fördröjning lägger till en fördröjning i millisekunder som anges i rutan bredvid knappen.
- Knappen Lägg till adress, lägger till en kommandobrytare till en annan PCA9685, (ändra adress längst upp till vänster) den användes också för att ändra läge, servoläge eller LED -läge.
- Knappen Skript F kör det aktuella skriptet framåt.
- Knappen Kör skript R kör det aktuella skriptet i omvänd ordning.
- Kryssrutan Loop gör att det aktuella skriptet körs om och om igen när en av knapparna Kör skript trycks in. Avmarkera kryssrutan för att stoppa slingan.
- Knappen Rensa skript, gör just det, det rensar alla skriptkommandon.
- Knappen Ladda, läser in ett tidigare sparat skript.
- Spara -knappen sparar det aktuella skriptet.
Notera!
Jag har inte skrivit något manus som checkar in i programmet, skriptet måste följa följande regler:
En rad per kommando, värden separerade med ett mellanslag.
- Servokommando börjar med "S" följt av sexton värden, varje värde mellan 0 och 600
- LED -kommando börjar med "L" följt av sexton värden, varje värde mellan 0 och 4095
- Dely -kommandot börjar med "D" följt av ett värde, mellan 0 och 10 000
- Adresskommandot börjar med "A" följt av ett värde och ett ord. Värdet mellan 0 och 64. Ordet är "Servo" eller "LED".
Applikationen kan styra Servo eller LED, sätt inte LED och Servo på samma Breakout Board, Servo och LED behöver olika frekvens för att fungera korrekt.
Om du försöker styra servo med LED -inställningarna kan de skrämma ut, det skadar dem inte, men om de är installerade i ett projekt kanske du inte vill att de ska flytta till någon möjlighet.
Jag har gjort video med ett enkelt skript.
Steg 5: Epilog
När instruktionerna går på Instructables, förväntar de flesta att sluta med ett fysiskt föremål i slutet av en instruktion.
Jag tycker att det inte finns någon realistisk kategori för programvara.
Jag antar att du kan klassa det som ett verktyg, men instruktionen är inte hur man gör verktyget, det är hur man använder det.
Förhoppningsvis genom att ha ett verktyg som detta kommer människor att kunna göra bättre projekt med Arduino med Servos eller LED -matriser.
Ursäkta videon av projektet i aktion, jag använde ett ESP32-CAM-utbrottskort med ett annat program som jag gjorde för att se bilder från ESP32-CAM.
REDIGERA
Jag har förbättrat det.
Uppdateringar hittar du här: Tims_PCA_9685_Controller
Rekommenderad:
Arduino Hur man ansluter flera servomotorer - PCA9685 Handledning: 6 steg
Arduino Hur man ansluter flera servomotorer - PCA9685 Handledning: I denna handledning lär vi oss hur du ansluter flera servomotorer med PCA9685 -modul och arduino.PCA9685 -modul är mycket bra när du behöver ansluta flera motorer, du kan läsa mer om det här https : //www.adafruit.com/product/815Titta på Vi
Tims linjära bild: 11 steg
Tims Linear Slide: Jag gör en robot som jag vill kunna rita på ytan den rör sig över. Så jag behöver något för att höja och sänka en penna. Jag har redan gjort en draw -bot, som använder en servo för att göra Jag hoppas att roboten jag arbetar med just nu kommer att göra allt
Tims kretskort (plottade kretskort): 54 steg (med bilder)
Tims PCB (Plotted Circuit Board): Detta är den process jag använder för att skapa ett anpassat kretskort för mina projekt. För att göra ovanstående: Jag använder min XY -plotter med en skrivare för att ta bort en etsande resitfilm för att exponera koppar för etsaren .Jag använder min XY -plotter med en laser för att bränna bläck i
Tims Cybot Arduino NANO fjärrkontroll: 31 steg (med bilder)
Tims Cybot Arduino NANO fjärrkontroll: Detta projekt är att skapa en infraröd fjärrkontroll för att styra den ursprungliga Cybot som mottogs med tidningen Ultimate Real Robots, startade 2001. Anledning för att göra fjärrkontrollen: (lite historik) Innan numret av delar till IR -handenheten,
Hur man tar isär en dator med enkla steg och bilder: 13 steg (med bilder)
Hur man tar isär en dator med enkla steg och bilder: Detta är en instruktion om hur man demonterar en dator. De flesta av de grundläggande komponenterna är modulära och lätt att ta bort. Det är dock viktigt att du är organiserad kring det. Detta hjälper dig att inte förlora delar, och även för att göra ommonteringen