Ein Roboter mit bürstenlosem Antrieb, differenzial und NRF24L01 Funk. Großflächig gebaut um ein großes Solarpanel aufzunehmen. https://gitlab.informatik.hs-fulda.de/fdai5253/roboter
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.2 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. #include <avr/interrupt.h>
  2. #include <avr/io.h>
  3. #include <Arduino.h>
  4. void inline clearCommands() {
  5. for(uint8_t i=0; i<32; i++) {
  6. commands[i] = 0xFF;
  7. }
  8. }
  9. void setup() {
  10. remoteControlInit();
  11. funkInit();
  12. Serial.begin(115200);
  13. driveTimeout = 10;
  14. joystickInit(); //TODO
  15. clearCommands();
  16. renderTime = millis();
  17. }
  18. void loop() {
  19. while(!tasten.getButtonCycle(buttonStart)) {
  20. manualDigitalDrive();
  21. updateTemp();
  22. String temp_str = "T: " + String(temperature) + " Grad C";
  23. lcdLines[5] = temp_str;
  24. refreshLCD();
  25. }
  26. tasten.clearButton(buttonStart); /*
  27. while(!tasten.getButtonCycle(buttonStart)){
  28. motorMapping();
  29. //updateTemp();
  30. refreshLCD();
  31. }
  32. tasten.clearButton(buttonStart); */
  33. while(!tasten.getButtonCycle(buttonStart)){
  34. joystickSteuerung(); //TODO ()
  35. //updateTemp();
  36. refreshLCD();
  37. }
  38. tasten.clearButton(buttonStart);
  39. }
  40. void lcdMenu() {
  41. lcd.println("Platzhalter");
  42. }
  43. void refreshLCD() {
  44. if((millis() - renderTime) >= renderTimeout) {
  45. lcd.clear();
  46. for(uint8_t i = 0; i < sizeof(lcdLines); i++) {
  47. lcd.gotoXY(0, i);
  48. lcd.print(lcdLines[i]);
  49. }
  50. lcd.renderAll();
  51. renderTime = millis();
  52. }
  53. }