Advertisement
Guest User

Untitled

a guest
Feb 21st, 2020
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. #include <Zumo32U4.h>
  2. Zumo32U4LineSensors linesensors;
  3. Zumo32U4Motors motors;
  4. Zumo32U4ButtonA ButtonA;
  5. Zumo32U4LCD lcd;
  6. unsigned int linesensorValues[5];
  7.  
  8. void setup() {
  9. //Setter opp sensorene og lcd skjermen.
  10. linesensors.initFiveSensors();
  11. lcd.init();
  12. lcd.write("Press A");
  13. lcd.gotoXY(0,1);
  14. lcd.write("to calibrate");
  15.  
  16. //Starter koden når brukeren har trykket på "A"
  17. ButtonA.waitForButton();
  18. lcd.clear();
  19. lcd.write("Calibration");
  20.  
  21. //spinner bilen i 8 sekunder mens sensorene kalibrerer
  22. motors.setSpeeds(100,-100);
  23. unsigned long timer = millis();
  24. while (millis() < timer + 8000) {
  25. linesensors.calibrate();
  26. }
  27. //slår av motorene på bilen, og viser noen meldinger på lcd skjermen
  28. motors.setSpeeds(0,0);
  29. lcd.gotoXY(0,1);
  30. lcd.write("is done");
  31. delay(1000);
  32. lcd.clear();
  33. lcd.write("Ready");
  34. lcd.gotoXY(0,1);
  35. lcd.write("Press A");
  36. //Et knapptrykk for å avslutte void setup(), og starte void loop()
  37. ButtonA.waitForButton();
  38. }
  39.  
  40. void loop() {
  41. //Setter en basis fart som bilen kjører på, endrer motorene inviduelt for å snu bilen
  42. int rspeed = 150;
  43. int lspeed = 150;
  44. //leser av sensorene
  45. int position = linesensors.readLine(linesensorValues);
  46. lcd.clear();
  47. //Sender sensor verdien til lcd skjermen. Den går fra 0-4000, der på 0 er bilen for mye til høyre, og 4000 for mye til venstre, der 2000 er midten.
  48. lcd.print(position);
  49. //Endrer farten på moteorene basert på verdiene vi får fra sensoren
  50. //Endrer farten på høyre motor fra 150-0 hvis den er for mye til venstre, der jo mer bilen er til venstre, jo tregere blir høyre motor
  51. if (position > 2500) {
  52. rspeed = (4000 - position) / 100;
  53. }
  54. //Endrer farten på venstre motor fra 150-0 hvis den er for mye til høyre, der jo mer bilen er til høyre, jo tregere blir venstre motor
  55. else if (position < 1500) {
  56. lspeed = (position) / 100;
  57. }
  58. //setter verdiene vi fikk fra "if" og "else if" på motoren.
  59. motors.setSpeeds(lspeed, rspeed);
  60. //en liten delay for å gjøre det lettere å lese av lcd skjermen mens bilen kjører.
  61. delay(10);
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement