Módulo Controlador de motores pulso/servo de 16 canales, 12 bit para Arduino, ma

Módulo Controlador de motores pulso/servo de 16 canales, 12 bit para Arduino, ma

SKU: KS0065

Introducción
  
Desea hacer un robot genial, tal vez un andador hexapod, o tal vez solo una obra de arte con muchas partes móviles. O tal vez desee manejar muchos LED con salida PWM precisa. ¡Entonces te das cuenta de que tu microcontrolador tiene un número limitado de salidas PWM! ¿Ahora que? Podría darse por vencido O simplemente podría obtener este práctico desbloqueo de PWM y Servo Driver.
Cuando vimos este chip, nos dimos cuenta rápidamente de que sería un complemento excelente. ¡Usando solo dos pines, controle 16 salidas PWM de funcionamiento libre! Incluso puede encadenar 62 desbloqueos para controlar hasta 992 salidas PWM (que realmente nos gustaría ver, ya que sería glorioso)
  
Es un controlador PWM controlado por I2C con un reloj incorporado. Eso significa que, a diferencia de la familia TLC5940, no es necesario que envíe continuamente señales que conecten su microcontrolador, ¡está funcionando completamente gratis!
  
Es compatible con 5V, lo que significa que puede controlarlo desde un microcontrolador de 3.3V y aún así conducir de forma segura salidas de hasta 6V (esto es bueno para cuando desea controlar LED blancos o azules con voltajes directos de 3.4+)
  
Caracteristicas
6 pines de selección de dirección para que pueda conectar hasta 62 de estos en un solo bus i2c, un total de 992 salidas, eso es una gran cantidad de servos o LED
Frecuencia ajustable PWM hasta aproximadamente 1.6 KHz
Resolución de 12 bits para cada salida: para servos, eso significa una resolución de aproximadamente 4us a una velocidad de actualización de 60Hz
Salida configurable push-pull o de drenaje abierto
Pin de habilitación de salida para deshabilitar rápidamente todas las salidas
Bloque de terminales para entrada de energía (o puede usar los bridas de 0.1 "en el costado)
Protección de polaridad inversa en la entrada del bloque de terminales
LED verde de buena potencia
Conectores de 3 pines en grupos de 4 para que pueda enchufar 16 servos a la vez (los servoenchufes son un poco más anchos que 0.1 ", por lo que solo puede apilar 4 uno al lado del otro en el encabezado de 0.1"
Diseño "encadenado"
Un lugar para colocar un condensador grande en la línea V + (en caso de que lo necesite)
Resistencias de la serie de 220 ohmios en todas las líneas de salida para protegerlas y hacer que los LED de conducción sean triviales
Puentes de soldadura para los 6 pines de selección de dirección
Esta placa / chip utiliza una dirección I2C de 7 bits entre 0x60-0x80, seleccionable con puentes
Diagrama de conexión
  
Consulte la última foto en la ventana de la foto de arriba.
  
Código de muestra:
#include <Wire.h> 
#include <Adafruit_PWMServoDriver.h> 
// called this way, it uses the default address 0x40 
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(); 
// you can also call it with a different address you want 
//Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x41); 
// Depending on your servo make, the pulse width min and max may vary, you 
// want these to be as small/large as possible without hitting the hard stop 
// for max range. You'll have to tweak them as necessary to match the servos you 
// have! 
#define SERVOMIN 150 // this is the 'minimum' pulse length count (out of 4096) 
#define SERVOMAX 600 // this is the 'maximum' pulse length count (out of 4096) 
// our servo # counter 
uint8_t servonum = 0; 
void setup() { 
Serial.begin(9600); 
Serial.println("16 channel Servo test!"); 
pwm.begin(); 
  
pwm.setPWMFreq(60); // Analog servos run at ~60 Hz updates 

// you can use this function if you'd like to set the pulse length in seconds 
// e.g. setServoPulse(0, 0.001) is a ~1 millisecond pulse width. its not precise! 
void setServoPulse(uint8_t n, double pulse) { 
double pulselength; 
  
pulselength = 1000000; // 1,000,000 us per second 
pulselength /= 60; // 60 Hz 
Serial.print(pulselength); Serial.println(" us per period"); 
pulselength /= 4096; // 12 bits of resolution 
Serial.print(pulselength); Serial.println(" us per bit"); 
pulse *= 1000; 
pulse /= pulselength; 
Serial.println(pulse); 
pwm.setPWM(n, 0, pulse); 

void loop() { 
// Drive each servo one at a time 
Serial.println(servonum); 
for (uint16_t pulselen = SERVOMIN; pulselen < SERVOMAX; pulselen++) { 
pwm.setPWM(servonum, 0, pulselen); 

delay(500); 
for (uint16_t pulselen = SERVOMAX; pulselen > SERVOMIN; pulselen--) { 
pwm.setPWM(servonum, 0, pulselen); 

delay(500); 
servonum ++; 
if (servonum > 15) servonum = 0; 

$30.000,00 Precio
$24.600,00Precio de oferta
Kit creador de aprendizaje sin placa para Arduino, marca Keyestudio

Kit creador de aprendizaje sin placa para Arduino, marca Keyestudio

$234.000,00Precio$191.880,00Precio de oferta

Ya lo viste???

Kit super educativo sin placa para Arduino, marca Keyestudio

Kit super educativo sin placa para Arduino, marca Keyestudio

$278.000,00Precio$227.960,00Precio de oferta
Kit de sensores con placa MEGA2560, extensión V1, Sensores, cables e inst

Kit de sensores con placa MEGA2560, extensión V1, Sensores, cables e inst

$425.000,00Precio$348.500,00Precio de oferta
logo academy.png
Unidad de Estado Solido Ssd Pny Cs900 240 Gb 2.5"

Unidad de Estado Solido Ssd Pny Cs900 240 Gb 2.5"

$199.900,00Precio
Cámara Web Känguru K-C10 Hd

Cámara Web Känguru K-C10 Hd

$178.900,00Precio
logo.png

Todos los derechos reservados - All rights reserved. Copyright © 2020.

Bogotá, Colombia | Discovertronics.com | info@discovertronics.com | +573152539020 @discovertronics.com

Política de Privacidad

  • Facebook
  • Twitter
  • Icono social LinkedIn
  • Instagram
  • YouTube
Conversemos! | Discovertronics.com

Conversemos!