12/mar ignicao funcionando
Dependencies: mbed reScale TextLCD
main.cpp@4:9da4a46f38bc, 2018-04-26 (annotated)
- Committer:
- Marcelocostanzo
- Date:
- Thu Apr 26 18:54:15 2018 +0000
- Revision:
- 4:9da4a46f38bc
- Parent:
- 3:9d22aa32b223
- Child:
- 5:e04419b1e369
terceira versao, com dispay, sem testes
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 0:b5a9e0614efd | 1 | #include "mbed.h" |
Marcelocostanzo | 4:9da4a46f38bc | 2 | #include "TextLCD.h" |
Marcelocostanzo | 4:9da4a46f38bc | 3 | |
Marcelocostanzo | 4:9da4a46f38bc | 4 | I2C i2c_lcd(PTC9,PTC8); // SDA, SCL |
Marcelocostanzo | 4:9da4a46f38bc | 5 | |
Marcelocostanzo | 2:3c69c0772709 | 6 | InterruptIn motora(D0); |
Marcelocostanzo | 2:3c69c0772709 | 7 | InterruptIn movida(D1); |
Marcelocostanzo | 2:3c69c0772709 | 8 | |
Marcelocostanzo | 2:3c69c0772709 | 9 | DigitalOut ign(LED1); |
Marcelocostanzo | 3:9d22aa32b223 | 10 | PwmOut boost(LED2); |
mbed_official | 0:b5a9e0614efd | 11 | |
Marcelocostanzo | 2:3c69c0772709 | 12 | |
Marcelocostanzo | 2:3c69c0772709 | 13 | Timer tbase; |
Marcelocostanzo | 2:3c69c0772709 | 14 | Ticker call; |
Marcelocostanzo | 2:3c69c0772709 | 15 | |
Marcelocostanzo | 2:3c69c0772709 | 16 | Serial pc(USBTX, USBRX); // tx, rx |
Marcelocostanzo | 2:3c69c0772709 | 17 | |
Marcelocostanzo | 3:9d22aa32b223 | 18 | unsigned long int t_motora, t_movida, delta; |
mbed_official | 0:b5a9e0614efd | 19 | |
Marcelocostanzo | 4:9da4a46f38bc | 20 | TextLCD_I2C lcd(&i2c_lcd, 0x7E, TextLCD::LCD16x2); // I2C exp: I2C bus, PCF8574 Slaveaddress, LCD Type |
Marcelocostanzo | 4:9da4a46f38bc | 21 | |
Marcelocostanzo | 2:3c69c0772709 | 22 | void tracao() |
Marcelocostanzo | 2:3c69c0772709 | 23 | { |
Marcelocostanzo | 2:3c69c0772709 | 24 | tbase.stop(); |
Marcelocostanzo | 2:3c69c0772709 | 25 | t_motora = tbase.read_us(); |
Marcelocostanzo | 2:3c69c0772709 | 26 | tbase.reset(); |
Marcelocostanzo | 2:3c69c0772709 | 27 | tbase.start(); |
Marcelocostanzo | 2:3c69c0772709 | 28 | } |
Marcelocostanzo | 2:3c69c0772709 | 29 | |
Marcelocostanzo | 2:3c69c0772709 | 30 | void livre() |
Marcelocostanzo | 2:3c69c0772709 | 31 | { |
Marcelocostanzo | 2:3c69c0772709 | 32 | tbase.stop(); |
Marcelocostanzo | 2:3c69c0772709 | 33 | t_movida = tbase.read_us(); |
Marcelocostanzo | 2:3c69c0772709 | 34 | tbase.reset(); |
Marcelocostanzo | 2:3c69c0772709 | 35 | tbase.start(); |
Marcelocostanzo | 2:3c69c0772709 | 36 | } |
Marcelocostanzo | 2:3c69c0772709 | 37 | |
Marcelocostanzo | 2:3c69c0772709 | 38 | void send() |
Marcelocostanzo | 2:3c69c0772709 | 39 | { |
Marcelocostanzo | 2:3c69c0772709 | 40 | pc.printf("Tempo: %.3f Hz \n\r"); |
Marcelocostanzo | 2:3c69c0772709 | 41 | } |
Marcelocostanzo | 2:3c69c0772709 | 42 | |
Marcelocostanzo | 2:3c69c0772709 | 43 | int main() |
Marcelocostanzo | 2:3c69c0772709 | 44 | { |
Marcelocostanzo | 2:3c69c0772709 | 45 | |
Marcelocostanzo | 2:3c69c0772709 | 46 | motora.fall(&tracao); // attach the address of the measure function to the rising edge |
Marcelocostanzo | 2:3c69c0772709 | 47 | movida.fall(&livre); // attach the address of the measure function to the rising edge |
Marcelocostanzo | 4:9da4a46f38bc | 48 | |
Marcelocostanzo | 4:9da4a46f38bc | 49 | lcd.setBacklight(TextLCD::LightOn); |
Marcelocostanzo | 4:9da4a46f38bc | 50 | lcd.setCursor(TextLCD::CurOff_BlkOff); |
Marcelocostanzo | 4:9da4a46f38bc | 51 | lcd.setAddress(0,0); |
Marcelocostanzo | 4:9da4a46f38bc | 52 | lcd.printf("Controle de"); |
Marcelocostanzo | 4:9da4a46f38bc | 53 | lcd.setAddress(0,1); |
Marcelocostanzo | 4:9da4a46f38bc | 54 | lcd.printf("TRACAO"); |
Marcelocostanzo | 4:9da4a46f38bc | 55 | wait(1.5); |
Marcelocostanzo | 4:9da4a46f38bc | 56 | lcd.cls(); |
Marcelocostanzo | 4:9da4a46f38bc | 57 | |
Marcelocostanzo | 2:3c69c0772709 | 58 | |
Marcelocostanzo | 2:3c69c0772709 | 59 | while(1) |
Marcelocostanzo | 2:3c69c0772709 | 60 | { |
Marcelocostanzo | 3:9d22aa32b223 | 61 | |
Marcelocostanzo | 3:9d22aa32b223 | 62 | delta = t_motora - t_movida; |
Marcelocostanzo | 3:9d22aa32b223 | 63 | boost.pulsewidth_ms(delta); |
Marcelocostanzo | 3:9d22aa32b223 | 64 | |
Marcelocostanzo | 2:3c69c0772709 | 65 | if(t_movida < t_motora) |
Marcelocostanzo | 2:3c69c0772709 | 66 | { |
Marcelocostanzo | 2:3c69c0772709 | 67 | ign=0; |
Marcelocostanzo | 2:3c69c0772709 | 68 | wait(0.1); |
Marcelocostanzo | 4:9da4a46f38bc | 69 | lcd.setAddress(0,0); |
Marcelocostanzo | 4:9da4a46f38bc | 70 | lcd.printf("Destracionando"); |
Marcelocostanzo | 2:3c69c0772709 | 71 | } |
Marcelocostanzo | 2:3c69c0772709 | 72 | |
Marcelocostanzo | 2:3c69c0772709 | 73 | else |
Marcelocostanzo | 2:3c69c0772709 | 74 | { |
Marcelocostanzo | 2:3c69c0772709 | 75 | ign=1; |
Marcelocostanzo | 4:9da4a46f38bc | 76 | lcd.setAddress(0,0); |
Marcelocostanzo | 4:9da4a46f38bc | 77 | lcd.printf("Normal "); |
Marcelocostanzo | 2:3c69c0772709 | 78 | } |
mbed_official | 0:b5a9e0614efd | 79 | } |
Marcelocostanzo | 2:3c69c0772709 | 80 | } |