Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <Servo.h>
  3. #include <LiquidCrystal_PCF8574.h>
  4. const int trigPin = 12;
  5. const int echoPin = 11;
  6.  
  7. LiquidCrystal_PCF8574 lcd(0x3F);
  8.  
  9. int duration, distance, dirRotate =1,i;
  10. Servo m1,m2;
  11. void setup()
  12. {
  13.  
  14. m1.attach( 5 );
  15. m2.attach( 6 );
  16.  
  17. pinMode(trigPin, OUTPUT);
  18. pinMode(echoPin, INPUT);
  19.  
  20. Serial.begin(115200);
  21. while (! Serial);
  22. Wire.begin();
  23. Wire.beginTransmission(0x3F);
  24.  
  25. lcd.begin(16, 2);
  26. }
  27. int getDist(){
  28.  
  29. digitalWrite(trigPin, LOW);
  30. delayMicroseconds(2);
  31.  
  32. digitalWrite(trigPin, HIGH);
  33. delayMicroseconds(10);
  34.  
  35. digitalWrite(trigPin, LOW);
  36. return (pulseIn(echoPin, HIGH) / 58.2);
  37.  
  38. }
  39. void loop()
  40. {
  41. lcd.setBacklight(255);
  42. lcd.home();
  43. lcd.print( "Oh crap! i need" );
  44. distance = getDist();
  45. if(distance < 20 )
  46. {
  47. lcd.print( "Oh crap! i need" );
  48. lcd.setCursor(0,1);
  49. lcd.print( "to change my way" );
  50.  
  51. if( dirRotate == 1 ){
  52. m1.writeMicroseconds(1000);
  53. m1.write(180);
  54. dirRotate = 0;
  55. }else{
  56. m2.writeMicroseconds(1000);
  57. m2.write(180);
  58. dirRotate = 1;
  59. }
  60.  
  61.  
  62. }else{
  63. lcd.clear();
  64. lcd.print("Moving fine :D");
  65. m1.write(0);
  66. m2.write(180);
  67. }
  68.  
  69. delay(300);
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement