kennyho-rass

robot

Feb 25th, 2020
462
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. #include <NewPing.h>                  //knihovna pro ultrazvukovy senzor HC SR-04
  3. #include <Wire.h>                     //knihovna Wire
  4. #include <SoftwareSerial.h>
  5. #include "HCPCA9685.h"                //knihovna pca9685 pouzivam HC-pca
  6. #define  I2CAdd 0x40                  // I2C adresa PCA9685
  7. HCPCA9685 HCPCA9685(I2CAdd);          /* Include the HCPCA9685 library */
  8. #define SERVOMIN  10               // this is the 'minimum' pulse length(out of 4096)
  9. #define SERVOMAX  180              // this is the 'maximum' pulse length(out of 4096)
  10.  
  11. #define TRIG_PIN A0                // trig pin hc sr-04 pripojen A0
  12. #define ECHO_PIN A1                // echo pin hc sr-04 pripojen A1
  13. #define MAX_DISTANCE 200            // maximalni vzdalenost 90 cm
  14.  
  15. NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);  //propojeni knihovny a modulu HCSR-04
  16.  
  17. SoftwareSerial Bluetooth(0, 1); // RX | TX   // nastaveni bt HC05 jako komunikacni na pin 0 a 1
  18. //char c = "a";
  19. int led = 13;                        // promenna led13 interni D13
  20. int piezo = 3;                       // promenna pro piezo pin D3
  21. int servonum;                        // promenna cislo serva
  22. int servoangle;                      // promenna uhel serva
  23.  
  24. void setup()
  25. {
  26.   Serial.begin(9600);                // zapnuti komunikace serial monitor
  27.   Bluetooth.begin(9600);             // zapnuti komunikace bt modulu
  28.   pinMode(led, OUTPUT);              //Sets digital pin 13 as output pin
  29.   digitalWrite(led, LOW);            // nastaveni pin led13 na 0
  30.   pinMode(piezo, OUTPUT);            // nastaveni pieza jako vystup
  31.   digitalWrite(piezo, LOW);          // nastaveni pieza na 0
  32.   HCPCA9685.Init(SERVO_MODE);        // prepnuti pca9685 do modu-SERVO
  33.   HCPCA9685.Sleep(false);            // vypnout spanek PCA9685
  34. }
  35. void loop()
  36. {
  37.   if (Bluetooth.available () == 2);               //pokud bt prijal 4 byty
  38.   {
  39.    
  40.     uint8_t l1 = Bluetooth.read();               // prvni bit
  41.     uint8_t h1 = Bluetooth.read();               // druhy bit
  42.     //uint8_t l2 = Bluetooth.read();               // treti bit
  43.     //uint8_t h2 = Bluetooth.read();               // ctvrty bit
  44.     servonum = l1; // + (h1 << 8);                   // cislo serva podle promenne
  45.     servoangle = h1;
  46.     //servoangle = l2 + (h2 << 8);                 // uhel serva podle promennne
  47.    
  48.  
  49.     unsigned int distance = sonar.ping_cm();     //vypocet vzdalenosti prekazky
  50.    
  51.     Serial.print(l1);          
  52.     Serial.print("- ");
  53.     Serial.print(h1);
  54.     Serial.print("- ");
  55. /*    Serial.print(l2);
  56.     Serial.print("- ");
  57.     Serial.print(h2);
  58.     Serial.print("- ");
  59. */    Serial.print(distance);
  60.     Serial.println(" cm");
  61.  
  62.   }
  63.   HCPCA9685.Servo(servonum, servoangle);          // nastavi servo cislo a uhel podle vstupu
  64.   delay(10);                       //prodleva
  65. }
Advertisement
Add Comment
Please, Sign In to add comment