Isabelle Murollo
/
Projeto_CCM_Maquinas_MotorDC
Centro de Controle de Motores parte 2
motor_display.txt
- Committer:
- isabellemm
- Date:
- 17 months ago
- Revision:
- 5:6f3ae0856d64
- Parent:
- 4:1dcc28a7a849
File content as of revision 5:6f3ae0856d64:
#include "mbed.h" #include "TextLCD.h" Serial pc(USBTX, USBRX); Serial micro(p9, p10); char M2[2]; I2C i2c_lcd(I2C_SDA, I2C_SCL); // SDA, SCL >>> NUCLEO: D14,D15 ou TextLCD_I2C lcd(&i2c_lcd, 0x7e, TextLCD::LCD20x4); //motor DigitalOut IN1A (D5); DigitalOut IN2A (D4); PwmOut ENA (D2); DigitalIn dir(PB_6); InterruptIn enable (PC_7); AnalogIn POT(A5); int estado = 0; Timer debounce; void muda_e(){ if (debounce.read_ms()>200){ estado=!estado; printf("\r %d\n\r", estado); } debounce.reset(); } void queda(){ //if (debounce.read_ms()>200){ // printf("fall\n\r"); debounce.reset(); } int main() { enable.rise(&muda_e); enable.fall(&queda); debounce.start(); //Inicializando display LCD lcd.setCursor(TextLCD::CurOff_BlkOn); lcd.setBacklight(TextLCD::LightOn); lcd.printf("Motor 1: \n\nMotor 2: "); pc.baud(9600); //configuração padrão de baud rate do Mbed while(1) { //char con = (scanf("%1s", M2)); /*if (con == "A"){ pc.printf("A\n"); } else if (con == "B"{ pc.printf("B\n"); }*/ lcd.setAddress(1,1); lcd.printf("h"); if (estado == 1){ if (POT.read()>0.1f){ ENA.write(POT.read()); if (dir == 1){ IN1A = 1; IN2A = 0; } else { IN1A = 0; IN2A = 1; } } } else { ENA.write(0); } } }