Sabtu, 22 Februari 2020

Kipas Otomatis Dengan Sensor Suhu LM35

Assalamuallaikum Wr.Wb.

Kali ini saya akan memberi sedikit Penjelasan tentang Arduino ,dan juga Project saya kali ini.


Arduino adalah pengendali mikro single-board yang bersifat sumber terbuka, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Perangkat kerasnya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri.


Arduino juga merupakan senarai perangkat keras terbuka yang ditujukan kepada siapa saja yang ingin membuat purwarupa peralatan elektronik interaktif berdasarkan hardware dan software yang fleksibel dan mudah digunakan. Mikrokontroler diprogram menggunakan bahasa pemrograman arduino yang memiliki kemiripan syntax dengan bahasa pemrograman C. Karena sifatnya yang terbuka maka siapa saja dapat mengunduh skema hardware arduino dan membangunnya.


Arduino menggunakan keluarga mikrokontroler ATMega yang dirilis oleh Atmel sebagai basis, namun ada individu/perusahaan yang membuat clone arduino dengan menggunakan mikrokontroler lain dan tetap kompatibel dengan arduino pada level hardware. Untuk fleksibilitas, program dimasukkan melalui bootloader meskipun ada opsi untuk mem-bypass bootloader dan menggunakan pengunduh untuk memprogram mikrokontroler secara langsung melalui port ISP.





Sejarah Singkat


Semuanya berawal dari sebuah thesis yang dibuat oleh Hernando Barragan, di Institute IvreaItalia pada tahun 2005, dikembangkan oleh Massimo Banzi dan David Cuartielles dan diberi nama Arduin of Ivrea. Lalu diganti nama menjadi Arduino yang dalam bahasa Italia berarti teman yang berani.

Tujuan awal dibuat Arduino adalah untuk membuat perangkat mudah dan murah, dari perangkat yang ada saat itu. Dan perangkat tersebut ditujukan untuk para siswa yang akan membuat perangkat desain dan interaksi.

Harga terjangkauSaat ini tim pengembangnya adalah Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis, dan Nicholas Zambetti. Mereka mengupayakan 4 hal dalam Arduino ini, yaitu:


  1. Dapat dijalankan diberbagai sistem operasi, Windows, Linux, Mac, dan sebagainya.
  2. Sederhana, dengan bahasa pemograman yang mudah bisa dipelajari orang awam, bukan untuk orang teknik saja.
  3. Open Source, hardware maupun software.

Sifat Arduino yang Open Source, membuat Arduino berkembang sangat cepat. Sehingga banyak lahir perangkat-perangkat sejenis Arduino. Seperti DFRDuino atau Freeduino, sedangkan untuk lokal ada CipaDuino yang dibuat oleh SKIR70, lalu ada MurmerDuino yang dibuat oleh Robot Unyil, ada lagi AViShaDuino yang salah satu pembuatnya adalah Admin Kelas Robot.

Sampai saat ini pihak resmi, sudah membuat berbagai jenis-jenis Arduino. Mulai dari yang paling mudah dicari dan paling banyak digunakan, yaitu Arduino Uno. Hingga Arduino yang sudah menggunakan ARM Cortex, berbentuk Mini PC. Hingga saat ini sudah ada ratusan ribu Arduino yang digunakan digunakan di dunia sejak tahun 2011. Arduino juga sudah dipakai oleh perusahaan-perusahaan besar, contohnya Google menggunakan Arduino untuk Accessory Development Kit, NASA memakai Arduino untuk prototypin, ada lagi Large Hadron Colider memakai Arduino dalam beberapa hal untuk pengumpulan data.

Banyak yang bertanya Arduino ini sebenarnya menggunakan bahasa pemprograman apa? Arduino sebenarnya menggunakan bahasa C, yang sudah disederhanakan. Sehingga orang awam pun bisa menjadi seniman digital, bisa mempelajari Arduino dengan mudahnya.


Bahan yang kami pakai untuk project ini adalah :

1. LM35.
Image result for lm35
LM35 adalah komponen sensor suhu berukuran kecil seperti transistor (TO-92), komponen yang sangat mudah digunakan ini mampu mengukur suhu hingga 100 derajad celcius. 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 mempunyai keluaran impedansi yang rendah dan linieritas yang tinggi sehingga dapat dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan. Dengan tegangan keluaran yang terskala linear dengan suhu terukur, yakni 10 milivolt per 1 derajad celcius. 

Meskipun tegangan sensor ini dapat mencapai 30 volt akan tetapi yang diberikan kesensor adalah sebesar 5 volt, sehingga dapat digunakan dengan catu daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60 µA hal ini berarti LM35 mempunyai kemampuan menghasilkan panas (selfheating) dari sensor yang dapat menyebabkan kesalahan pembacaan yang rendah yaitu kurang dari 0,5 ºC pada suhu 25 ºC. Aplikasi-aplikasi seperti thermometer ruang digital, mesin pasteurisasi, atau termometer badan digital.


