Ir ao conteúdo
  • Cadastre-se

Igor Tenório

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Olá, meu nome é Igor Tenório e preciso de uma possível ajuda de vocês. Faço curso técnico e tenho um projeto de uma adaptação para cadeiras de rodas. No projeto tenho que fazer o controle de 2 motores através de PWM, comprei uma ponte H que vem com um microcontrolador do Arduíno uno já embutido, em seu manual veio com uma programação para teste porém não estou conseguindo fazer o controle dos motores com Joystick, o máximo que eu consegui implantar na programação foi fazer a leitura de apenas uma parte do Eixo X e Y do Joystick, porém, eu preciso de todos os lados. Segue abaixo a programação usada até agora. /* AFSmartBTN Motor Control Board AFSmartBTN (R_EN), 4 (L_EN), 7 (VCC) to Arduino 5V pin AFSmartBTN (GND) to Arduino GND IBT-2 pins 5 (R_IS) and 6 (L_IS) not connected */ #include <LiquidCrystal.h> //Carrega a biblioteca LCD int RPWM_Output = 5; // Arduino PWM output pin 5; connect to IBT-2 pin 1 (RPWM) int LPWM_Output = 6; // Arduino PWM output pin 6; connect to IBT-2 pin 2 (LPWM) int RPWM_Output_MOT2 = 10; // Arduino PWM output pin 5; connect to IBT-2 pin 1 (RPWM) int LPWM_Output_MOT2 = 11; // Arduino PWM output pin 6; connect to IBT-2 pin 2 (LPWM) int buttonPin = 12; int LedStatus = 13; int eixoX = 3; int eixoY = 4; int eixoZ = 1; int val_x; //Armazena o valor do eixo X int val_y; //Armazena o valor do eixo Y // variables will change: int buttonState =0 ; // ESQUERDA int buttonStateDir = 0; // DIREITA int valJoy; void setup() { pinMode(RPWM_Output, OUTPUT); pinMode(LPWM_Output, OUTPUT); pinMode(RPWM_Output_MOT2, OUTPUT); pinMode(LPWM_Output_MOT2, OUTPUT); pinMode(LedStatus, OUTPUT); pinMode(buttonPin, INPUT); } void loop() { //int sensorValue = analogRead(SENSOR_PIN); int reversePWM = 2300; int forwardPWM = 2300; // sensor value is in the range 0 to 1023 // the lower half of it we use for reverse rotation; the upper half for forward rotation //ESQUERDA (FRENTE) buttonState = digitalRead(eixoY); if(buttonState == HIGH) { digitalWrite (LedStatus, LOW); analogWrite(LPWM_Output_MOT2, 0); analogWrite(RPWM_Output_MOT2, 0); analogWrite(LPWM_Output, 0); analogWrite(RPWM_Output, 0); } else if(buttonState == LOW) { digitalWrite (LedStatus, HIGH); analogWrite(LPWM_Output, reversePWM); analogWrite(RPWM_Output, 0); analogWrite(LPWM_Output_MOT2, 0); analogWrite(RPWM_Output_MOT2, reversePWM); } // sensor value is in the range 0 to 1023 // the lower half of it we use for reverse rotation; the upper half for forward rotation //DIREITA (RÉ) buttonStateDir = digitalRead(eixoX); if(buttonStateDir == HIGH) { digitalWrite (LedStatus, LOW); analogWrite(LPWM_Output_MOT2, 0); analogWrite(RPWM_Output_MOT2, 0); analogWrite(LPWM_Output, 0); analogWrite(RPWM_Output, 0); } else if(buttonStateDir == LOW) { digitalWrite (LedStatus, HIGH); analogWrite(LPWM_Output, 0); analogWrite(RPWM_Output, forwardPWM); analogWrite(LPWM_Output_MOT2, forwardPWM); analogWrite(RPWM_Output_MOT2, 0); } } Se tiver como me ajudar eu agradeceria e muito.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...