- Membuat alat filtrasi minyak jelantah otomatis
- Membuat alat dengan menerapkan PWM, Mikrokontroller, Kkomunikasi, dan Sensor.
1. LDR
- Tegangan maksimum (DC) : 150 V
- Konsumsi Arus Maksimum : 100 mW
- Tingkatan Resistansi / Tahanan : 10 Ohm hingga 100k Ohm
- Puncak Spektral : 540 nm (ukuran gelombang cahaya)
- Waktu Respon Sensor : 20ms – 30 ms
- Suhu Operasi : -30o Celcius – 70o Celcius
2. Sensor Ultrasonik
- Tegangan : 5 VDC
- Arus : 15 mA
- Frekuensi Kerja : 40 KHz
- Jarak Minimum : 2 cm
- Jarak Maksimum : 400 cm (4 meter)
- Sudut Pengukuran : 15 Derajat
- Input Sinyal Trigger : 10uS pulsa TTL
- Output Sinyal Echo : Sinyal level TTL
- Dimensi : 45mm x 20 mm x 15 mm
3. Sensor MQ-2
Spesifikasi :
- Catu daya pemanas : 5V AC/DC
- Catu daya rangkaian : 5VDC
- Range pengukuran : 200 - 5000ppm untuk LPG, propane 300 - 5000ppm untuk butane 5000 - 20000ppm untuk methane 300 - 5000ppm untuk Hidrogen.
- Keluaran : analog (perubahan tegangan).
4. Arduino UNO
5. LCD 16 x 2
Spesifikasi :
- Tegangan operasi displat ini berkisar dari 4.7V hingga 5.3V.
- Bezel display adalah 72 x 25mm.
- Arus operasi adalah 1mA tanpa lampu latar.
- Warna LED untuk lampu latar adalah hijau atau biru.
- Jumlah kolom 16.
- Jumlah baris 2.
- Jumlah pin LCD 16.
- Ia bekerja dalam mode 4-bit dan 8-bit.
- Ukuran font karakter adalah lebar 0,125 x tinggi 0,200
6. Resistor 10k
Spesifikasi :
- Nilai resistansi : 10k Ohm
- Daya : 0.25 Watt / 0.5Watt
- Toleransi : 5%
- Jenis : film karbon
- Suhu kerja ; -55 – 150° C
- Polaritas : non polar
- Koefisien suhu : 350ppm/ °C
7. Ttransistor 2N2222A
Spesifikasi :
- Bi-Polar high current NPN Transistor
- DC Current Gain (hFE) is 100
- Continuous Collector current (IC) is 800mA
- Emitter Base Voltage (VBE) is 6V
- Collector Emitter Voltage (VCE) is 30V
- Base Current(IB) is 5mA maximum
- Available in To-92 Package
8. Motor pump DC
- Flow Rate : 80 ~ 120 L/H,
- Maximum Lift : 40 ~ 110 mm
- Operating Voltage : 6 ~ 9V
- Continuous Working Life : 500 hours
- Sold By Shoptron
9. Relay 5V
Spesifikasi :
- Input relay 5V DC
- Maksimum load 250VAC/10A 30VDC/10A
- Dilengkapi dengan optocoupler isolation untuk melindungi board microcontroller dari tegangan AC
- Memiliki LED indikator
- Menggunakan terminal block sehingga pemasangan kabel menjadi mudah
- Output keluaran 4 channel maksimal 10A
![](https://teknikelektronika.com/wp-content/uploads/2014/08/Baterai-Primer.jpg?x63439)
Baterai Primer atau Baterai sekali pakai ini merupakan baterai yang paling sering ditemukan di pasaran, hampir semua toko dan supermarket menjualnya. Hal ini dikarenakan penggunaannya yang luas dengan harga yang lebih terjangkau. Baterai jenis ini pada umumnya memberikan tegangan 1,5 Volt dan terdiri dari berbagai jenis ukuran seperti AAA (sangat kecil), AA (kecil) dan C (medium) dan D (besar). Disamping itu, terdapat juga Baterai Primer (sekali pakai) yang berbentuk kotak dengan tegangan 6 Volt ataupun 9 Volt.
![](https://teknikelektronika.com/wp-content/uploads/2014/08/Baterai-Sekunder.jpg?x63439)
![elemen baterai](https://i2.wp.com/anakbertanya.com/wp-content/uploads/2016/04/elemen-baterai-300x219.jpg?resize=300%2C219)
Setelah itu masih ada angka 1,5, 10, 15, maupun 20. Perpaduan antara huruf dan juga angka tersebut merupakan sebuah koordinat. Misalnya, A1, B1, sampai dengan E1 saling terkoneksi berdasarkan pola koneksinya (Bisa dilihat pada gambar berwarna biru). Sementara untuk A2 sampai dengan E2, A3 sampai dengan E3, F1 sampai dengan J1, dan seterusnya. Dengan memahami pola tersebut, maka kita nanti bisa membuat sebuah prototipe sehingga kita tidak bingung ketika harus menempatkan komponen-komponen elektronik tersebut sesuai dengan tempatnya masing-masing.
//MASTER #include <MQUnifiedsensor.h> #define Board ("Arduino UNO") #define Pin (A2) //Analog input 3 of your arduino #define Type ("MQ-2") //MQ2 #define Voltage_Resolution (5) #define ADC_Bit_Resolution (10) // For arduino UNO/MEGA/NANO #define RatioMQ2CleanAir (9.83) //RS / R0 = 9.83 ppm MQUnifiedsensor MQ2(Board, Voltage_Resolution, ADC_Bit_Resolution, Pin, Type); char jenisgas[6][10] = {"H2","LPG","CO","Alcohol","Propane"}; float gasA[6] = {987.99, 574.25 , 36974 , 3616.1 , 658.71 }; float gasB[6] = {-2.162, -2.222 , -3.109 , -2.675 , -2.168 }; int itemcheck = 2; byte ldr = A1; const int trigPin = 4; const int echoPin = 3; int nilai; long duration; // variabel untuk durasi perjalanan gelombang suara int distance; // variabel untuk pengukuran jarak void setup() //Semua kode dalam fungsi ini dieksekusi sekali { pinMode(trigPin, OUTPUT); // Menetapkan trigPin sebagai OUTPUT pinMode(echoPin, INPUT); // Menetapkan echoPin sebagai INPUTINPUT //Init the serial port communication - to debug the library Serial.begin(9600); //Init serial port //Set math model to calculate the PPM concentration and the value of constants MQ2.setRegressionMethod(1); //_PPM = a*ratio^b MQ2.setA(574.25); MQ2.setB(-2.222); // Configurate the ecuation values to get LPG concentration /* Exponential regression: Gas | a | b H2 | 987.99 | -2.162 LPG | 574.25 | -2.222 CO | 36974 | -3.109 Alcohol| 3616.1 | -2.675 Propane| 658.71 | -2.168 */ /********** MQ Init ***************/ //Remarks: Configure the pin of arduino as input. /****************************/ MQ2.init(); /* //If the RL value is different from 10K please assign your RL value with the following method: MQ2.setRL(10); */ /********** MQ CAlibration ***************/ // Explanation: // In this routine the sensor will measure the resistance of the sensor supposing before was pre-heated // and now is on clean air (Calibration conditions), and it will setup R0 value. // We recomend execute this routine only on setup or on the laboratory and save on the eeprom of your arduino // This routine not need to execute to every restart, you can load your R0 if you know the value // Acknowledgements: https://jayconsystems.com/blog/understanding-a-gas-sensor float calcR0 = 0; for(int i = 1; i<=10; i ++) { MQ2.update(); // Update data, the arduino will be read the voltage on the analog pin calcR0 += MQ2.calibrate(RatioMQ2CleanAir); } MQ2.setR0(calcR0/10);
if(isinf(calcR0)) {Serial.println("Warning: Conection issue founded, R0 is infite (Open circuit detected) please check your wiring and supply"); while(1);} if(calcR0 == 0){Serial.println("Warning: Conection issue founded, R0 is zero (Analog pin with short circuit to ground) please check your wiring and supply"); while(1);} /********** MQ CAlibration ***************/ //MQ2.serialDebug(true); } void loop() //Semua kode dalam fungsi ini dieksekusi berulang { MQ2.update(); // Update data, the arduino will be read the voltage on the analog pin float hasil = MQ2.readSensor(); // Sensor will read PPM concentration using the model and a and b values setted before or in the setup //MQ2.serialDebug(); // Will print the table on the serial port delay(500); //Sampling frequency nilai = analogRead(ldr); digitalWrite(trigPin, LOW); delayMicroseconds(2); // Menyetel trigPin TINGGI (AKTIF) selama 10 mikrodetik digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); // Menghitung jarak distance = duration * 0.034 / 2; if (distance <= 5) { Serial.print("1"); } else if (distance > 5) { if ((nilai >520)||(hasil > 5)) { Serial.print("2"); } else if ((nilai <= 490)&&(hasil <= 5)) { Serial.print("3"); } else if ((nilai <= 520)&&(nilai > 490)) { Serial.print("4"); } else { Serial.print("5"); } } } |
//SLAVE #include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Servo.h> #define pump 7 LiquidCrystal_I2C lcd (0x27,16,2); void setup() //Semua kode dalam fungsi ini dieksekusi sekali { pinMode(pump, OUTPUT); Serial.begin(9600); //Set baud rate 9600 lcd.begin(16,2); lcd.init(); lcd.backlight(); lcd.setCursor(0,0); lcd.print(" Alat Filter "); lcd.setCursor(0,1); lcd.print("Minyak Otomatis"); } void loop() //Semua program dalam fungsi ini dieksekusi berulang { if (Serial.available() > 0) { int data = Serial.read(); Serial.println(data); if (data == '1') //Jika data yang dikirimkan berlogika { lcd.setCursor(0,0); lcd.print("Hasil Filter: "); lcd.setCursor(0,1); lcd.print("Minyak Berlebih"); } else if (data == '2') //Jika data yang dikirimkan berlogika { lcd.setCursor(0,0); lcd.print("Hasil Filter: "); lcd.setCursor(0,1); lcd.print("Minyak Jelek "); digitalWrite(pump,HIGH); } else if (data == '3') //Jika data yang dikirimkan berlogika { lcd.setCursor(0,0); lcd.print("Hasil Filter: "); lcd.setCursor(0,1); lcd.print("Minyak Bagus "); digitalWrite(pump,LOW); } else { lcd.setCursor(0,1); lcd.print(""); } } } |
MASTER
- HARDWARE
- VIDEO
Tidak ada komentar:
Posting Komentar