buatkan coding human following cart pwm sebagai pengatur kecepatan dengan driver vnh3sp30 dan 3 sensor ultrasonik berbasis arduino uno
user
untuk menciptakan proyek human following cart dengan pwm untuk mengatur kecepatan dengan driver vnh3sp30 dan 3 sensor ultrasonik berbasis arduino uno, berikut ini adalah contoh program yang dapat anda gunakan:

1. pastikan anda memiliki hardware berikut:
	* arduino uno
	* driver vnh3sp30
	* 3 sensor ultrasonik
	* motor rickshaw/robot
	* buzzer
2. pasang koneksi hardware ke arduino uno:
	* sensor ultrasonik ke analog input 0, 1, dan 2
	* driver vnh3sp30 ke pinned motor
	* buzzer ke digital output 9
3. instal perpustakaan ultrasonic hearbot arduino:
```arduino
sketch > libraries > manage libraries
```
tambahkan library:

* ultrasonic\_rx
* vnh3sp30
4. ajukan kode berikut:
```csharp
#include <softwareserial.h>
#include <ultrasonicrx.h>
#include <vnh3sp30.h>

// motor pindah ke port d
#define motorpin d1
#define motordirectionpin d2

// ultrasonic sensor pin
#define sensorpin a1
#define sensor2pin a2
#define sensor3pin a3

vnh3sp30 motordriver(motorpin, motordirectionpin);

ultrasonicrx sensor(sensorpin);
ultrasonicrx sensor2(sensor2pin);
ultrasonicrx sensor3(sensor3pin);

int buzzerpin = 9;

void setup() {
  serial.begin(9600);
  motordriver.begin();

  sensor.setpingratehz(10);
  sensor2.setpingratehz(10);
  sensor3.setpingratehz(10);

  pinmode(buzzerpin, output);
}

void loop() {
  int sensorreading1 = sensor.getdistancecm();
  int sensorreading2 = sensor2.getdistancecm();
  int sensorreading3 = sensor3.getdistancecm();

  if (sensorreading1 < 10 && sensorreading2 < 10 && sensorreading3 < 10) {
    // cart tampilkan anda
    digitalwrite(buzzerpin, high);
    btn_on(d1);
    delai(500);
    btn_off(d1);
  } else {
    // cart menghembus anda
    digitalwrite(buzzerpin, low);
    btn_on(d1);
    delai(1000);
    btn_off(d1);
  }

  int motorspeed = map(sensorreading1, 0, 20, 0, 100); // 0% ke 100%
  motordriver.settargetspeed(motorspeed); // set target speed

  if (sensorreading2 > 80) { //berbelah kanan
    motordriver.setcurrentdirection(true);
    motordriver.brake();
    motordriver.releasebrake();
  } else {
    motordriver.setcurrentdirection
```
assistant
Untuk menciptakan proyek human following cart dengan PWM untuk mengatur kecepatan dengan driver VNH3SP30 dan 3 sensor ultrasonik berbasis Arduino Uno, berikut ini adalah contoh program yang dapat Anda gunakan:

1. Pastikan Anda memiliki hardware berikut:
	* Arduino Uno
	* Driver VNH3SP30
	* 3 Sensor Ultrasonik
	* Motor Rickshaw/Robot
	* Buzzer
2. Pasang koneksi hardware ke Arduino Uno:
	* Sensor ultrasonik ke analog input 0, 1, dan 2
	* Driver VNH3SP30 ke pinned motor
	* Buzzer ke digital output 9
3. Instal perpustakaan ultrasonic hearbot arduino:
```arduino
Sketch > Libraries > Manage Libraries
```
Tambahkan library:

* ultrasonic\_rx
* VNH3SP30
4. Ajukan kode berikut:
```csharp
#include <SoftwareSerial.h>
#include <UltrasonicRX.h>
#include <VNH3SP30.h>

// Motor pindah ke port D
#define motorPin D1
#define motorDirectionPin D2

// Ultrasonic sensor pin
#define sensorPin A1
#define sensor2Pin A2
#define sensor3Pin A3

VNH3SP30 motorDriver(motorPin, motorDirectionPin);

UltrasonicRX sensor(sensorPin);
UltrasonicRX sensor2(sensor2Pin);
UltrasonicRX sensor3(sensor3Pin);

int buzzerPin = 9;

void setup() {
  Serial.begin(9600);
  motorDriver.begin();

  sensor.setPingRateHZ(10);
  sensor2.setPingRateHZ(10);
  sensor3.setPingRateHZ(10);

  pinMode(buzzerPin, OUTPUT);
}

void loop() {
  int sensorReading1 = sensor.getDistanceCM();
  int sensorReading2 = sensor2.getDistanceCM();
  int sensorReading3 = sensor3.getDistanceCM();

  if (sensorReading1 < 10 && sensorReading2 < 10 && sensorReading3 < 10) {
    // Cart tampilkan anda
    digitalWrite(buzzerPin, HIGH);
    btn_on(D1);
    delai(500);
    btn_off(D1);
  } else {
    // Cart menghembus anda
    digitalWrite(buzzerPin, LOW);
    btn_on(D1);
    delai(1000);
    btn_off(D1);
  }

  int motorSpeed = map(sensorReading1, 0, 20, 0, 100); // 0% ke 100%
  motorDriver.setTargetSpeed(motorSpeed); // Set target speed

  if (sensorReading2 > 80) { //berbelah kanan
    motorDriver.setCurrentDirection(TRUE);
    motorDriver.brake();
    motorDriver.releaseBrake();
  } else {
    motorDriver.setCurrentDirection
```
assistant