Modul 4


DAFTAR ISI
1. Tujuan Perancangan
2. Komponen
3. Dasar Teori 
4. Listing Program
5. Flowchart
6. Rangkaian Simulasi
7. Hardware dan Video
8. Analisis
9. Kesimpulan
10. Link Download

Penghitung Barang pada Conveyor Pabrik

1. Tujuan Perancangan [Kembali]

a.       Membuat conveyor penghitung barang
b.      Menerapakan prinsip kerja aplikasi conveyor penghitung barang
c.       Menerapkan simulasi rangkaian aplikasi proteksi kecambah

2. Komponen [Kembali]

  • Arduino Uno

  • Touch Sensor
  • Infrared Sensor

  • Ultrasonik Sensor


  • LCD


  • Motor DC

  • Driver L298N


3. Dasar Teori [Kembali]

1.3.1.     Arduino Uno

Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital  dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya. Uno berbeda dengan semua board sebelumnya dalam hal koneksi USB-to-serial yaitu menggunakan fitur Atmega8U2 yang diprogram sebagai konverter USB-to-serial berbeda dengan board sebelumnya yang menggunakan chip FTDI driver USB-to-serial.

Nama “Uno” berarti satu dalam bahasa Italia, untuk menandai peluncuran Arduino 1.0. Uno dan versi 1.0 akan menjadi versi referensi dari Arduino. Uno adalah yang terbaru dalam serangkaian board USB Arduino, dan sebagai model referensi  untuk platform Arduino, untuk perbandingan dengan versi sebelumnya, lihat indeks board Arduino.


Spesiļ¬kasi Board Arduino Uno:

Tegangan Operasi

 5V

Tegangan Input

 (disarankan) 7—12V

Batas Tegangan Input 

6—2OV

Pin Digital I/O 

14 (di mana 6 pin output PWM)

Pin Analog Input

6

Arus DC per I/O Pin 

40 mA

Arus DC untuk pin 

3.3V 50 mA

Flash Memory 

32 KB (ATmega328) , di mana 0,5 KB digunakan olehbootloader

SRAM

2 KB (Atmega328)

EEPROM

1 KB (Atmega328)

Clock

16 MHz

 

Tabel 1. Spesifikasi Arduino Uno

Arduino Uno dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal (otomatis). Daya Eksternal (non-USB) dapat berasal baik dari AC-ke adaptor-DC atau baterai. Adaptor ini dapat dihubungkan dengan menancapkan plug jack pusat-positif ukuran 2.1mm konektor POWER. Ujung kepala dari baterai dapat dimasukkan kedalam Gnd dan Vin pin header dari konektor POWER. Kisaran kebutuhan daya yang disarankan untuk board Uno adalah7 sampai dengan 12 V, jika diberi daya kurang dari 7 V kemungkinan pin 5 V Uno dapat beroperasi tetapi tidak stabil kemudian jika diberi daya lebih dari 12V, regulator tegangan bisa panas dan dapat merusak board Uno.
Pin listrik adalah sebagai berikut:

a.       VIN. Tegangan masukan kepada board Arduino ketika itu menggunakan sumber daya eksternal (sebagai pengganti dari 5volt koneksi USB atau sumber daya lainnya).

b.      5V. Catu daya digunakan untuk daya mikrokontroler dan komponen lainnya.

c.       3v3. Sebuah pasokan 3,3volt dihasilkan oleh regulator on-board.

d.      GND. Ground pin.Input dan Output

e.       Masing-masing dari 14 pin digital di Uno dapat digunakan sebagai input atau output, dengan menggunakan fungsi pinMode (), digitalWrite (), dan digitalRead (), beroperasi dengan daya 5 volt. Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki internal pull-up resistor (secara default terputus) dari 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi khusus:

f.        Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) TTL data serial. Pin ini dihubungkan ke pin yang berkaitan dengan chip Serial ATmega8U2 USB-to-TTL.

g.      Eksternal menyela: 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interrupt pada nilai yang rendah, dengan batasan tepi naik atau turun, atau perubahan nilai. Lihat (attachInterrupt) fungsi untuk rincian lebih lanjut.

h.      PWM: 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi analogWrite ().

i.        SPI: 10 (SS), 11 (Mosi), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI menggunakan SPI library.

j.        LED: 13. Ada built-in LED terhubung ke pin digital 13. Ketika pin bernilai nilai HIGH, LED on, ketika pin bernilai LOW, LED off.

k.      Arduino Uno memiliki 6 masukan analog, berlabel A0 sampai dengan A5, yang masing-masing menyediakan 10 bit dengan resolusi (yaitu 1024 nilai yang berbeda). Selain itu, beberapa pin memiliki fungsi khusus:

l.        I2C: A4 (SDA) dan A5 (SCL). Dukungan I2C (TWI) komunikasi menggunakan perpustakaan Wire.

m.    Aref. Tegangan referensi (0 sampai 5V saja) untuk input analog. Digunakan dengan fungsi analogReference ().

n.      Reset. Bawa baris ini LOW untuk me-reset mikrokontroler.

Arduino Uno memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lainnya. Atmega328 menyediakan UART TTL (5V) untuk komunikasi serial, yang tersedia di pin digital 0 (RX) dan 1 (TX). Sebuah Atmega8U2 sebagai saluran komunikasi serial melalui USB dan sebagai port virtual com untuk perangkat lunak pada komputer. Firmware ’8 U2 menggunakan driver USB standar COM, dan tidak ada driver eksternal yang diperlukan. Namun, pada Windows diperlukan, sebuah file inf.

Perangkat lunak Arduino terdapat monitor serial yang memungkinkan digunakan memonitor data tekstual sederhana yang akan dikirim komputer dari board Arduino. LED RX dan TX di papan tulis akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dengan koneksi USB ke komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1). Sebuah SoftwareSerial library memungkinkan untuk berkomunikasi secara serial pada salah satu pin digital pada board Uno. Atmega328 juga mendukung I2C (TWI) dan komunikasi SPI. Perangkat lunak Arduino termasuk perpustakaan Kawat untuk menyederhanakan penggunaan bus I2C, lihat dokumentasi untuk rincian. Untuk komunikasi SPI, menggunakan perpustakaan SPI.

1.3.2.     Sensor Sentuh

Sensor Sentuh adalah sensor elektronik yang dapat mendeteksi sentuhan. Sensor Sentuh ini pada dasarnya beroperasi sebagai sakelar apabila disentuh, seperti sakelar pada lampu, layar sentuh ponsel dan lain sebagainya. Sensor Sentuh ini dikenal juga sebagai Sensor Taktil (Tactile Sensor).

Spesifikasi :

§  Tegangan kerja : 2v s/d 5.5v (optimal 3V)

§  Output high VOH : 0.8 VCC (typical)

§  Output low VOL : 0.3 VCC (max)

§  Arus Output Pin Sink (@ VCC 3V, VOL 0.6V) : 8 mA

§  Arus Output pin pull-up (@ VCC=3V, VOH=2.4V) : 4 mA

§  Waktu respon (low power mode): max 220 ms

§  Waktu respon (touch mode): max 60 ms

§  Ukuran: 24 mm x 24 mm x 7.2 mm

 

Touch Sensor atau Sensor Sentuh adalah sensor elektronik yang dapat mendeteksi sentuhan. Sensor Sentuh ini pada dasarnya beroperasi sebagai sakelar apabila disentuh, seperti sakelar pada lampu, layar sentuh ponsel dan lain sebagainya. Sensor Sentuh ini dikenal juga sebagai Sensor Taktil (Tactile Sensor). Seiring dengan perkembangan teknologi, sensor sentuh ini semakin banyak digunakan dan telah menggeser peranan sakelar mekanik pada perangkat-perangkat elektronik.

 

Jenis-jenis Sensor Sentuh

Berdasarkan fungsinya, Sensor Sentuh dapat dibedakan menjadi dua jenis utama yaitu Sensor Kapasitif dan Sensor Resistif. Sensor Kapasitif atau Capacitive Sensor bekerja dengan mengukur kapasitansi sedangkan sensor Resistif bekerja dengan mengukur tekanan yang diberikan pada permukaannya. 

 

Sensor Kapasitif

