Adquira estes componentes na Loja do Lab de Garagem
O Shield 4 Power é produto incubado desenvolvido pelo garagista Bruno Dias Rosa. O 4 Power é um shield para Arduino que pode controlar até 4 motores de corrente contínua de no máximo 46V e uma carga resistiva extra a sua escolha. Para usá-lo basta conectar uma fonte de alimentação de até 46V (até 4A), ligando nos terminais M+ e GND. A placa possui indicação de positivo e negativo para cada motor, que podem puxar até 2A, na tensão máxima de alimentação da fonte (M+), mas que pode variar por PWM (controle disponível na biblioteca).
Neste tutorial, vamos mostrar como utilizá-lo com a biblioteca e a programação exemplo.
Baixe os arquivos da biblioteca clicando aqui. Agora descompacte, copie e cole a pasta "S4power" dentro da pasta "libraries" localizada dentro da pasta da IDE do Arduino.
Conecte o shield no Arduino e você pode fazer a seguinte ligação:
o arduino no PC. Abra a IDE do Arduino e passe a seguinte programação exemplo:
#include <S4power.h>
S4Power s4power;
void setup()
{
s4power.Config();
}
void loop()
{
for ( int count = -20; count < 20; count++ )
{
s4power.M1.speed = count;
s4power.M2.speed = count;
s4power.M3.speed = count;
s4power.M4.speed = count;
s4power.M1.Update();
s4power.M2.Update();
s4power.M3.Update();
s4power.M4.Update();
s4power.light.intensity = count;
s4power.light.Update();
delay (100);
}
}
Agora alimente o Shield com uma fonte externa no M+ e pronto! Você verá que os motores DC irão girar de um lado e depois para o outro.
Esperamos que tenha gostado! Se tiver dúvidas, poste aqui mesmo neste blog! Se tiver sugestões para tutoriais, poste aqui! Caso queira ver outros tutoriais e projetos desenvolvidos pela equipe LdG e por outros garagistas, clique aqui e aqui!
Comentar
Sandro,
Tive um problema parecido com o que vc postou.
Tente fazer a substituição, conforme abaixo.
Abra o arquivo s4power.cpp e substitua o
#include <Wprogram.h>
Por:
#if ARDUINO>=100
#include <Arduino.h> // Arduino 1.0
#else
#include <Wprogram.h> // Arduino 0022
#endif
pessoal fiz a programação correta do arduino com o s4power porém, ta dando esse erro:
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:3:22: error: WProgram.h: No such file or directory
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp: In member function 'void Motor::SetConf(char, char, char)':
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:14: error: 'OUTPUT' was not declared in this scope
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:14: error: 'pinMode' was not declared in this scope
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp: In member function 'void Motor::Update()':
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:30: error: 'LOW' was not declared in this scope
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:30: error: 'digitalWrite' was not declared in this scope
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:31: error: 'HIGH' was not declared in this scope
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:35: error: 'HIGH' was not declared in this scope
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:35: error: 'digitalWrite' was not declared in this scope
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:36: error: 'LOW' was not declared in this scope
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:40: error: 'analogWrite' was not declared in this scope
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp: In member function 'void Light::SetConf(char, char)':
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:65: error: 'OUTPUT' was not declared in this scope
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:65: error: 'pinMode' was not declared in this scope
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:66: error: 'INPUT' was not declared in this scope
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp: In member function 'void Light::Update()':
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:77: error: 'analogWrite' was not declared in this scope
C:\Users\Suzana\Desktop\arduino-1.0.1-windows\arduino-1.0.1\libraries\S4power\S4power.cpp:80: error: 'analogRead' was not declared in this scope
alguem sabe o que é?
Olá Luiz,
É sim possível empilhar shields, mas tome cuidado porque às vezes eles utilizam pinos em comum. No caso destes dois, há vários pinos que conflitam. Se quiser mais detalhes, veja nos esquemáticos:
Esquemático do shield 4 Power: http://www.labdegaragem.com.br/wiki/index.php?title=Arquivo:4Power1...
Esquemático do shield Ethernet: http://arduino.cc/en/uploads/Main/arduino-ethernet-shield-06-schema...
Ficamos à disposição,
Equipe Lab de Garagem.
Obrigado pessoal pela ajuda. eu não queria fazer a compra sem ter certeza. grato pela atenção!
Olá Helio,
Sim, este shield é compatível com o Arduino Uno. Também é possível controlar quatro motores de 3 a 5V com ele, uma vez que as saídas dos CIs de ponte H fornecem de 0 a 46V (dependendo também da fonte alimentação). Com relação ao controle independente, é possível configurar pelo software, e esta é exatamente uma das vantagens do shield.
Ficamos à disposição,
Equipe Lab de Garagem
Helio,
Ainda não tenho muita experiência, mas vou tentar ajudar: se os 4 motores somados podem ter até 46V, então cada motor pode ter até 11.5V cada. A tensões dos seus motores estão bem abaixo do limite.
Se você abrir o segundo link das "referências" você vê o shield encaixado num UNO.
Nesse mesmo link, na parte do "exemplo de programação", você pode ver que cada motor tem sua propriedade "speed" e que essa propriedade tem valores positivos e negativos.
Alguém pode me ajudar?
gostaria de saber se este shield serve no arduino uno? com ele posso controlar 4 motores de 3v a 5v? mudando o sentido de rotação independente um do outro? grato pela atenção.
Boa tarde. Precisarei controlar mais de 4 motores e estou imaginando que empilhar duas placas diretamente não seja uma solução viável já que provavelmente alguns pinos analógicos pré-mapeados para controlar os motores.
Se estiver certo, a solução seria usar jumpers para levar os pinos mapeados da segunda placa até pinos analógicos desocupados do Arduino/placa1? Será que daria certo? Obrigado.
Olá! gostaria de saber se este shield serve no arduino uno? com ele posso controlar 4 motores de 3v a 5v? mudando o sentido de rotação independente um do outro? grato pela atenção.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)