Jak pracujemy w okresie świąt Bożego Narodzenia?
Jak pracujemy w okresie świąt Bożego Narodzenia?
Wszystkie zakupy na Nettigo są chronione 14-sto dniowym prawem do zwrotu. Bez zbędnych pytań.
Szczegółowe informacje o dostawie i zwrotachRaz, góra dwa razy w miesiącu możesz otrzymać newsletter o nowościach w naszej ofercie, promocjach, a także porcję wiadomości ze świata DIY i Arduino.
Steruj 16-ma serwomechanizmami za pomocą 2 przewodów magistrali i2c (TWI). Lub użyj jej jako 16-kanałowy generator PWM.
Zastąpiony przez: Sterownik serwomechanizmów, 16 kanałów, I2C
Moduł do sterowania 16 serwomechanizmami za pomocą magistrali i2c (TWI). Jest zbudowany na układzie PCA9685, który jest scalonym 16 kanałowym generatorem PWM o rozdzielczości 12 bitów (4096 stopni wypełnienia). Moduł posiada niewlutowane złącza typu goldpin do których można wpiąć bezpośrednio modelarskie wtyczki serwomechanizmów. Układ sterujący pracuje w standardach 3,3 i 5V zależnie od zasilania. Serwomechanizmy zasilane są niezależnie. Dzięki koonfiguracji adresu do jednej magistrali i2c możesz podłączyć do 62 modułów generatora uzyskując 992 wyjścia PWM lub sterowane serwomechanizmy.
1 (od góry)
2 (od góry)
3 (od lewej)
Adres generatora składa się z na stałę ustawionego 7 bitu adresu i konfigurowlnych pozostałych 6 bitów za pomocą zworek. Dzięki temu do jednej magistrali można podłączyć do 62 płytek i sterować 992 serwomechanizmami.
Schemat przedstawia podłączenie Arduino UNO R3 do prawej, albo lewej wtyczki modułu.
// Biblioteki współpracujące z modułem #include <Wire.h> #include <Adafruit_PWMServoDriver.h> // Adres modułu (wszystkie zworki rozwarte) #define PCF_ADDRESS 0x40 // Tworzenie obiektu Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(PCF_ADDRESS); // Wartości dla generatora dla impulsu 1000 us i 2000 us // Czyli minimalny i maksymalny impuls dla serwomechanizmu #define SERVO_PULSE_MIN 250 #define SERVO_PULSE_MAX 500 // Funkcja zamieniająca kąt osi serwa od 0 do 180 stopni // na wartość sysyłaną do generatora PWM void servoWrite(byte servo, byte angle) { pwm.setPWM(servo, 0, map(angle, 0, 180, SERVO_PULSE_MIN, SERVO_PULSE_MAX)); } void setup() { // Uakktynienie generatora pwm.begin(); // Ustawieie częstotliwości PWM na 60 Hz pwm.setPWMFreq(60); } void loop() { // Ustawianie kolejny wyjść serwomechanizmów na każdy kąt for (byte servo=0; servo<16; servo++) { for (byte angle=0; angle<180; angle++) { servoWrite(servo, angle); delay(100); } } }
Program ustawia kolejne wyjścia serwomechanizmów na każdy kąt ich osi. Program ustawia generator PWM na 60 Hz "pwm.setPWMFreq(60);". Oznacza to, że licznik generatora PWM liczy od 0 do 4095 - 60 razy na sekundę.
Za pomocą "pwm.setPWM(output, begin, end);" można ustawić szerokość impulsu. Argument "output" to numer wyjścia od 0 do 15. "begin" to numer wartości licznika generatora przy której wyjście generatora zmienia się z LOW na HIGH. "end" to wartość licznika generatora, przy której wyjście generatora zmienia się z HIGH na LOW.
Serwomechanizmy:
Silniki:
Sterowniki serwomechanizmów i silników:
Akcesoria do serwomechanizmów i silników:
Wszystkie zakupy na Nettigo są chronione 14-sto dniowym prawem do zwrotu. Bez zbędnych pytań.
Szczegółowe informacje o dostawie i zwrotachRaz, góra dwa razy w miesiącu możesz otrzymać newsletter o nowościach w naszej ofercie, promocjach, a także porcję wiadomości ze świata DIY i Arduino.