Berbeda dengan Sensor Resistif yang menggunakan tekanan tertentu untuk merasakan perubahan pada permukaan layar, Sensor Kapasitif memanfaatkan sifat konduktif alami pada tubuh manusia untuk mendeteksi perubahan layar sentuhnya. Layar sentuh sensor kapasitif ini terbuat dari bahan konduktif (biasanya Indium Tin Oxide atau disingkat dengan ITO) yang dilapisi oleh kaca tipis dan hanya bisa disentuh oleh jari manusia atau stylus khusus ataupun sarung khusus yang memiliki sifat konduktif.

Pada saat jari menyentuh layar, akan terjadi perubahaan medan listrik pada layar sentuh tersebut dan kemudian di respon oleh processor untuk membaca pergerakan jari tangan tersebut. Jadi perlu diperhatikan bahwa sentuhan kita tidak akan di respon oleh layar sensor kapasitif ini apabila kita menggunakan bahan-bahan non-konduktif sebagai perantara jari tangan dan layar sentuh tersebut.

Sensor Resistif

Tidak seperti sensor sentuh kapasitif, sensor sentuh resistif ini tidak tergantung pada sifat listrik yang terjadi pada konduktivitas pelat logam. Sensor Resistif bekerja dengan mengukur tekanan yang diberikan pada permukaannya. Karena tidak perlu mengukur perbedaan kapasitansi, sensor sentuh resistif ini dapat beroperasi pada bahan non-konduktif seperti pena, stylus atau jari di dalam sarung tangan.

Sensor sentuh resistif terdiri dari dua lapisan konduktif yang dipisahkan oleh jarak atau celah yang sangat kecil. Dua lapisan konduktif (lapisan atas dan lapisan bawah) ini pada dasarnya terbuat dari sebuah film. Film-film umumnya dilapisi oleh Indium Tin Oxide yang merupakan konduktor listrik yang baik dan juga transparan (bening).

Cara kerjanya hampir sama dengan sebuah sakelar, pada saat film lapisan atas mendapatkan tekanan tertentu baik dengan jari maupun stylus, maka film lapisan atas akan bersentuhan dengan film lapisan bawah sehingga menimbulkan aliran listrik pada titik koordinat tertentu layar tersebut dan memberikan signal ke prosesor untuk melakukan proses selanjutnya. 

1.3.3.     LCD

 LCD atau Liquid Crystal Display adalah suatu jenis media display (tampilan) yang menggunakan kristal cair (liquid crystal) untuk menghasilkan gambar yang terlihat. Teknologi Liquid Crystal Display (LCD) atau Penampil Kristal Cair sudah banyak digunakan pada produk-produk seperti layar Laptop, layar Ponsel, layar Kalkulator, layar Jam Digital, layar Multimeter, Monitor Komputer, Televisi, layar Game portabel, layar Thermometer Digital dan produk-produk elektronik lainnya.

Teknologi Display LCD ini memungkinkan produkproduk elektronik dibuat menjadi jauh lebih tipis jika dibanding dengan teknologi Tabung Sinar Katoda (Cathode Ray Tube atau CRT). Jika dibandingkan dengan teknologi CRT, LCD juga jauh lebih hemat dalam mengkonsumsi daya karena LCD bekerja berdasarkan prinsip pemblokiran cahaya sedangkan CRT berdasarkan prinsip pemancaran cahaya. Namun LCD membutuhkan lampu backlight (cahaya latar belakang) sebagai cahaya pendukung karena LCD sendiri tidak memancarkan cahaya. Beberapa jenis backlight yang umum digunakan untuk LCD diantaranya adalah backlight CCFL (Cold cathode fluorescent lamps) dan backlight LED (Light-emitting diodes).
LCD atau Liquid Crystal Display pada dasarnya terdiri dari dua bagian utama yaitu bagian Backlight (Lampu Latar Belakang) dan bagian Liquid Crystal (Kristal Cair). Seperti yang disebutkan sebelumnya, LCD tidak memancarkan pencahayaan apapun, LCD hanya merefleksikan dan mentransmisikan cahaya yang melewatinya. Oleh karena itu, LCD memerlukan Backlight atau Cahaya latar belakang untuk sumber cahayanya. Cahaya Backlight tersebut pada umumnya adalah berwarna putih. Sedangkan Kristal Cair (Liquid Crystal) sendiri adalah cairan organik yang berada diantara dua lembar kaca yang memiliki permukaan transparan yang konduktif.

