Teste com servos
Teste com leds
Foram utilizados os exemplo que acompanham a biblioteca da adafruit para arduino nos testes descritos aqui. Em breve
postarei dois outros exemplos de utilização deste módulo, um deles com o
ESP8266.
Com esse módulo baseado no PCA9685 é possível adicionar 16 portas de PWM de 12 bits ao arduino, ao esp8266 ou a outro microcontrolador com I2C. Pode controlar, por exemplo, 16 servomotores, 16 leds inclusive a intensidade do brilho, entre outras aplicações.
Características do módulo
>> 16 canais;
>> Resolução do PWM: 12bits 4096 valores possíveis;
>> Frequências: 40 - 1000Hz;
>> Tensão de alimentação 2,3 V to 5,5 V;
>> Corrente máxima saída (pinos de PWM) 25mA;
>> Tensão lógica: 3 a 5V;
>> Tensão para servos (V+) máxima: 6V;
Datasheet do módulo adafruit
Datasheet do CI
Pinagem:
Endereço I2C
A comunicação I2C utiliza apenas dois fios, um para clock (SCL) e outro para dada (SDA). Nela é possível, teoricamente conectar até 128 elementos em um mesmo barramento. Cada elemento é definido por um endereço. Esse endereço é definido via hardware. O fabricante seguindo as normas do padrão I2C determina o endereço ou faixa de endereços quando o dispositivo é projetado.
Neste módulo:
>> 64 endereços I2C possíveis;
>> Dois endereços reservados: LED All Call address (1110 000) and Software Reset (0000 0110);
>> Permite ligar, teoricamente, até 62 módulos no mesmo barramento I2C. Endereço padrão 0x40 (em hexadecimal) , B1000000 (em binário)
O endereço I2C pode ser alterado através dos jumpers A0 a A5 na placa. Eles estão todos abertos por padrão.
O endereço I2C pode ser alterado através dos jumpers A0 a A5 na placa. Eles estão todos abertos por padrão.
Para mudar o endereço basta fechar com solda, alterando o bit para 1, o(s) jumper(s) correspondente ao endereço desejado. Observe que o primeiro dígito do endereço é fixo.
fixo
|
A5
|
A4
|
A3
|
A2
|
A1
|
A0
|
jumper fechado (1). aberto (0)
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
endereço padrão ( todos os jumpers abertos)
|
Fechando o jumper A0, por exemplo teremos o endereço !2C: B1000001 (em binário) ou 0x41 (em hexa)
Ligação com os servos
Ligação com os leds
O programa
Conforme mencionado no inicio foram utilizados os código que acompanham a biblioteca da adafruit. Ela pode ser baixada pelo link abaixo.
Esta biblioteca tem 2 exemplos:
pwmteste >> usado no exemplo dos leds
servo >> usado no exemplo dos servos