document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. /*******************************************************************************
  2.  Projektname:       ODO2.cprj
  3.  Benötigte LibsŽs:  IntFunc_lib.cc
  4.  Routinen:          lcd.cc, PRO-BOT128C_Lib_V2.cc
  5.  Autor:             Niels
  6.  Datum:             16. 04. 2013
  7.  
  8.  Funktion:          ODOMETER zum Geradeausfahren verwenden
  9. *******************************************************************************/
  10.  
  11. // Compiler-Direktiven
  12. #define SPEED0 160
  13. #define SPEED1 200
  14.  
  15. void main(void)
  16. {
  17.  
  18. PRO_BOT128_INIT();    //PRO-BOT128 Setup
  19. ENC_LED_ON();
  20. ODO_RESET();
  21. AbsDelay(100);       //Wait 0,1 Sec.
  22. LCD_Init();
  23. LCD_ClearLCD();
  24.  
  25. Akkuspg(); // Ausgabe der Akkuspannung
  26. AbsDelay(3000);       //Wait 3 Sec.
  27. LCD_ClearLCD();
  28.  
  29. //LCD auf Zeile 1 Position 1 setzen:
  30. LCD_Locate(1, 1);
  31. LCD_WriteText("ODO-Messwerte:");
  32.  
  33. MOTOR_DIR(1,1); //beide Motoren vorwärts   - MOTOR DIRECTION
  34. MOTOR_POWER(SPEED1, SPEED1);
  35. DRIVE_ON(); //Motorspannung an
  36.  
  37. // Endlos-Schleife
  38.     do
  39.     {
  40.  
  41.         if (ODO_LEFT>ODO_RIGHT)
  42.         {
  43.             MOTOR_POWER(SPEED0, SPEED1); //Links langsamer
  44.         }
  45.         if (ODO_LEFT<ODO_RIGHT)
  46.         {
  47.             MOTOR_POWER(SPEED1, SPEED0); //Rechts langsamer
  48.         }
  49.  
  50.         //Ausgabe der ODOMETER-Messwerte
  51.         LCD_Locate(2, 1);
  52.         LCD_WriteText("L:");
  53.         LCD_WriteWord(ODO_LEFT, 5);
  54.         LCD_WriteText("-R:");
  55.         LCD_WriteWord(ODO_RIGHT, 5);
  56.  
  57.     }
  58.     while(1);
  59. }
  60.  
  61. int Akkuspg(void)
  62. {
  63.     LCD_ClearLCD();
  64.     //LCD auf Zeile 1 Position 1 setzen:
  65.     LCD_Locate(1, 1);
  66.     LCD_WriteText("Akkuspannung:"); //Begruessung
  67.     LCD_Locate(2, 1);
  68.     float Akkuspannung;
  69.     Akkuspannung=AKKU_SPG();
  70.     LCD_WriteFloat(Akkuspannung, 6);
  71.     AbsDelay(2000);       //Wait 2 Sec.
  72.     return 0;
  73. }
');