Bagian-bagian LCD atau Liquid Crystal Display diantaranya adalah:

·      Lapisan Terpolarisasi 1 (Polarizing Film 1)

·      Elektroda Positif (Positive Electrode)

·      Lapisan Kristal Cair (Liquid Cristal Layer)

·      Elektroda Negatif (Negative Electrode)

·      Lapisan Terpolarisasi 2 (Polarizing film 2)

·      Backlight atau Cermin (Backlight or Mirror)

Dibawah ini adalah gambar struktur dasar sebuah LCD:

LCD yang digunakan pada Kalkulator dan Jam Tangan digital pada umumnya menggunakan Cermin untuk memantulkan cahaya alami agar dapat menghasilkan digit yang terlihat di layar. Sedangkan LCD yang lebih modern dan berkekuatan tinggi seperti TV, Laptop dan Ponsel Pintar menggunakan lampu Backlight (Lampu Latar Belakang) untuk menerangi piksel kristal cair. Lampu Backlight tersebut pada umumnya berbentuk persegi panjang atau strip lampu Flourescent atau Light Emitting Diode (LED). Cahaya putih adalah cahaya terdiri dari ratusan cahaya warna yang berbeda. Ratusan warna cahaya tersebut akan terlihat apabila cahaya putih mengalami refleksi atau perubahan arah sinar. Artinya, jika beda sudut refleksi maka berbeda pula warna cahaya yang dihasilkan.

 

Backlight LCD yang berwarna putih akan memberikan pencahayaan pada Kristal Cair atau Liquid Crystal. Kristal cair tersebut akan menyaring backlight yang diterimanya dan merefleksikannya sesuai dengan sudut yang diinginkan sehingga menghasilkan warna yang dibutuhkan. Sudut Kristal Cair akan berubah apabila diberikan tegangan dengan nilai tertentu. Karena dengan perubahan sudut dan penyaringan cahaya backlight pada kristal cair tersebut, cahaya backlight yang sebelumnya adalah berwarna putih dapat berubah menjadi berbagai warna.

Jika ingin menghasilkan warna putih, maka kristal cair akan dibuka selebar-lebarnya sehingga cahaya backlight yang berwarna putih dapat ditampilkan sepenuhnya. Sebaliknya, apabila ingin menampilkan warna hitam, maka kristal cair harus ditutup serapat-rapatnya sehingga tidak adalah cahaya backlight yang dapat menembus. Dan apabila menginginkan warna lainnya, maka diperlukan pengaturan sudut refleksi kristal cair yang bersangkutan.

Display karakter pada LCD diatur oleh pin EN, RS, dan RW. Jalur EN atau Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set pada dua jalur kontrol yang lain RS dan RW. Untuk  mengirimkan  data  ke  LCD,  maka  melalui  program  EN  harus  dibuat  logika low “0” dan set pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set EN dengan logika “1” dan tunggu untuk sejumlah waktu tertentu (sesuai dengan datasheet dari LCD tersebut) dan berikutnya set EN ke logika low “0” lagi.

Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data akan dianggap sebagai sebuah perintah atau instruksi khusus. Ketika RS berlogika high “1”, data yang dikirim adalah data text yang akan ditampilkan pada display LCD. Sebagai contoh, untuk menampilkan huruf “T” pada layar LCD maka RS harus diset logika high “1”.

Jalur RW adalah jalur kontrol Read/ Write. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan  pada  layar  LCD.  Ketika RW berlogika high ”1”, maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low ”0”. Pada akhirnya, bus data terdiri dari 4 atau 8 jalur (bergantung pada mode operasi yang dipilih oleh user). Pada kasus bus data 8 bit, jalur diacukan sebagai DB0 s/d DB7. Beberapa perintah dasar yang harus dipahami adalah inisialisasi LCD Character.

Posisi kursor

Modul LCD terdiri dari sejumlah memory yang digunakan untuk display. Semua teks yang kita tuliskan ke modul LCD adalah disimpan didalam memory ini, dan modul LCD secara berturutan membaca memory ini untuk menampilkan teks ke modul LCD itu sendiri. 

Pada peta memori tersebut, daerah yang berwarna biru (00 s/d 0F dan 40 s/d 4F) adalah display yang tampak. Sebagaimana yang anda lihat, jumlahnya sebanyak 16 karakter per baris dengan dua baris. Angka pada setiap kotak adalah alamat memori yang bersesuaian dengan posisi dari layer. Demikianlah karakter pertama di sudut kiri atas adalah menempati alamat 00h. Posisi karakter berikutnya adalah alamat 01h dan seterusnya. Akan tetapi, karakter pertama dari baris 2 sebagaimana yang ditunjukkan pada peta memori adalah pada alamat 40h.

 

1.3.4.     Infrared Sensor

Sensor Infrared adalah komponen elektronika yang dapat mendeteksi benda ketika cahaya infra merah terhalangi oleh benda. Sensor infared terdiri dari led infrared sebagai pemancar dan fototransistor sebagai penerima cahaya infra merah.

 

Led infrared sebagai pemancar cahaya infra merah merupakan singkatan dari Light Emitting Diode Infrared yang terbuat dari bahan Galium Arsenida (GaAs) dapat memancarkan cahaya infra merah dan radiasi panas saat diberi energi listrik. Proses pemancaran cahaya akibat adanya energi listrik yang diberikan terhadap suatu bahan disebut dengan sifat elektroluminesensi.

Prinsip kerja rangkaian sensor infrared berdasarkan pada gambar 3. Adalah ketika cahaya infra merah diterima oleh fototransistor maka basis fototransistor akan mengubah energi cahaya infra merah menjadi arus listrik sehingga basis akan berubah seperti saklar (swith closed) atau fototransistor akan aktif (low) secara sesaat.

Grafik sensor infrared

1.3.5.     Sensor HCSR04

Sensor HCSR04 adalah sensor pengukur jarak berbasis gelombang ultrasonik. Ke-unggulan sensor ini adalah jangkauan deteksi sekitar 2 cm sampai kisaran 400-500 cm dengan resolusi 1 cm. Sensor HCSR04 adalah versi low cost dari sensor ultrasonic PING buatan parallax. Perbedaaannya terletak pada pin yang digunakan. HCSR04 menggunakan 4 pin sedangkan PING buatan Parallax menggunakan 3 pin. 

1.3.6.     Motor DC

Motor Listrik DC atau DC Motor adalah suatu perangkat yang mengubah energi listrik menjadi energi kinetik atau gerakan (motion). Motor DC ini juga dapat disebut sebagai Motor Arus Searah. Seperti namanya, DC Motor memiliki dua terminal dan memerlukan tegangan arus searah atau DC (Direct Current) untuk dapat menggerakannya.

Motor Listrik DC atau DC Motor ini menghasilkan sejumlah putaran per menit atau biasanya dikenal dengan istilah RPM (Revolutions per minute) dan dapat dibuat berputar searah jarum jam maupun berlawanan arah jarum jam apabila polaritas listrik yang diberikan pada Motor DC tersebut dibalikan. Kebanyakan Motor Listrik DC memberikan kecepatan rotasi  sekitar 3000 rpm hingga 8000 rpm dengan tegangan operasional dari 1,5V hingga 24V. Apabila tegangan yang diberikan ke Motor Listrik DC lebih rendah dari tegangan operasionalnya maka akan dapat memperlambat rotasi motor DC tersebut sedangkan tegangan yang lebih tinggi dari tegangan operasional akan membuat rotasi motor DC menjadi lebih cepat. Namun ketika tegangan yang diberikan ke Motor DC tersebut turun menjadi dibawah 50% dari tegangan operasional yang ditentukan maka Motor DC tersebut tidak dapat berputar atau terhenti. Sebaliknya, jika tegangan yang diberikan ke Motor DC tersebut lebih tinggi sekitar 30% dari tegangan operasional yang ditentukan, maka motor DC tersebut akan menjadi sangat panas dan akhirnya akan menjadi rusak.

1.3.7.        Driver L298N

Modul Driver Motor L298N ini adalah sebuah sebuah H-Bridge Dual Motor Controller 2A yang memungkinkan kita untuk mengatur arah putaran maupun kecepatan dari satu atau dua motor DC. Selain itu, dengan modul driver motor ini kita juga dapat mengontrol sebuah motor stepper bipolar dengan mudah.

Modul driver motor ini dapat digunakan untuk motor dengan rentang tegangan DC antara 5 Volt - 35 Volt. Pada modul ini terdapat regulator 5V sehingga jika membutuhkan sumber tegangan 5V kita bisa mendapatkannya dari board ini.

Berikut ini adalah spesifikasi dari Modul Driver Motor L298N:

o    Double H-Bridge drive chip L298N

o    Logical voltage 5V

o    Logical Current antara 0-36 mA

o    Drive voltage antara 5V sampai dengan 35V

o    Drive current sebesar 2A untuk setiap motor DC

o    Ukuran sebesar 43x43x27 mm

o    Berat 30 gram


4. Listing Program [Kembali]

MASTER

//MASTER

 

const int trigPin = 2;

const int echoPin = 3;

long duration, inches, cm;

int distance;

 

void setup()

{

 Serial.begin(9600);

 pinMode(trigPin, OUTPUT);

 pinMode(echoPin, INPUT);// put your setup code here, to run once:

}

 

void loop()

  digitalWrite(trigPin, LOW);

  delayMicroseconds(2);

  // Sets the trigPin on HIGH state for 10 micro seconds

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(10);

  digitalWrite(trigPin, LOW);

  // Reads the echoPin, returns the sound wave travel time in microseconds

  duration = pulseIn(echoPin, HIGH);

  // Calculating the distance

  distance = duration * 0.034 / 2;

  // Prints the distance on the Serial Monitor

  Serial.print("Distance: ");

  Serial.print(distance);

  Serial.println(" cm");

 

  if (distance >= 0 && distance <= 6)

  {           // check if the sensor is HIGH

    Serial.print("1");        // delay 100 milliseconds

  }

  else {

    Serial.print("2");

  }

}

 

SLAVE

//SLAVE

 

#include <LiquidCrystal.h>

 

 

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

 

#define IN1 10 // deklarasi pin IN1

#define IN2 9  // deklarasi pin IN2

#define ENA 11 // deklarasi pin ENA

// inialisasi masing2 pin

const int infraredPin = 12;

int touchPin = 13;

// inialisasi masing2 variabel

int hitung = 0;

int kondisi1 = 0;

int status1;

 

 

//******* --------- program default/setting awal ---------- *******//

void setup()

{

  pinMode(touchPin , INPUT);

  Serial.begin(9600);

  pinMode(infraredPin, INPUT);

  // Konfigurasi pin-pin sebagai Output

  pinMode(IN1, OUTPUT);

  pinMode(IN2, OUTPUT);

  pinMode(ENA, OUTPUT);

 

// inialisasi jumlah baris-kolom lcd

 lcd.begin(16, 2);

 

// tulisan awal pada lcd

 lcd.clear();

 lcd.setCursor(0, 0);

 lcd.print("Alat Penghitung");

 lcd.setCursor(0, 1);

 lcd.print("Jumlah Barang ...");

 delay(500);

 lcd.clear();

 lcd.setCursor(0, 0);

 lcd.print("Ready ... ");

 delay(2000);

 

}

 

//****** ----------------- PROGRAM UTAMA -------------------- ******//

void loop()

