Advertisement
Guest User

Untitled

a guest
Jan 20th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. /*
  2. * mBotul trebuie sa primeasca un obiect in gripper si sa il duca intr-o zona stabilita.
  3. * Pentru asta il vom programa sa ia obiectul (la inceputul programului - in setup) si sa mearga in fata pana vede un obstacol.
  4. * Cand inalneste un obstacol, lasa obiectul jos.
  5. */
  6.  
  7. #include "MeMCore.h"
  8. int m1p1 = 11; //portul 1 de pe mBot
  9. int m1p2 = 12;
  10.  
  11. MeDCMotor MotorStanga(M1); //declarare motoare
  12. MeDCMotor MotorDreapta(M2);
  13.  
  14. MeUltrasonicSensor SenzorDistanta(PORT_2);
  15.  
  16. int distanta;
  17. int val = 0;
  18.  
  19. void inchidere()
  20. {
  21. digitalWrite(m1p1, HIGH);
  22. digitalWrite(m1p2, LOW);
  23. delay(50);
  24. }
  25.  
  26. void deschidere()
  27. {
  28. digitalWrite(m1p2, HIGH);
  29. digitalWrite(m1p1, LOW);
  30. delay(50);
  31. }
  32.  
  33. void stai()
  34. {
  35. digitalWrite(m1p2, LOW);
  36. digitalWrite(m1p1, LOW);
  37. delay(50);
  38. }
  39.  
  40. void setup() {
  41. //acest cod este executat o singura data
  42. pinMode(m1p1, OUTPUT);
  43. pinMode(m1p2, OUTPUT);
  44. Serial.begin(9600);
  45. Serial.println("Start");
  46. //deschidere gripper timp de 1 secunda
  47. //inchidere gripper timp de 1 secunda
  48. //oprire gripper
  49. delay(3000); //ai timp 3 secunde sa iei mana din fata senzorului de distanta
  50. }
  51.  
  52. void miscare(int stanga, int dreapta)
  53. {
  54. MotorStanga.run(-stanga);
  55. MotorDreapta.run(dreapta);
  56. }
  57.  
  58. void loop() {
  59. //acest cod este executat la infinit
  60.  
  61. //citire valoare senzor de distanta in variabila distanta
  62. if ((distanta < 10) && (val == 0)) //daca distanta este < 10 si nu a lasat obiectul, se opreste si lasa obiectul
  63. {
  64. //oprire motoare
  65. //deschidere gripper timp de 2 secunde
  66. //oprire gripper
  67. val = 1; //lasa obiectul
  68. }
  69. if ((distanta > 11) && (val == 0)) //daca nu are obstacol in fata si nu a lasat obiectul din gripper
  70. //merge in fata
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement