Selasa, 19 Desember 2023

MODUL II Aplikasi I/O sederhana (melibatkan timer/interrupt/ADC) untuk kontrol air kolam ikan




Aplikasi Kontrol air kolam ikan


1. Pendahuluan [ kembali ]

Sistem kontrol air kolam ikan memainkan peran krusial dalam memastikan lingkungan optimal bagi pertumbuhan dan kesehatan ikan. Dengan kemajuan teknologi, sistem ini kini dilengkapi dengan sensor canggih yang memantau parameter seperti suhu, pH, kadar oksigen, dan kejernihan air secara real-time. Data yang terkumpul dapat diakses melalui antarmuka digital, memungkinkan pengambilan keputusan yang cepat. Selain itu, fungsi pengendalian otomatis memungkinkan sistem merespons secara langsung terhadap perubahan kondisi, meningkatkan efisiensi operasional dan mengurangi risiko potensial. Penerapan teknologi terkini diharapkan dapat meningkatkan produktivitas budidaya ikan dan memberikan dampak positif bagi industri akuakultur.

2. Tujuan [ kembali ]

  • Memenuhi tugas Mikrroprosesor dan Mikrokontroler
  • Menjelaskan prinsip kerja sistem kontrol air kolam ikan
  • Mensimulasikan rangkaian 

3. Alat dan bahan[ kembali ]

a. Alat

  • Power Supply



Spesifikasi :

Input voltage    : 5V-12V
Output voltage  : 5V
Output Current : MAX 3A
Output power   :15W

b. Bahan

  • Arduino UNO



Spesifikasi : 

  • Motor DC


Spesifikasi :

Operating temperature  : -10oC – 60oC
Rated voltage                : 6.0VDC
Rate load                       : 10 g*cm
No-load current             : 70 mA max
No-load speed               : 9100±1800rpm
Loaded current              : 250 A max
Loaded speed                : 4500±1500 rpm
Starting torque              : 20 g*cm
Starting voltage            : 2.0
Stall current                  : 500 mA max
Body size                      : 27.5mm x 20mm x 15mm
Weight                           : 17.5 grams
  • Relay


Spesifikasi : 

Trigger Voltage (Voltage across coil) : 5V DC
Trigger Current (Nominal current)     : 70mA
Maximum AC load current                 : 10A @ 250/125V AC
Maximum DC load current                 : 10A @ 30/28V DC
Compact 5-pin configuration with plastic moulding
Operating time                                    : 10msec Release time: 5msec
Maximum switching                           : 300 operating/minute (mechanicall
  • Baterai 


Spesifikasi :

Input voltage                    : ac 100~240v / dc 10~30v
Output voltage                 : dc 1~35v
Max. Input current           : dc 14a
Charging current              : 0.1~10a
Discharging current         : 0.1~1.0a
Balance current               : 1.5a/cell max
Max. Discharging power : 15w
Max. Charging power     : ac 100w / dc 250w
Jenis batre yg didukung  : life, lilon, lipo 1~6s, lihv 1-6s, pb 1-12s, nimh, cd 1-16s
Ukuran                            : 126x115x49mm
Berat                               : 460gr

  • Dioda
Spesifikasi :


  • Transistor

Spesifikasi :


  • Resistor


Spesifikasi :


  • Sensor Suhu (LM35)

Spesifikasi :

Local sensor accuracy (max)         : 0.5, 1
Operating temperature range (°C) : -55 to 150
Supply voltage (min) (V)              : 4
Supply voltage (max) (V)              : 30
Supply current (max) (µA)            : 114
Interface type                                : Analog output
Sensor gain (mV/°C)                    : 10

  • Kapasitor


  • Spek :


    .

  • Potensiometer




    Spesifikasi:

  •  Induktor 




  • PH meter


Spesifikasi :

rentang pengukuran PH : 3,5 - 9 (3,5-6,5 asam, 7-9 alkali)
Dimensi Paket               : 12,6 x 4,2 x 1,2 inch
berat                               : 3,2 ons

  • Water Level Sensor

Spesifikasi :



  • Heater

Spesifikasi :

Ukuran  25 Watt untuk volume air kurang lebih 25 Liter
Ukuran  50 Watt untuk volume air kurang lebih 50 Liter
Ukuran  75 Watt untuk volume air kurang lebih 75 Liter
Ukuran 100 Watt untuk volume air kurang lebih 100 Liter
Ukuran 150 Watt untuk volume air kurang lebih 150 Liter
Ukuran 200 Watt untuk volume air kurang lebih 200 Liter
Ukuran 300 Watt untuk volume air kurang lebih 300 Liter

    4. Dasar Teori [ kembali ]

    • Arduino UNO



    • Arduino adalah platform perangkat keras (hardware) yang dirancang untuk memudahkan pengembangan dan prototyping proyek-proyek elektronik. Ini terdiri dari papan sirkuit cetak berukuran kecil yang dilengkapi dengan mikrokontroler dan sejumlah pin input/output yang dapat digunakan untuk menghubungkan sensor, aktuator, dan komponen elektronik lainnya.

      Mikrokontroler pada papan Arduino adalah otak utama yang mengontrol berbagai komponen yang terhubung dengannya. Papan Arduino biasanya dilengkapi dengan berbagai macam varian mikrokontroler dari berbagai produsen, seperti ATmega yang diproduksi oleh Microchip Technology. Meskipun demikian, Arduino lebih sering dikaitkan dengan platform open-source yang dikelola oleh Arduino.cc.

      Arduino memiliki beberapa komponen utama yang membentuk papan sirkuit mikrokontroler. Berikut adalah penjelasan tentang komponen-komponen utama Arduino:

      1. Mikrokontroler: Ini adalah otak utama dari Arduino yang melakukan semua operasi pengolahan data dan kontrol. Arduino menggunakan mikrokontroler sebagai pusat kendali, yang berfungsi untuk membaca input, menjalankan kode program, dan mengontrol output. Beberapa varian Arduino menggunakan mikrokontroler dari berbagai produsen, seperti ATmega yang diproduksi oleh Microchip Technology.
      2. Pin I/O: Arduino memiliki sejumlah pin input/output (I/O) yang digunakan untuk menghubungkan sensor, aktuator, dan komponen lainnya. Pin ini bisa berfungsi sebagai input untuk membaca data dari sensor atau output untuk mengontrol aktuator. Ada pin digital dan pin analog. Pin digital dapat berupa input atau output dengan nilai logika 0 (LOW) atau 1 (HIGH), sementara pin analog digunakan untuk membaca nilai analog seperti sensor suhu atau cahaya.
      3. Papan Sirkuit: Papan Arduino adalah substrat fisik tempat semua komponen terhubung. Papan ini biasanya terbuat dari bahan tahan lama dan dilengkapi dengan jalur tembaga yang menghubungkan komponen-komponen elektronik.
      4. Konektor USB: Banyak varian Arduino dilengkapi dengan konektor USB. Ini memungkinkan Anda untuk menghubungkan papan Arduino ke komputer, sehingga Anda dapat mengunggah kode program ke mikrokontroler dan berkomunikasi dengan papan melalui koneksi serial.
      5. Catu Daya: Arduino memerlukan catu daya untuk beroperasi. Ini bisa berasal dari komputer melalui kabel USB atau dari sumber daya eksternal seperti baterai atau adaptor listrik. Beberapa papan Arduino memiliki regulator tegangan yang memungkinkan papan menerima berbagai tingkat tegangan masukan.
      6. Konektor Listrik: Arduino umumnya memiliki pin header atau konektor yang memungkinkan Anda untuk menghubungkan kabel atau kawat ke pin I/O. Ini memudahkan Anda dalam menghubungkan sensor, aktuator, dan komponen lainnya ke papan Arduino.
      7. Kristal Osilator: Kristal osilator digunakan untuk menghasilkan sinyal osilasi yang diperlukan oleh mikrokontroler untuk menjalankan perhitungan waktu dan operasi lainnya.
      8. Tombol Reset: Tombol reset memungkinkan Anda untuk mengulang proses booting papan Arduino atau menghentikan eksekusi program yang sedang berjalan.
      9. Indikator LED: Beberapa varian Arduino memiliki indikator LED yang terhubung ke pin tertentu. LED ini dapat diatur dalam kode program untuk memberi tahu status atau kondisi papan, seperti aktif atau dalam mode tidur.

      Semua komponen ini bekerja bersama-sama untuk menciptakan platform Arduino yang kuat dan serbaguna untuk mengembangkan berbagai proyek elektronik dan pemrograman.

        • Sensor Suhu
        Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Sensor Suhu LM35 yang dipakai dalam penelitian ini berupa komponen elektronika elektronika yang diproduksi oleh National Semiconductor. LM35 memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan dengan sensor suhu yang lain, LM35 juga mempunyaikeluaran impedansi yang rendah dan linieritas yang tinggi sehingga dapat dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan.


        IC LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperature ruang. Jangka sensor mulai dari – 55°C sampai dengan 150°C, IC LM35 penggunaannya sangat mudah, difungsikan sebagai kontrol dari indicator tampilan catu daya terbelah. IC LM 35 dapat dialiri arus 60 μ A dari supplay sehingga panas yang ditimbulkan sendiri sangat rendah kurang dari 0 ° C di dalam suhu ruangan. Untuk mendeteksi suhu digunakan sebuah sensor suhu LM35 yang dapat dikalibrasikan langsung dalam C (celcius), LM35 ini difungsikan sebagai basic temperature sensor. 


        Prinsip Kerja LM35 :
        Sensor LM35 bekerja dengan mengubah besaran suhu menjadi besaran tegangan. Tegangan ideal yang keluar dari LM35 mempunyai perbandingan 100°C setara dengan 1 volt. Sensor ini mempunyai pemanasan diri (self heating) kurang dari 0,1°C, dapat dioperasikan dengan menggunakan power supply tunggal dan dapat dihubungkan antar muka (interface) rangkaian control.

        Sensor suhu LM35 mampu melakukan pengukuran suhu dari suhu -55ºC hingga +150ºC dengan toleransi kesalahan pengukuran ±0.5ºC.

        Dilihat dari tipenya range suhu dapat dilihat sebagai berikut :
        • LM35, LM35A -> range pengukuran temperature  -55ºC hingga +150ºC.
        • LM35C, LM35CA -> range pengukuran temperature -40ºC hingga +110ºC.
        • LM35D -> range pengukuran temperature 0ºC hingga +100ºC. 
        Kelebihan LM 35 :
        • Rentang suhu yang jauh, antara -55 sampai +150ºC
        • Low self-heating, sebesar 0.08 ºC
        • Beroperasi pada tegangan 4 sampai 30 V
        • Tidak memerlukan pengkondisian sinyal
        Kekurangan LM 35:
        • Membutuhkan tegangan untuk beroperasi.
        Pin out sensor suhu:

        Grafik:

      • Resistor

      Resistor merupakan salah satu komponen yang digunakan dalam sebuah sirkuit atau rangkaian elektronik. Resistor berfungsi sebagai resistansi/ hambatan yang mampu mengatur atau mengendalikan tegangan dan arus listrik rangkaian. Resistor mempunyai nilai resistansi (tahanan) tertentu yang dapat memproduksi tegangan listrik di antara kedua pin dimana nilai tegangan terhadap resistansi tersebut berbanding lurus dengan arus yang mengalir, berdasarkan persamaan hukum Ohm :

      • Transistor
      Transistor adalah alat semikonduktor yang dipakai sebagai penguat, sebagai sirkuit pemutus dan penyambung arus (switching), stabilisasi tegangan, dan modulasi sinyal. Transistor dapat berfungsi semacam kran listrik, di mana berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber listriknya. Kapasitor NPN memiliki simbol seperti gambar di bawah ini:


      Terdapat rumus rumus dalam mencari transistor seperti rumus di bawah ini:
      Rumus dari Transitor adalah :

      hFE = iC/iB

      dimana, iC = perubahan arus kolektor   

      iB = perubahan arus basis 

      hFE = arus yang dicapai


      Rumus dari Transitor adalah :


      Karakteristik Input
      Transistor adalah komponen aktif yang menggunakan aliran electron sebagai prinsip kerjanya didalam bahan. Sebuah transistor memiliki tiga daerah doped yaitu daerah emitter, daerah basis dan daerah disebut kolektor. Transistor ada dua jenis yaitu NPN dan PNP. Transistor memiliki dua sambungan: satu antara emitter dan basis, dan yang lain antara kolektor dan basis. Karena itu, sebuah transistor seperti dua buah dioda yang saling bertolak belakang yaitu dioda emitter-basis, atau disingkat dengan emitter dioda dan dioda kolektor-basis, atau disingkat dengan dioda kolektor.

      Bagian emitter-basis dari transistor merupakan dioda, maka apabila dioda emitter-basis dibias maju maka kita mengharapkan akan melihat grafik arus terhadap tegangan dioda biasa. Saat tegangan dioda emitter-basis lebih kecil dari potensial barriernya, maka arus basis (Ib) akan kecil. Ketika tegangan dioda melebihi potensial barriernya, arus basis (Ib) akan naik secara cepat.

      Pemberian bias 
              Ada beberapa macam rangkaian pemberian bias, yaitu: 
       1. Fixed bias yaitu, arus bias IB didapat dari VCC yang dihubungkan ke kaki B melewati tahanan R seperti gambar 58. Karakteristik Output.


      2.Self Bias adalah arus input didapatkan dari pemberian tegangan input VBB seperti gambar 60.


    • Sensor PH


    pH atau derajat keasaman digunakan untuk menyatakan tingkat keasaaman atau basa yang dimiliki oleh suatu zat, larutan atau benda. pH normal memiliki nilai 7 sementara bila nilai pH > 7 menunjukkan zat tersebut memiliki sifat basa sedangkan nilai pH< 7 menunjukkan keasaman. pH 0 menunjukkan derajat keasaman yang tinggi, dan pH 14 menunjukkan derajat kebasaan tertinggi.

    Pada prinsipnya pengukuran suatu pH adalah didasarkan pada potensial elektro kimia yang terjadi antara larutan yang terdapat didalam elektroda gelas (membran gelas) yang telah diketahui dengan larutan yang terdapat diluar elektroda gelas yang tidak diketahui. Hal ini dikarenakan lapisan tipis dari gelembung kaca akan berinteraksi dengan ion hidrogen yang ukurannya relatif kecil dan aktif, elektroda gelas tersebut akan mengukur potensial elektro kimia dari ion hidrogen. Untuk melengkapi sirkuit elektrik dibutuhkan elektroda pembanding. Sebagai catatan alat tersebut tidak mengukur arus tetapi hanya mengukur tegangan.

    Grafik respon PH sensor:

    • Water Sensor


    Sensor Water Level adalah sebuah sensor yang berfungsi untuk mendeteksi ketinggian suatu aliran baik berupa bahan liquid (cair). Fungsi level sensor pada dasarnya adalah memberikan informasi baik berupa data maupun sinyal karena adanya perubahan ketinggian dalam tanki dikarenakan adanya perubahan aliran dari material tersebut. Pengukuran ketinggian atau level ini bisa dilakukan secara terus menerus sesuai dengan perubahan. ketinggian dari fluida maupun untuk mengukur ketinggian dari material pada titik tertentu baik itu pada level rendah, menengah maupun level puncak menggunakan water level sensor. Jenis Level Sensor ini bermacam-macam disesuaikan dengan aplikasi dari material yang dideteksi dan wadah dari wadah yang tertutup berupa tanki, silo, ataupun ketinggian yang berubah seperti danau, sungai dan laut.

    Konfigurasi pin:
    Grafik respon:


    • Heater
      Heater, dalam konteks umum, merujuk pada perangkat yang dirancang untuk menghasilkan panas dan meningkatkan suhu dalam suatu ruangan atau sistem tertentu. Biasanya menggunakan elemen pemanas, seperti kawat pemanas atau elemen pemanas keramik, heater mengubah energi listrik menjadi panas yang dipancarkan ke sekitarnya. Penggunaan heater dapat bervariasi dari pemanas ruangan untuk kenyamanan termal di rumah atau kantor hingga aplikasi industri yang memerlukan kontrol suhu yang ketat. Selain itu, heater juga dapat menjadi bagian dari berbagai perangkat, termasuk peralatan laboratorium, mesin, atau alat elektronik yang memerlukan suhu tertentu untuk beroperasi secara optimal.

      Prinsip Kerja
      Prinsip kerja heater didasarkan pada konsep transformasi energi listrik menjadi panas. Biasanya, heater dilengkapi dengan elemen pemanas, seperti kawat pemanas atau elemen pemanas keramik, yang memiliki resistansi listrik tinggi. Ketika arus listrik mengalir melalui elemen pemanas ini, resistansi menyebabkan pemanasan, dan energi listrik diubah menjadi panas. Panas yang dihasilkan kemudian dipancarkan ke lingkungan sekitarnya, meningkatkan suhu di sekitar heater. Prinsip ini digunakan baik dalam pemanas ruangan konvensional maupun dalam berbagai aplikasi industri di mana kontrol suhu adalah faktor kritis. Beberapa heater juga dilengkapi dengan sensor suhu atau termostat untuk memantau dan mengatur suhu, memastikan kenyamanan atau kestabilan suhu yang diinginkan sesuai dengan kebutuhan pengguna atau spesifikasi aplikasi.

    5. Percobaan [ kembali ]

        a) Prosedur [ kembali ]

    1) Download library yang diperlukan pada bagian download dalam blog.     
    2) Buka proteus yang sudah diinstal untuk membuat rangkaian.
    3) Tambahkan komponen seperti Arduino, sensor, dan perangkat lainnya lalu susun menjadi rangkaian.
    4) Buka Arduino IDE yang sudah diinstal.
    5) Di Arduino IDE, pergi ke menu "File" > "Preferences".Pastikan opsi
    6) "Show verbose during compile" dicentang untuk mendapatkan informasi detail saat kompilasi.
    7) Salin kode program Arduino pada blog kemudian tempelkan program tadi ke Arduino IDE.
    8) Kompilasikan kode dengan menekan tombol "Verify" di Arduino IDE.
    9) Cari dan salin path file HEX yang dihasilkan selama proses kompilasi.
    10) Kembali ke Proteus dan pilih Arduino yang telah Anda tambahkan di rangkaian.
    11) Buka opsi "Program File" dan tempelkan path HEX yang telah Anda salin dari Arduino IDE.
    l2) Jalankan simulasi di Prot

        b) Hardware dan Diagram Blok [ kembali ]

        c) Rangkaian Simulasi dan Prinsip Kerja [ kembali ]

    • Rangkaian
    Rangkaian dalam keadaan mati



    Rangkaian dalam keadaaan hidup







    • Prinsip Kerja :

    Rangkaian ini berfungsi untuk mengontrol kolam ikan berdasarkan nilai-nilai yang didapat dari sensor suhu, tingkat air, dan pH. Ketika nilai suhu terlalu rendah (dibawah 24 derajat Celcius), pemanas diaktifkan untuk menaikkan suhu. Jika suhu melebihi batas atas (di atas 30 derajat Celcius), motor pengatur udara diaktifkan untuk pendinginan. Selain itu, jika suhu berada dalam rentang yang diinginkan, pemanas dan motor pengatur udara dimatikan.

    Untuk tingkat air, jika nilai yang terukur melebihi 77%, motor air diaktifkan untuk mengatur level air. Namun jika tingkat air tidak melebihi batas tersebut, motor air dimatikan untuk menjaga level air stabil.

    Kemudian, sensor pH mengukur tingkat keasaman. Jika nilai pH terlalu rendah (kurang dari 7.4), pengontrol pH naik diaktifkan untuk menaikkan nilai pH. Jika terlalu tinggi (lebih dari 9.6), pengontrol pH turun diaktifkan untuk menurunkan nilai pH. Namun jika nilai pH berada dalam rentang yang diinginkan, keduanya dimatikan.

        d) Flowchart dan Listing Code [ kembali ]

    • Flowchart

    • Listing code
    const int suhuPin = A3;
    const int waterLevelPin = A0;
    const int phMeterPin = A5;

    const int motorMotorPin = 0;
    const int heaterPin = 4;

    const int waterMotorPin = 2;
    const int phUpPin = 13;
    const int phDownPin = 11;

    const int batasBawah = 23;
    const int batasAtas = 30;

    void setup() {
      pinMode(motorMotorPin, OUTPUT);
      pinMode(heaterPin, OUTPUT);
      pinMode(waterMotorPin, OUTPUT);
      pinMode(phUpPin, OUTPUT);
      pinMode(phDownPin, OUTPUT);
    }

    void loop() {
      // Membaca nilai sensor suhu
      int suhuValue = analogRead(suhuPin);
      float suhuCelcius = suhuValue * (5.0 / 1023.0) * 100.0;

      // Membaca nilai sensor water level
      int waterLevelValue = analogRead(waterLevelPin);
      float waterPercentage = map(waterLevelValue, 0, 1023, 0, 100);

      // Membaca nilai sensor pH
      int phValue = analogRead(phMeterPin);
      float phReading = map(phValue, 0, 1023, 0, 14);

      // Kontrol suhu
      if (suhuCelcius < batasBawah) {
        digitalWrite(motorMotorPin, LOW);
        digitalWrite(heaterPin, HIGH);
      } else if (suhuCelcius > batasAtas) {
        digitalWrite(motorMotorPin, HIGH);
        digitalWrite(heaterPin, LOW);
      } else {
        digitalWrite(motorMotorPin, LOW);
        digitalWrite(heaterPin, LOW);
      }

      // Kontrol water level
      if (waterPercentage > 75) {
        digitalWrite(waterMotorPin, HIGH);
      } else {
        digitalWrite(waterMotorPin, LOW);
      }

      // Kontrol pH
      if (phReading < 6.5) {
        digitalWrite(phUpPin, HIGH);
        digitalWrite(phDownPin, LOW);
      } else if (phReading > 8.5) {
        digitalWrite(phUpPin, LOW);
        digitalWrite(phDownPin, HIGH);
      } else {
        digitalWrite(phUpPin, LOW);
        digitalWrite(phDownPin, LOW);
      }

      delay(1000); // Delay 1 detik untuk membaca ulang sensor
    }

        e) Video Demo [ kembali ]

    • Video Teori Sensor LM35


    • Video Teori Sensor PH

    • Video Teori Sensor Water




    • Video Teori Arduino


    • Teori Interrupts

        f) Kondisi [ kembali ]

    1. Kondisi Suhu:

    Jika nilai suhu kurang dari 24 derajat Celcius, maka pemanas diaktifkan untuk meningkatkan suhu. Jika nilai suhu melebihi 30 derajat Celcius, maka motor pengatur udara diaktifkan untuk menurunkan suhu. Jika nilai suhu berada antara 23 dan 30 derajat Celcius, pemanas dan motor pengatur udara dimatikan.

    2. Kondisi Tingkat Air:

    Jika nilai tingkat air melebihi 77%, maka motor air diaktifkan untuk mengatur level air. Jika tingkat air tidak melebihi 77%, motor air dimatikan untuk menjaga level air stabil.

    3. Kondisi pH:

    Jika nilai pH kurang dari 7.5, pengontrol pH naik diaktifkan untuk menaikkan nilai pH. Jika nilai pH lebih dari 9.6, pengontrol pH turun diaktifkan untuk menurunkan nilai pH. Jika nilai pH berada antara 7.5 dan 9.6, kedua pengontrol pH dimatikan untuk menjaga nilai pH dalam rentang yang diinginkan.

        g) Video Simulasi [ kembali ]

        h) Download file [ kembali ]

    Download HTML

    Download Rangkaian

    Download Listing Code

    Download Video Simulasi

    Download Datasheet:

    Download Library:






    Tidak ada komentar:

    Posting Komentar

    MODUL 4

      [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI     1. Pendahuluan     2. Tujuan     3. Alat dan Bahan     4. Dasar Teori     5. Perc...