2. NodeMcu.

Image result for nodemcu


ESP8266 merupakan modul wifi yang berfungsi sebagai perangkat tambahan mikrokontroler seperti Arduino agar dapat terhubung langsung dengan wifi dan membuat koneksi TCP/IP.
Modul ini membutuhkan daya sekitar 3.3v dengan memiliki tiga mode wifi yaitu Station, Access Point dan Both (Keduanya). Modul ini juga dilengkapi dengan prosesor, memori dan GPIO dimana jumlah pin bergantung dengan jenis ESP8266 yang kita gunakan. Sehingga modul ini bisa berdiri sendiri tanpa menggunakan mikrokontroler apapun karena sudah memiliki perlengkapan layaknya mikrokontroler.
Firmware default yang digunakan oleh perangkat ini menggunakan AT Command, selain itu ada beberapa Firmware SDK yang digunakan oleh perangkat ini berbasis opensource yang diantaranya adalah sebagai berikut :
  • NodeMCU dengan menggunakan basic programming lua
  • MicroPython dengan menggunakan basic programming python
  • AT Command dengan menggunakan perintah perintah AT command
Untuk pemrogramannya sendiri kita bisa menggunakan ESPlorer untuk Firmware berbasis NodeMCU dan menggunakan putty sebagai terminal control untuk AT Command.

3. Relay.
Image result for relay
Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen Electromechanical (Elektromekanikal) yang terdiri dari 2 bagian utama yakni Elektromagnet (Coil) dan Mekanikal (seperangkat Kontak Saklar/Switch). 
Relay menggunakan Prinsip Elektromagnetik untuk menggerakkan Kontak Saklar sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan listrik yang bertegangan lebih tinggi. Sebagai contoh, dengan Relay yang menggunakan Elektromagnet 5V dan 50 mA mampu menggerakan Armature Relay (yang berfungsi sebagai saklarnya) untuk menghantarkan listrik 220V 2A.

4. Lcd I2C.
Image result for lcd i2c
LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit. LCD (Liquid Cristal Display) berfungsi sebagai penampil data baik dalam bentuk karakter, huruf, angka ataupun grafik.
Image result for lcd i2c
Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Piranti yang dihubungkan dengan sistem I2C Bus dapat dioperasikan sebagai Master dan SlaveMaster adalah piranti yang memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyal Stop, dan membangkitkan sinyal clockSlave adalah piranti yang dialamati master.

SCRIPT PEMROGRAMAN
#include <ESP8266WiFi.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
String apiWritekey = "15TJAQ4GYEX6BY5T"; // replace with your THINGSPEAK WRITEAPI key here
const char* ssid = "RezaF"; // your wifi SSID name
const char* password = "muhammadreza" ;// wifi pasword 
const char* server = "api.thingspeak.com";
//float resolution=3.3/1024;// 3.3 is the supply volt  & 1023 is max analog read value
float temp;
WiFiClient client;
int relay = D7;
void setup() {
  lcd.begin(16,2);
lcd.backlight();
  pinMode(relay,OUTPUT);
  Serial.begin(115200);
  WiFi.disconnect();
  delay(10);
  WiFi.begin(ssid, password);
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("NodeMcu connected to wifi...");
  Serial.println(ssid);
  Serial.println();
}
void loop() {
  //float temp = (analogRead(A0) * resolution) * 72;
  temp = (analogRead(A0));
  temp = (3.3*temp*83/1024.0);
  if (temp > 30.49){
    digitalWrite(relay,HIGH);
  }  else if (temp <= 30.49){
    digitalWrite(relay,LOW);
  }   
  if (client.connect(server,80))
  {  
    String tsData = apiWritekey;
           tsData +="&field1=";
           tsData += String(temp);
           tsData += "\r\n\r\n";
     client.print("POST /update HTTP/1.1\n");
     client.print("Host: api.thingspeak.com\n");
     client.print("Connection: close\n");
     client.print("X-THINGSPEAKAPIKEY: "+apiWritekey+"\n");
     client.print("Content-Type: application/x-www-form-urlencoded\n");
     client.print("Content-Length: ");
     client.print(tsData.length());
     client.print("\n\n");  // the 2 carriage returns indicate closing of Header fields & starting of data
     client.print(tsData);
      lcd.setCursor(0,0);
     lcd.print("Temperature: ");
     lcd.setCursor(0,1);
     lcd.print(           temp);
     Serial.print("Temperature: ");
     Serial.print(temp);
     delay(1000);
     if(temp > 30.49){
    lcd.setCursor(0,1);
    lcd.print("     KIPAS NYALA");
    delay(1000);
    lcd.setCursor(0,1);
    lcd.print("                ");
  }
  }
  client.stop();
 Serial.println("    Waiting to upload next reading 15 Second Left...");
  Serial.println();
  // thingspeak needs minimum 15 sec delay between updates
  delay(2000);
}
Selanjutnya Tinggal Percobaan.




