olá pessoal eu vim aqui para peidr a ajuda de vcs para um assunto que esta me deixando de cabaça quente, eu fiz uma programação de arduino, era para ser uma bengala sensorial em que na hora q o sensor ultrasonico detecta-se algo mandaria o motor DC funcionar..
Porem procurei no forum no site do arduino, e me disseram para fazer um tal de PWM e uma Ponte H.
A Ponte H eu fiz, porem soh com ela nao funcionou, eu peguei a ponte H desse site:
http://lusorobotica.com/index.php?topic=1565.0Porem nao funcinou, acho eu pelo fato de nao ter o PWM.
Se puderem me explicar melhor como funciona o PWM e se puderem me passar o circuito eletrico de um eu agradeço...
a Programação que eu fiz é essa:
// pinagem do sensor
const int pingPin = 7; // o pino em que eu vou colocar o sensor
const int readPin = 8;
const int buzzPin = 9;
// pinagem do motor vibratorio
const int motorL = 3;
const int motorR = 1;
void setup()
{
Serial.begin(9600); //onde tudo começa
//codigo sensor
//pinMode(motorL, OUTPUT);
pinMode(motorR, OUTPUT);
long microsecondsToCentimeters(long microseconds);
}
void loop() {
long duration, inches, cm, microseconds ;
pinMode(buzzPin, OUTPUT); // dizendo que o sensor ira enviar dados
pinMode(motorR, OUTPUT); //dizendo que o motor tambem ira enviar
pinMode(pingPin, OUTPUT); // As linhas a seguir esta dizendo que o sensor irá enviar a cada 2 microsegundos
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(readPin, INPUT);
// int duration = pulseIn(readPin, HIGH);
//cm = microsecondsToCentimeters(duration);
//motor vibratorio
//digitalWrite(motorR,LOW);
//digitalWrite(motorL,HIGH);
//delay(5000);
//digitalWrite(motorL,LOW);
//digitalWrite(motorR,HIGH);
//delay(5000);
if (cm<10) { // se cm for menor q tal
pinMode (motorR, HIGH );
}
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2 ;
}
se for tbm algo errado com minha programação me avisem, sou leigo para essas coisas de arduino e programação.