Majordhome V1.0
Dependencies: MD25 TextLCD mbed HTU21D PixyLibrary VCNL40x0
main.cpp@0:11ba3658cd5e, 2015-03-30 (annotated)
- Committer:
- johnylafleur
- Date:
- Mon Mar 30 16:47:21 2015 +0000
- Revision:
- 0:11ba3658cd5e
- Child:
- 1:38ebbd3ed083
Majord'home V1.0 Moteur+lcd+Capteurarret+BoutonArret
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
johnylafleur | 0:11ba3658cd5e | 1 | #include "mbed.h" |
johnylafleur | 0:11ba3658cd5e | 2 | #include "MD25.h" |
johnylafleur | 0:11ba3658cd5e | 3 | #include "mbed.h" |
johnylafleur | 0:11ba3658cd5e | 4 | #include "TextLCD.h" |
johnylafleur | 0:11ba3658cd5e | 5 | //100kHz clock, addr B0, reg 0=speedl, 1=speedr (0 (Full Reverse) 128 (Stop) 255 (Full Forward). 15=mode (set to 0 default) |
johnylafleur | 0:11ba3658cd5e | 6 | |
johnylafleur | 0:11ba3658cd5e | 7 | MD25 i2c(PB_9, PB_8); //Dont forget the 2.5 k pullup on both wires when USB is not connected |
johnylafleur | 0:11ba3658cd5e | 8 | TextLCD lcd(D2, D3, D4, D5, D6, D7,TextLCD::LCD20x4); // rs, e, d4-d7 |
johnylafleur | 0:11ba3658cd5e | 9 | //*** DEBUG CONSOLE PARAMETERS ***// |
johnylafleur | 0:11ba3658cd5e | 10 | |
johnylafleur | 0:11ba3658cd5e | 11 | DigitalIn bouton (USER_BUTTON); |
johnylafleur | 0:11ba3658cd5e | 12 | DigitalIn cap_arret(PA_9); |
johnylafleur | 0:11ba3658cd5e | 13 | |
johnylafleur | 0:11ba3658cd5e | 14 | |
johnylafleur | 0:11ba3658cd5e | 15 | int main() { |
johnylafleur | 0:11ba3658cd5e | 16 | int flag=0; |
johnylafleur | 0:11ba3658cd5e | 17 | bouton.mode (PullUp); |
johnylafleur | 0:11ba3658cd5e | 18 | |
johnylafleur | 0:11ba3658cd5e | 19 | Serial debug(USBTX,USBRX); |
johnylafleur | 0:11ba3658cd5e | 20 | debug.format(8,Serial::None,1); |
johnylafleur | 0:11ba3658cd5e | 21 | debug.baud(115200); |
johnylafleur | 0:11ba3658cd5e | 22 | i2c.setMode(0); // MODE 0, 0=marche arriere 128=stop 255=marche arriere vmax |
johnylafleur | 0:11ba3658cd5e | 23 | i2c.setCommand(32); // 0x20 reset encoders |
johnylafleur | 0:11ba3658cd5e | 24 | i2c.setCommand(50); // 0X32 Disable time out |
johnylafleur | 0:11ba3658cd5e | 25 | //i2c.setCommand(48); // 0X32 Disable speed regulation |
johnylafleur | 0:11ba3658cd5e | 26 | lcd.printf("Majord'home ON!\n"); |
johnylafleur | 0:11ba3658cd5e | 27 | // while(PB_1==1){ |
johnylafleur | 0:11ba3658cd5e | 28 | i2c.setSpeedRegisters(0,0); |
johnylafleur | 0:11ba3658cd5e | 29 | |
johnylafleur | 0:11ba3658cd5e | 30 | //i2c.setCommand(32); // 0x20 reset encoders |
johnylafleur | 0:11ba3658cd5e | 31 | |
johnylafleur | 0:11ba3658cd5e | 32 | //lcd.printf("Majord'home OFF!\n"); |
johnylafleur | 0:11ba3658cd5e | 33 | |
johnylafleur | 0:11ba3658cd5e | 34 | |
johnylafleur | 0:11ba3658cd5e | 35 | //} |
johnylafleur | 0:11ba3658cd5e | 36 | while(flag==0) { |
johnylafleur | 0:11ba3658cd5e | 37 | cap_arret.read(); |
johnylafleur | 0:11ba3658cd5e | 38 | if(cap_arret==0){ |
johnylafleur | 0:11ba3658cd5e | 39 | i2c.stopMotors(); |
johnylafleur | 0:11ba3658cd5e | 40 | lcd.printf("Arret ON"); |
johnylafleur | 0:11ba3658cd5e | 41 | lcd.locate(0,0); |
johnylafleur | 0:11ba3658cd5e | 42 | } |
johnylafleur | 0:11ba3658cd5e | 43 | else if(bouton==0){ |
johnylafleur | 0:11ba3658cd5e | 44 | i2c.stopMotors(); |
johnylafleur | 0:11ba3658cd5e | 45 | lcd.printf("Arret ON"); |
johnylafleur | 0:11ba3658cd5e | 46 | lcd.locate(0,0); |
johnylafleur | 0:11ba3658cd5e | 47 | flag=1; |
johnylafleur | 0:11ba3658cd5e | 48 | } |
johnylafleur | 0:11ba3658cd5e | 49 | else{ |
johnylafleur | 0:11ba3658cd5e | 50 | i2c.setSpeedRegisters(60,60); |
johnylafleur | 0:11ba3658cd5e | 51 | lcd.printf("Arret OFF"); |
johnylafleur | 0:11ba3658cd5e | 52 | lcd.locate(0,0); |
johnylafleur | 0:11ba3658cd5e | 53 | } |
johnylafleur | 0:11ba3658cd5e | 54 | |
johnylafleur | 0:11ba3658cd5e | 55 | |
johnylafleur | 0:11ba3658cd5e | 56 | } |
johnylafleur | 0:11ba3658cd5e | 57 | } |