Sekian Untuk Penjelasan Tentang Arduino Dan Project Sensor Suhu Ini.
Kalau Ada Salah Kata Mohon Dimaafkan.
Akhir Kata

Assalamuallaikum Wr.Wb.

Selasa, 12 November 2019

Konfigurasi Mangle dan Queue Tree

Pengertian Mangle 
Mangle adalah suatu cara yang digunakan untuk menandai atau mark paket data dan suatu koneksi yang bisa diterapkan pada fitur fitur mikrotik yang lain, contoh pada routes, pemisahan bandwidth pada queues, NAT dan filter rules. mangle pada mikrotik hanya dapat dipakai pada mikrotik itu sendiri. Dan yang penting proses pembacaan rule mangle ini dilakukan secara urut dari pertama sampai bawah.

Pengertian Queue Tree
Queue Tree adalah salah satu fitur yang terdapat dalam mikrotik yang digunakan untuk mengatur jumlah bandwidth. Berfungsi untuk mengimplementasikan fungsi yang lebih komplex dalam limit bandwidth. Biasanya digunakan oleh admin warnet untuk membatasi satu arah koneksi untuk download maupun untuk upload.

Kita akan mencoba untuk menkonfigurasi contoh soal di bawah ;



bisa dilihat digambar bahwa ;
ether1-warnet dengan ip 200.100.10.1/29, klien menggunakan ip statik
ether2-kantor dengan ip 200.100.11.1/29, klien menggunakan ip statik

kita akan membatasi klient ether1 ip 2 s/d 6 dengan queue tree per host nya untuk upload 128k dan download 128k.

begitpun juga dengan ether2.

akan membatasi klient ether2 ip 2 s/d 6 dengan queue tree per host nya untuk upload 150k dan download 150k.

NB: maksud huruf k disini adalah kb/s atau bisa dibilang 150kb/s.


Cara Konfigurasi :
Saya akan menkonfigurasi menggunakan script. Untuk cara memakai script di Winbox caranya mudah kalian hanya perlu klik "New Terminal" di Winbox kalian ,lalu pastekan script.

Ini adalah script untuk konfigurasi;

Mangle Mark Connect :

WARNET/ETH1
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no new-connection-mark=eth1_pc1 passthrough=yes src-address=200.100.10.2
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no new-connection-mark=eth1_pc2 passthrough=yes src-address= 200.100.10.3
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no new-connection-mark=eth1_pc3 passthrough=yes src-address= 200.100.10.4
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no new-connection-mark=eth1_pc4 passthrough=yes src-address= 200.100.10.5
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no new-connection-mark=eth1_pc5 passthrough=yes src-address= 200.100.10.6

KANTOR/ETH2
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no new-connection-mark=eth2_pc1 passthrough=yes src-address=200.100.11.2
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no new-connection-mark=eth2_pc2 passthrough=yes src-address= 200.100.11.3
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no new-connection-mark=eth2_pc3 passthrough=yes src-address= 200.100.11.4
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no new-connection-mark=eth2_pc4 passthrough=yes src-address= 200.100.11.5
/ip firewall mangle add action=mark-connection chain=prerouting disabled=no new-connection-mark=eth2_pc5 passthrough=yes src-address= 200.100.11.6


Mangle Mark Paket :

WARNET/ETH1
/ip firewall mangle add action=mark-packet chain=prerouting connection-mark=eth1_pc1 disabled=no new-packet-mark=et1_pc1 passthrough=yes
/ip firewall mangle add action=mark-packet chain=prerouting connection-mark=eth1_pc2 disabled=no new-packet-mark=et1_pc2 passthrough=yes
/ip firewall mangle add action=mark-packet chain=prerouting connection-mark=eth1_pc3 disabled=no new-packet-mark=et1_pc3 passthrough=yes
/ip firewall mangle add action=mark-packet chain=prerouting connection-mark=eth1_pc4 disabled=no new-packet-mark=et1_pc4 passthrough=yes
/ip firewall mangle add action=mark-packet chain=prerouting connection-mark=eth1_pc5 disabled=no new-packet-mark=et1_pc5 passthrough=yes

KANTOR/ETH2
/ip firewall mangle add action=mark-packet chain=prerouting connection-mark=eth2_pc1 disabled=no new-packet-mark=et2_pc1 passthrough=yes
/ip firewall mangle add action=mark-packet chain=prerouting connection-mark=eth2_pc2 disabled=no new-packet-mark=et2_pc2 passthrough=yes
/ip firewall mangle add action=mark-packet chain=prerouting connection-mark=eth2_pc3 disabled=no new-packet-mark=et2_pc3 passthrough=yes
/ip firewall mangle add action=mark-packet chain=prerouting connection-mark=eth2_pc4 disabled=no new-packet-mark=et2_pc4 passthrough=yes
/ip firewall mangle add action=mark-packet chain=prerouting connection-mark=eth2_pc5 disabled=no new-packet-mark=et2_pc5 passthrough=yes

Queue Tree Induk :

WARNET/ETH1
/queue tree add max-limit=128k name=warnet-down parent=ether1 priority=8
/queue tree add max-limit=128k name=warnet-up parent=wlan1 priority=8

KANTOR/ETH2
/queue tree add max-limit=128k name=kantor-down parent=ether2 priority=8
/queue tree add max-limit=128k name=kantor-up parent=wlan1 priority=8


Queue Tree perhost :

WARNET/ETH1
UPLOAD
/queue tree add limit-at=64k max-limit=128k name=pc1-up packet-mark=et1_pc1 parent=warnet-up
/queue tree add limit-at=64k max-limit=128k name=pc2-up packet-mark=et1_pc2 parent=warnet-up
/queue tree add limit-at=64k max-limit=128k name=pc3-up packet-mark=et1_pc3 parent=warnet-up
/queue tree add limit-at=64k max-limit=128k name=pc4-up packet-mark=et1_pc4 parent=warnet-up
/queue tree add limit-at=64k max-limit=128k name=pc5-up packet-mark=et1_pc5 parent=warnet-up
DOWNLOAD
/queue tree add limit-at=64k max-limit=128k name=pc1-down packet-mark=et1_pc1 parent=warnet-down
/queue tree add limit-at=64k max-limit=128k name=pc2-down packet-mark=et1_pc2 parent=warnet-down /queue tree add limit-at=64k max-limit=128k name=pc3-down packet-mark=et1_pc3 parent=warnet-down
/queue tree add limit-at=64k max-limit=128k name=pc4-down packet-mark=et1_pc4 parent=warnet-down
/queue tree add limit-at=64k max-limit=128k name=pc5-down packet-mark=et1_pc5 parent=warnet-down

KANTOR/ETH2
UPLOAD
/queue tree add limit-at=64k max-limit=150k name=pc1-2-up packet-mark=et2_pc1 parent=kantor-up
/queue tree add limit-at=64k max-limit=150k name=pc2-2-up packet-mark=et2_pc2 parent=kantor-up
/queue tree add limit-at=64k max-limit=150k name=pc3-2-up packet-mark=et2_pc3 parent=kantor-up
/queue tree add limit-at=64k max-limit=150k name=pc4-2-up packet-mark=et2_pc4 parent=kantor-up
/queue tree add limit-at=64k max-limit=150k name=pc5-2-up packet-mark=et2_pc5 parent=kantor-up
DOWNLOAD
/queue tree add limit-at=64k max-limit=150k name=pc1-2-down packet-mark=et2_pc1 parent=kantor-down
/queue tree add limit-at=64k max-limit=150k name=pc2-2-down packet-mark=et2_pc2 parent=kantor-down
/queue tree add limit-at=64k max-limit=150k name=pc3-2-down packet-mark=et2_pc3 parent=kantor-down
/queue tree add limit-at=64k max-limit=150k name=pc4-2-down packet-mark=et2_pc4 parent=kantor-down
/queue tree add limit-at=64k max-limit=150k name=pc5-2-down packet-mark=et2_pc5 parent=kantor-down


Uji Coba;
Cara uji coba adalah dengan memberi ip static di pc.Dan coba untuk membuka www.youtube.com



ETHER1/WARNET

1. IP 200.100.10.2

2. IP 200.100.10.3


3. IP 200.100.10.4


4. IP 200.100.10.5


5. IP 200.100.10.6




ETHER2/KANTOR

1. IP 200.100.11.2


2. IP 200.100.11.3


3. IP 200.100.11.4


4. IP 200.100.11.5


5. IP 200.100.11.6


Dan itu adalah hasil nya.
Mungkin itu saja yang bisa saya beritahu.
Terima Kasih.
Assalamualaikum Wr.Wb

Kipas Otomatis Dengan Sensor Suhu LM35

Assalamuallaikum Wr.Wb. Kali ini saya akan memberi sedikit Penjelasan tentang Arduino ,dan juga Project saya kali ini. Arduino  adalah...