Reading Requirement:
-
Register (Geeknesia)
-
Create Project (Geeknesia)
-
Create Gateway (Geeknesia)
- Create device (Geeknesia)
Pada project ini akan membahas tentang pengaplikasian Flex Sensor + Arduino dan Geeknesia sebagai Monitoring System. Smart Fishing Monitoring System adalah aplikasi yang dipasang pada sebuah alat pancing yang dimana pada saat memancing ikan akan memberikan sinyal berupa indikator Led, buzzer, dan status di Geeknesia.
Gambaran aplikasi
Pada gambar di atas terlihat sensor dipasang pada ujung alat pancing, jadi ketika alat pancing melengkung Flex Sensor pun ikut melengkung sehingga merubah nilai resistansi dari sensor, fungsi Led dan Buzzer untuk memberikan sinyal bahwa alat pancing bereaksi atau tertarik oleh ikan, maka ketika seseorang memancing dengan banyak alat pancing, orang tersebut akan sangat terbantu, dan bisa cepat mengambil tindakan karena orang tersebut akan tahu mana alat pancing yang bereaksi dan mana yang tidak, dengan acuan LED, Buzzer, dan Geeknesia. Pada project ini kontroler yang dipakai harusnya berukuran kecil, untuk menyesuaikan penempatan komponen pada alat pancing, bisa menggunakan Esp8266 atau kontroler lainnya, namun pada tutorial ini hanya memberikan contoh simulasi project yang dimaksud, dengan menggunakan Arduino UNO.
Alat dan Bahan yang diperlukan:
- Arduino UNO + Ethernet Shield
- Flex Sensor
- Led
- Buzzer
- Resistor 220 ohm dan 3k3 ohm
- Kabel LAN
- Kabel Jumper
Arduino Uno
|
Ethernet Shield
|
Flex Sensor
|
Led
|
Buzzer
|
Resistor
|
Kabel LAN
|
Kabel Jumper
|
Flex Sensor Pinout
Ikuti Tahap-tahap berikut ini:
Tahap 1
Pastikan anda sudah membuat Project, Gateway, dan Device pada akun Geeknsia anda.
Tahap 2
Rangkai komponen yang telah disiapkan, seperti gambar di bawah ini:
Tahap 3
Buatlah script Arduino seperti di bawah ini:
Script
#include <SPI.h> #include <Ethernet.h> #include <PubSubClient.h> const int ledPin = 5; //pin 5 has PWM funtion const int flexPin = A0; //pin A0 to read analog input const int outpin = 2; int value; int value1; String flag; // Update these with values suitable for your network. byte mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xDE }; byte ip[] = { 192, 168, 2, 30 }; byte dns2[] = { 8,8,8,8}; byte gateway[] = { 192, 168, 2, 1 }; char pubschar1 [20]; char message_buff[200]; EthernetClient ethClient; PubSubClient client("geeknesia.com", 1883, callback, ethClient); void callback(char* topic, byte* payload, unsigned int length) { } // device details char *deviceId = "device-4407e1d312d262e32f03e1e66xxxxxxx"; char *deviceUsername = "e37fe287911430fe7312be64exxxxxxx"; char *devicePassword = "b75572b99c386b9a937bd7378xxxxxxx"; String deviceCredential = String(deviceUsername) + ":" + String(devicePassword); void senddata(char* topic,String credential, char *var1, String nilai1 ){ String pubString = "{\"code\":\""; pubString += credential; pubString +="\","; pubString +="\"attributes\":{\""; pubString +=String(var1)+"\":\""+nilai1+"\""; pubString +="}}"; char message_buff[pubString.length()+1]; pubString.toCharArray(message_buff, pubString.length()+1); client.publish("iot/data",message_buff); } void setup(){ Ethernet.begin(mac, ip,dns2,gateway); pinMode(ledPin, OUTPUT); pinMode(outpin, OUTPUT); Serial.begin(9600); } void loop(){ client.publish("iot/live",deviceId); if (!client.connected()){ client.connect(deviceId,NULL,NULL,"iot/will",2,64,deviceId); } value = analogRead(flexPin); Serial.println(value); value1 = map(value, 700, 900, 0, 255); //Map value 0-1023 to 0-255 (PWM) analogWrite(ledPin, value1); //Send PWM value to led if (value>=950){ flag="Fish ON"; digitalWrite(outpin, HIGH); } else{ flag="No Fish"; digitalWrite(outpin, LOW); } senddata(deviceId,deviceCredential,"Pancingan", flag); delay(500); }
Sesuaikan script di atas dengan data-data yang anda miliki.
Yang perlu diganti pada script di atas:
- Ganti settingan koneksi seperti IP Address dan IP Gateway.
- Masukan Device ID, Username, dan Password project Geeknesia anda.
- Kemudian upload script yang telah dibuat ke arduino yang telah disiapkan.
Tahap 4
Buka kembali Geeknesia Project yang telah dibuat sebelumnya, kemudian lakukan lah pengetesan pada hardware atau sensor yang telah tehubung dengan Analog Input Arduino.
Tes pertama : Biarkan sensor atau hardware dalam posisi normal (tanpa disentuh).
Ini adalah gambar pada saat posisi normal.
Tes berikutnya : Tarik atau lengkungkan bagian sensor, yang mensimulasikan bahwa alat pancing tertarik oleh ikan, seperti gambar di bawah ini.
Ini adalah gambar ketika sensor ditarik atau dilengkungkan.
Pin PWM Output Arduino => D3,D5,D6,D9,D10, dan D11.