{

     // -------------- program penghitung barang --------------- //

// setting maksimal pembacaan jumlah barang

// ganti jumlah sesuai kebutuhan

 hitung = constrain(hitung, 0, 1000); // ==> jumlah maks barang

 

// status1 adalah hasil pembacaan pin sensor

 status1 = digitalRead(infraredPin);

 

// jika pin sensor bernilai logic HIGH

 if (status1 == HIGH)

 {

 // hasil hitung tetap

 hitung = hitung;

 kondisi1 = 0;

 }

// jika pin sensor bernilai LOW dan kondisi1 bernilai = 0

 else if (status1 == LOW && kondisi1 == 0)

 {

 // jumlah barang bertambah 1

 hitung += 1;

 // kondisi1 menjadi bernilai = 1

 kondisi1 = 1;

 }

// jika pin sensor bernilai LOW dan kondisi bernilai = 1

 else if (status1 == LOW && kondisi1 == 1)

 {

 // hasil hitung tetap

 hitung = hitung;

 // kondisi1 tetap bernilai =1

 kondisi1 = 1;

 }

// ------ program tampilan jumlah barang pada lcd 16x2 ------ //

 lcd.clear();

 lcd.setCursor(0, 0);

 lcd.print("Jumlah Barang : ");

 lcd.setCursor(0, 1);

 lcd.print(hitung);

 delay(100); // delay update tulisan pada lcd

 

if(Serial.available()>0)

{

int data = Serial.read();

if(data == '1') //Jika data yang dikirimkan berlogika

{

  // Motor A ke kiri dan motor B ke kanan 2000 ms (2 detik) dengan kecepatan 50%

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  analogWrite(ENA, 100); // Mengatur kecepatan motor A (128 = 50%)

  delay(3000); // Jeda 2 detik;

 

  }

}

else

{

  // Motor A dan motor B berhenti selama 2000 ms (2 detik)

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, LOW);

  digitalWrite(ENA, LOW);

  delay(2000);

  }

 

 if (digitalRead(touchPin) == HIGH)

 {

 // jumlah barang kembali menjadi = 0

 hitung = 0;

 lcd.clear();

 lcd.setCursor(0, 0);

 lcd.print("RESET AKTIF ...");

 delay(2000);

 }

 // jika tombol reser tidak ditekan

 else

 {

 // jumlah barang tetap

 hitung = hitung;

 }

}


5. Flowchart [Kembali]



6. Rangkaian Simulasi [Kembali]



7. Hardware dan Video[Kembali]





8. Analisis [Kembali]

Pada saat ultrasonik sensor mendeteksi adanya barang di atas conveyor pada jarak tertentu maka ultrasonik akan mengirimkan data ke arduino master. Arduino master mengirimkan data ‘1’ ke arduino slave, kemudian arduino slave menerima data sehingga akan menggerakkan motor dan conveyor bergerak. Setelah barang mencapai ujung conveyor, barang akan terdeteksi oleh infrared sensor, infrared sensor akan mengirimkan data ke arduino slave. Arduino slave akan mengirimkan data ke lcd dan lcd akan menampilkan jumlah barang yang lewat pada conveyor. Pada alat terdapat touch sensor sebagai tombol untuk mereset jumlah barang yang terdeteksi, pada saat touch di sentuh maka touch sensor akan mengirim- kan data ke arduino slave kemudian arduino slave mengirim data ke lcd dan jumlah barang akan kembali menjadi nol.

9. Kesimpulan [Kembali]

Pada conveyor penghitung barang pabrik ini menggunakan input sensor infrared, sensor touch, dan sensor ultrasonik, sedangkan outputnya adalah LCD dan stepper motor untuk menggerakkan conveyor. Untuk mikrokontrollernya, disini menggunakan 2 buah Arduino yang dikomunikasikan secara UART yang terdiri atas master dan slave. Untuk sensor ultrasonik digunakan untuk mendeteksi adanya barang dengan mengukur jarak benda tersebut dan sebagai input untuk motor. Sensor infrared untuk mendeteksi barang yang melalui conveyor untuk menghitung jumlahnya dan ditampilkan di LCD. Sedangkan, sensor touch untuk mendeteksi sentuhan dan mereset hitungan pada LCD.

10. Link Download[Kembali]

Link HTML                            : Download

Link Listing Program             : Download

Link Video Praktikum            : Download

Datasheet IR Sensor               : Download

Datasheet LCD 16x2              : Download

Datasheet  HC-SR04              : Download

Datasheet Touch Sensor         : Download

Datasheet Motor DC              : Download

Datasheet L298N                   : Download

Datasheet Arduino UNO        : Download

Link Library                           : Download



Tidak ada komentar:

Posting Komentar

  Bahan Presentasi untuk Mata Kuliah Kimia 2020         OLEH: Apriliya Rahmi Putri 2010953019     Dosen Pengampu : D...