Skip to main content

Line Follower Robot Car With Infra Red Arduino

Line Follower adalah robot mobil sederhana dan cocok pemula. Robot yang berjalan di sepanjang garis menggunakan sensor iR. Sensor memiliki dua dioda, satu dioda mengirimkan cahaya inframerah, dioda lainnya menerima cahaya yang dipantulkan dari permukaan. Ketika sinar inframerah jatuh di permukaan putih, sinar dipantulkan kembali. Ketika cahaya infra merah jatuh pada permukaan hitam, cahaya diserap oleh permukaan hitam dan tidak ada sinar yang dipantulkan kembali, sehingga fotodioda tidak menerima cahaya apapun. Sensor mengukur jumlah cahaya yang dipantulkan dan mengirimkan nilainya ke arduino.

Untuk pengaturan sensitivitas sensor dapat kita atur pada Potensiometer yang ada pada sensor. Arduino berfungsi untuk membuat keputusan berdasarkan data yang diterima dari sensor. Jika sensor tidak mendeteksi garis hitam maka robot akan maju. Jika sensor kiri mendeteksi garis hitam, robot berbelok ke kanan, dan jika sensor kanan mendeteksi garis hitam, robot berbelok ke kiri. Robot akan berhenti ketika kedua sensor mendeteksi warna hitam.

Mudah-mudahan project ini bermanfaat dan dapat dikembangkan menjadi lebih baik dan dapat dimanfaatkan untuk kehidupan sehari-hari.


Skema:




Untuk code silahkan copy dan paste dibawah ini:

 #define in1 7

#define in2 6

#define in3 9

#define in4 8

#define enA 5

#define enB 10


 int M1_Speed = 50; // speed of motor 1

 int M2_Speed = 50; // speed of motor 2

 int LeftRotationSpeed = 110;  // Left Rotation Speed

 int RightRotationSpeed = 110; // Right Rotation Speed


 void setup() {

  pinMode(in1,OUTPUT);

  pinMode(in2,OUTPUT);

  pinMode(in3,OUTPUT);

  pinMode(in4,OUTPUT);


    pinMode(enA,OUTPUT);

    pinMode(enB,OUTPUT);


      pinMode(A0, INPUT); // initialize Left sensor as an input

      pinMode(A1, INPUT); // initialize Right sensor as an input

}


void loop() {

  int LEFT_SENSOR = digitalRead(A0);

  int RIGHT_SENSOR = digitalRead(A1);


if(RIGHT_SENSOR==0 && LEFT_SENSOR==0) {

    forward(); //FORWARD

}

  else if(RIGHT_SENSOR==0 && LEFT_SENSOR==1) {

    right(); //Move Right

 }

  else if(RIGHT_SENSOR==1 && LEFT_SENSOR==0) {

    left(); //Move Left

}

  else if(RIGHT_SENSOR==1 && LEFT_SENSOR==1) {

    Stop();  //STOP

 }

}

void forward()

{

            digitalWrite(in1, HIGH);

            digitalWrite(in2, LOW);

            digitalWrite(in3, HIGH);

            digitalWrite(in4, LOW);


                analogWrite(enA, M1_Speed);

                analogWrite(enB, M2_Speed);

}


void backward()

{

            digitalWrite(in1, LOW);

            digitalWrite(in2, HIGH);

            digitalWrite(in3, LOW);

            digitalWrite(in4, HIGH);


                analogWrite(enA, M1_Speed);

                analogWrite(enB, M2_Speed);

}


void right()

{

            digitalWrite(in1, LOW);

            digitalWrite(in2, HIGH);

            digitalWrite(in3, HIGH);

            digitalWrite(in4, LOW);

                analogWrite(enA, LeftRotationSpeed);

                analogWrite(enB, RightRotationSpeed);

}


void left()

{

            digitalWrite(in1, HIGH);

            digitalWrite(in2, LOW);

            digitalWrite(in3, LOW);

            digitalWrite(in4, HIGH);


                analogWrite(enA, LeftRotationSpeed);

                analogWrite(enB, RightRotationSpeed);

}


void Stop()

{

            digitalWrite(in1, LOW);

            digitalWrite(in2, LOW);

            digitalWrite(in3, LOW);

            digitalWrite(in4, LOW);

}

Comments

Popular posts from this blog

Motor Servo dengan Sensor Ultrasonic

Coding: #include <Servo.h> #define trigPin 12 #define echoPin 11 Servo servo; int sound = 250; void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); servo.attach(9); } void loop() { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = (duration/2) / 29.1; if (distance < 10) { Serial.println("the distance is less than 10"); servo.write(180); delay(1500); } else { servo.write(0); } if (distance > 60 || distance <= 0){ Serial.println("The distance is more than 60"); } else { Serial.print(distance); Serial.println(" cm"); } delay(500); }

Sensor Pendeteksi Warna - Sortir Barang Dengan Sensor Warna | TCS230

Video Kali ini kita akan membahas mengenai sensor warna. Menunjukkan bagaimana cara kerjanya, cara menghubungkannya, cara mengkalibrasinya, dan cara mengekstrak nilai RGB dari sensor. TCS230 (juga dikenal sebagai TCS3200) adalah sensor warna yang populer dan murah. Ini menghasilkan gelombang yang frekuensinya mencerminkan intensitas warna. Ini juga memiliki fitur interupsi yang dapat diprogram yang dapat Anda atur untuk memicu sebagai respons terhadap warna tertentu. Sensor ini akan berguna dalam merancang robot yang mengikuti warna, penyortir produk yang di tandai dengan sebuah warna khusus.  Tetapi sebelum Anda menggunakannya, Anda harus mengkalibrasinya. Sensor ini dapat di aplikasikan atau diterapkan pada industri-industri untuk penyortiran atau pemisahan suatu produk pada saat dikemas atau packing, sehingga proses penyortiran dapat lebih cepat dan efisien. Copy dan paste script dibawah ini: FILE 1: KALIBRASI SENSOR #define S0 4 #define S1 5 #define S2 6 #define S3 7 #define se...

Automatic Fish Feed, Pemberi Makan Ikan Otomatis Dengan Timer

Automatic Fish feeder adalah alat untuk memberi makan ikan secara otomatis dengan menggunakan timer. Kita dapat mengatur jadwal pemberian makan ikan berdasarkan waktu, misalkan memberi makan ikan 2 kali sehari, artinya alat akan secara otomatis akan terbuka setiap 12 Jam sekali atau 4 kali sehari, 6 jam sekali. Waktu ini dapat kita atur sesuai dengan keinginan kita. Berikut coding lengkapnya, silahkan di copas dibawah ini: #include <Servo.h> Servo motor; void setup() {   motor.attach(9); } void loop() {   motor.write(200);   delay(8000); /* sama dengan setiap 6 jam atau sehari 4 kali*/   motor.write(120);   delay(200); }