Membuat Alat Buka Tutup Pagar dan Door LOck Menggunakan Fingerprint dan ARDUINO - BASCOM AVR
Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat alat untuk simulasi buka-tutup pagar atau pintu menggunakan fingerprint dan ARDUINO sebagai decoder fingerprint. untuk pengolahan data pada alat ini menggunakan mikrokontroller ATMega16 yang mana menggunakan bahasa BASIC / BASCOM. alat ini dilengkapi dengan LCD dan sebuah tombol untuk keluar. kemudian driver motor dan driver solenoid doorlocknya. untuk lebih jelasnya berikut skema dan program dari alat ini.
// set the data rate for the sensor serial port finger.begin(57600);
if (finger.verifyPassword()) { Serial.println("Found fingerprint sensor!"); } else { Serial.println("Did not find fingerprint sensor :("); while (1); } Serial.println("Waiting for valid finger..."); }
void loop() // run over and over again { getFingerprintIDez(); delay(50); //don't ned to run this at full speed. }
uint8_t getFingerprintID() { uint8_t p = finger.getImage(); switch (p) { case FINGERPRINT_OK: Serial.println("Image taken"); break; case FINGERPRINT_NOFINGER: Serial.println("No finger detected"); return p; case FINGERPRINT_PACKETRECIEVEERR: Serial.println("Communication error"); return p; case FINGERPRINT_IMAGEFAIL: Serial.println("Imaging error"); return p; default: Serial.println("Unknown error"); return p; }
// OK success!
p = finger.image2Tz(); switch (p) { case FINGERPRINT_OK: Serial.println("Image converted"); break; case FINGERPRINT_IMAGEMESS: Serial.println("Image too messy"); return p; case FINGERPRINT_PACKETRECIEVEERR: Serial.println("Communication error"); return p; case FINGERPRINT_FEATUREFAIL: Serial.println("Could not find fingerprint features"); return p; case FINGERPRINT_INVALIDIMAGE: Serial.println("Could not find fingerprint features"); return p; default: Serial.println("Unknown error"); return p; }
// OK converted! p = finger.fingerFastSearch(); if (p == FINGERPRINT_OK) { Serial.println("Found a print match!"); } else if (p == FINGERPRINT_PACKETRECIEVEERR) { Serial.println("Communication error"); return p; } else if (p == FINGERPRINT_NOTFOUND) { Serial.println("Did not find a match"); return p; } else { Serial.println("Unknown error"); return p; }
// found a match! Serial.print("Found ID #"); Serial.print(finger.fingerID); Serial.print(" with confidence of "); Serial.println(finger.confidence); }
// returns -1 if failed, otherwise returns ID # int getFingerprintIDez() { uint8_t p = finger.getImage(); if (p != FINGERPRINT_OK) return -1;
p = finger.image2Tz(); if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch(); if (p != FINGERPRINT_OK) return -1;
// found a match! Serial.print("Found ID #"); Serial.print(finger.fingerID); Serial.print(" with confidence of "); Serial.println(finger.confidence); return finger.fingerID;
Dim Data_masuk As String * 100 Dim Cmti_pos As Byte , Cmgr_pos As Byte , Index_pos As Byte , Cmd_pos As Byte Dim Pjg_sms_index As Byte , Pjg_data As Byte Dim Sms_index As String * 3 Dim Cmd As String * 5 Dim Cmdbin As Byte Dim A As Integer
Membuat Alat Counter UP dan Counter DOWN Menggunakan Input Tegangan 24 Volt / PLC
Kali ini saya akan mejelaskan mengenai bagaimana cara membuat alat COUNTER UP dan COUNTER DOWN dengan input 24 volt atau kurang, jadi prinsip kerjanya begini jika ada tegangan masuk yaitu lebih dari 10 volt - 24 volt maka akan COUNTER DOWN, jika ingin COUNTER UP maka posisikan switch ke mode LOW. jika ingin COUNTER DOWN posisikan ke mode HIGH. di alat ini terdapat fitur eeprom jadi jika lampu mati, data yang terakhir akan ter-load kembali.
If Dataadc1 < 1000 And Dataadc5 > 1000 Then Waitms 200 A = A - 1
If A < 1 Then A = 0 End If End If
If Dataadc1 < 1000 And Dataadc5 < 1000 Then Waitms 200 A = A + 1
If A > 8 Then A = 8 End If End If
If Dataadc2 < 1000 And Dataadc5 > 1000 Then Waitms 200 B = B - 1
If B < 1 Then B = 0 End If End If
If Dataadc2 < 1000 And Dataadc5 < 1000 Then Waitms 200 B = B + 1
If B > 8 Then B = 8 End If End If
If Dataadc3 < 1000 And Dataadc5 > 1000 Then Waitms 200 C = C - 1
If C < 1 Then C = 0 End If End If
If Dataadc3 < 1000 And Dataadc5 < 1000 Then Waitms 200 C = C + 1
If C > 8 Then C = 8 End If End If
If Dataadc4 < 1000 And Dataadc5 > 1000 Then Waitms 200 D = D - 1
If D = 9 And Mark = 1 Then Cls Mark = 2 End If
If D < 1 Then D = 0 End If
End If
If Dataadc4 < 1000 And Dataadc5 < 1000 Then Waitms 200 D = D + 1
If D = 10 And Mark = 2 Then Mark = 1 End If
If D > 24 Then D = 24 End If
End If
If Pinb.3 = 0 Then Goto Simpan End If
Ax = A Bx = B Cx = C Dx = D
Loop
c. Cara Menggunakan Alat
Untuk menggunakan Alat ini yaitu pertama hubungkan alat dengan suplai diatas 5 volt, kemudian di tampilan LCD akan tertulis nilai awal. tekan tombol SET kemudian akan terisi nilai 8, 8, 8, 24. pada PIN SCREW hubungkan ke PLC atau device yang lainnya. jika ada input 24 volt atau kurang maka akan counter UP jika mode switch HIGH. jika mode switch LOW maka akan counter DOWN. begitu seterusnya.
MENGAKSES NEC REMOTE DVD / MP3 IR INFRARED MENGGUNAKAN ARDUINO
Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara mengakses NEC REMOTE DVD / MP3 menggunakan Arduino. prinsip kerja alat ini yaitu menampilkan nilai dari remote NEC ke serial monitor dan juga mengendalikan led menggunakan Remote NEC. Pengembangan lebih lanjut dari alat ini yaitu bisa diaplikasikan untuk kendali lampu rumah, kipas angin dan lainnya menggunakan NEC Remote. untuk skema dan programnya seperti berikut.
void loop(void) { // You can set the listen() time out to 'n' seconds int c = remote.listen(5); // seconds to wait before timing out! // Or you can wait 'forever' for a valid code //int c = remote.listen(); // Without a #, it means wait forever
Membuat Alat Kendali Dengan NEC REMOTE MP3 / DVD IR Infrared BASCOM AVR
Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara mengakses REMOTE DVD / MP3 Menggunakan mikrokontroller ATMega dan bahasa Basic Bascom AVR. Prinsip kerja alat ini sederhana saja. yaitu menampilkan nilai dari remote ke serial monitor. Alat ini bisa digunakan untuk kendali device lain seperti TV, lampu rumah. kipas angin dan lainnya. untuk lebih jelasnya berikut adalah skema dan programnya.
a. Minimum System
b. IR Infrared Sensor / TSOP
c. REMOTE DVD / MP3
d. Rangkaian RS232
e. Program Bascom AVR
'sumber=http://www.mcselec.com/index.php?option=com_content&task=view&id=223&Itemid=57 $regfile = "m8def.dat" $crystal = 8000000 'Internal RC oscillator 8 MHz $baud = 9600 Config Pind.2 = Input 'Config Portc.2 = Output Config Timer0 = Timer , Prescale = 256 '8000000/256=31250 Hz Config Int0 = Falling 'Interruption on Falling Stop Timer0 Enable Timer0 Enable Int0 Enable Interrupts On Timer0 Tikers 'work on timer On Int0 Infrared 'work on interruption Dim Tik As Word 'counter of teaks of timer Dim Byt As Byte 'counter accepted bit Dim Repeat_flag As Bit 'flag of repetition Dim Start_flag As Bit 'flag of start condition Dim Address As Byte 'byte of address Dim Command As Byte 'byte of command Dim Address_1 As Byte 'direct byte of address Dim Command_1 As Byte 'direct byte of command Dim Address_0 As Byte 'indirect byte of address Dim Command_0 As Byte 'indirect byte of command Dim Summa As Word Cursor Off 'Switch Off cursor '################################################################################################################ Do 'Main cycle 'Cls 'Clean LCD Print Address ; " " ; Command 'Lcd ADDRESS and COMMAND 'If Command = 8 Then Portc.2 = 1 'If pressed key "P+" - to include LED 'If Command = 240 Then Portc.2 = 0 'If pressed key "P-" - to switch off LED Waitms 200 'Delay 10 en Loop End 'End of main cycle '################################################################################################################ Tikers: 'work on timer Timer0 = 253 '31250/(256-253)=10416,66 Hz (96 een) Incr Tik If Tik >= 1200 Then 'if 1200 teaks, have thrown all in source condition Tik = 0 Repeat_flag = 0 Start_flag = 0 Address_1 = 0 Command_1 = 0 Address_0 = 0 Command_0 = 0 Address = 0 Command = 0 Stop Timer0 End If Return '################################################################################################################ Infrared: 'work on interruption Start Timer0 If Tik >= 139 And Tik < 150 Then 'if has happenned from 139 before 150 teaks - "START" Address = 1 Repeat_flag = 0 Start_flag = 1 Address_1 = 0 Command_1 = 0 Address_0 = 0 Command_0 = 0 End If If Tik >= 116 And Tik < 139 Then 'if has happenned from 116 before 138 teaks - "REPETITION" Address = 2 Repeat_flag = 1 Start_flag = 0 End If If Tik >= 22 And Tik < 116 And Start_flag = 1 Then 'if has happenned from 22 before 115 teaks - have taken "1" Incr Byt If Byt < 9 Then Shift Address_1 , Left Address_1 = Address_1 + 1 End If If Byt >= 9 And Byt < 17 Then Shift Address_0 , Left Address_0 = Address_0 + 1 End If If Byt >= 17 And Byt < 25 Then Shift Command_1 , Left Command_1 = Command_1 + 1 End If If Byt >= 25 Then Shift Command_0 , Left Command_0 = Command_0 + 1 End If End If If Tik >= 10 And Tik < 22 And Start_flag = 1 Then 'if has happenned from 10 before 21 teaks - have taken "0" Incr Byt If Byt < 9 Then Shift Address_1 , Left End If If Byt >= 9 And Byt < 17 Then Shift Address_0 , Left End If If Byt >= 17 And Byt < 25 Then Shift Command_1 , Left End If If Byt >= 25 Then Shift Command_0 , Left End If End If Tik = 0 If Byt = 32 Then 'if have taken 4 bytes, check correctness a receiving a command 'if address or command 16-bit, check does not pass 'Summa = Address_0 + Address_1 'If Summa = 255 Then Address = Address_1 'Else 'Address = 0 'End If 'Summa = Command_0 + Command_1 'If Summa = 255 Then Command = Command_1 'Else 'Command = 0 'End If Byt = 0 Repeat_flag = 0 Start_flag = 0 Stop Timer0 End If Return
Membuat Alat Monitor Heart Beat / Heart Rate / Detak Jantung dan Suhu Tubuh Manusia ( ARDUINO PULSE SENSOR DS18B20 / DS1820 )
Pada pagi hari ini saya akan menjelaskan mengenai bagaimana cara untuk membuat alat yang biasa digunakan untuk mengecek detak jantung / hear beat dan suhu tubuh manusia. Alat ini sebenarnya bertujuan untuk pasien monitor portabel, jadi si penderita bisa check up dimana saja dan kapan saja dia berada. Alat ini menggunakan 2 buah sensor yaitu sensor suhu DS18B20 dan Pulse sensor. Selain itu juga terdapat interface VB 6 + Database pada komputer guna melihat hasilnya. untuk lebih jelasnya berikut adalah skema dan penjelasannya.
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();
}
int16_t raw = (data[1] << 8) | data[0];
if (type_s) {
raw = raw << 3; // 9 bit resolution default
if (data[7] == 0x10) {
// "count remain" gives full 12 bit resolution
raw = (raw & 0xFFF0) + 12 - data[6];
}
} else {
byte cfg = (data[4] & 0x60);
// at lower res, the low bits are undefined, so let's zero them
if (cfg == 0x00) raw = raw & ~7; // 9 bit resolution, 93.75 ms
else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms
else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms
//// default is 12 bit resolution, 750 ms conversion time
}
celsius = (float)raw / 16.0;
Download tutorial pembuatannya di link berikut DOWLOAD
Option Explicit Dim arrdata() Dim TotalBaca As Integer Dim BMI As Single Dim Keterangan As String Const MAKSBACA = 10
Dim Conn1 As ADODB.Connection Dim Cmd1 As ADODB.Command Dim Param1 As ADODB.Parameter Dim Rs1 As ADODB.Recordset
Private Sub Adodc1_WillMove(ByVal adReason As ADODB.EventReasonEnum, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
End Sub
Private Sub berhenti_Click() start.Enabled = True berhenti.Enabled = False TimerBaca.Enabled = False End Sub
Private Sub Command1_Click() Open "C:\Users\yanuar\Desktop\april\bpm\VB Interface SErial ARRAY 3" & "\PRINTOUT.txt" For Output As #1 Print #1, "======================" Print #1, " HASIL PENGUJIAN " Print #1, "======================" Print #1, "Nama = "; tbnama.Text Print #1, "Umur = "; Text4.Text Print #1, "Gender = "; gender.Text Print #1, "Detak Jantung = "; Text2(0).Text Print #1, "Suhu Tubuh = "; Text2(1).Text Print #1, "Kategori Detak Jantung = "; lbljantung.Caption Print #1, "Kategori Suhu Tubuh = "; Label4.Caption Print #1, Close #1 End Sub
Private Sub Command2_Click() Unload Me End Sub
Private Sub Form_Load() Dim I As Byte For I = 1 To 16 ComboCOM.AddItem (I) Next I End Sub
Private Sub MSComm2_OnComm() Dim buffer As String Dim temp As String Dim pisah() As String Dim I As Integer
If MSComm2.CommEvent = comEvReceive Then buffer = MSComm2.Input pisah = Split(buffer, Chr$(13)) On Error Resume Next If buffer <> " " Then With Text1 .SelStart = Len(.Text) .SelText = buffer End With For I = 0 To 3 If 0 < 4 Then Text2(I).Text = CStr(pisah(I)) End If Next I Else buffer = " " End If End If End Sub
Private Sub Option1_Click() gender.Text = "PRIA" End Sub
Private Sub Option2_Click() gender.Text = "WANITA" End Sub
Private Sub start_Click() Dim u As Integer Timer1.Enabled = True Timer2.Enabled = True
ReDim arrdata(1 To MAKSBACA + 1) For u = 1 To MAKSBACA arrdata(u) = 0 Next TotalBaca = 0 start.Enabled = False berhenti.Enabled = True TimerBaca.Enabled = True ada_eror: If ComboCOM.ListIndex < 1 Then MsgBox "COM berada di Nomor : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "ERROR" start.Enabled = True berhenti.Enabled = True ComboCOM.Text = "Pilih COM" End If End Sub
Dim Rs As Recordset Set Rs = New ADODB.Recordset Rs.Open SQl, Conn, adOpenDynamic
End Sub
Private Sub Timer2_Timer() Dim konversisuhu As Integer Dim konversijantung As Integer Dim konvumur As Integer konversisuhu = Val(Text2(0).Text) konversijantung = Val(Text2(1).Text) konvumur = Val(Text4.Text)
Adodc1.Refresh
If konversisuhu >= 36 And konversisuhu <= 37 Then Label4.Caption = "SUHU NORMAL" End If
If konversisuhu > 37 Then Label4.Caption = "SUHU TINGGI" End If
If konversisuhu < 36 Then Label4.Caption = "SUHU RENDAH" End If
If konvumur >= 20 And konvumur <= 29 And konversijantung < 60 And gender.Text = "PRIA" Then lbljantung.Caption = "Sangat Baik" End If
If konvumur >= 30 And konvumur <= 39 And konversijantung < 64 And gender.Text = "PRIA" Then lbljantung.Caption = "Sangat Baik" End If
If konvumur >= 40 And konvumur <= 49 And konversijantung < 66 And gender.Text = "PRIA" Then lbljantung.Caption = "Sangat Baik" End If
If konvumur >= 50 And konversijantung < 68 And gender.Text = "PRIA" Then lbljantung.Caption = "Sangat Baik" End If
If konvumur >= 20 And konvumur <= 29 And konversijantung >= 60 And konversijantung <= 69 And gender.Text = "PRIA" Then lbljantung.Caption = "Baik" End If
If konvumur >= 30 And konvumur <= 39 And konversijantung >= 65 And konversijantung <= 71 And gender.Text = "PRIA" Then lbljantung.Caption = "Baik" End If
If konvumur >= 40 And konvumur <= 49 And konversijantung >= 66 And konversijantung <= 73 And gender.Text = "PRIA" Then lbljantung.Caption = "Baik" End If
If konvumur >= 50 And konversijantung >= 68 And konversijantung <= 75 And gender.Text = "PRIA" Then lbljantung.Caption = "Baik" End If
If konvumur >= 20 And konvumur <= 29 And konversijantung >= 70 And konversijantung <= 75 And gender.Text = "PRIA" Then lbljantung.Caption = "Cukup" End If
If konvumur >= 30 And konvumur <= 39 And konversijantung >= 72 And konversijantung <= 87 And gender.Text = "PRIA" Then lbljantung.Caption = "Cukup" End If
If konvumur >= 40 And konvumur <= 49 And konversijantung >= 74 And konversijantung <= 89 And gender.Text = "PRIA" Then lbljantung.Caption = "Cukup" End If
If konvumur >= 50 And konversijantung >= 79 And konversijantung <= 91 And gender.Text = "PRIA" Then lbljantung.Caption = "Cukup" End If
If konvumur >= 20 And konvumur <= 29 And konversijantung >= 70 And konversijantung <= 77 And gender.Text = "WANITA" Then lbljantung.Caption = "Baik" End If
If konvumur >= 30 And konvumur <= 39 And konversijantung >= 72 And konversijantung <= 79 And gender.Text = "WANITA" Then lbljantung.Caption = "Baik" End If
If konvumur >= 40 And konvumur <= 49 And konversijantung >= 74 And konversijantung <= 81 And gender.Text = "WANITA" Then lbljantung.Caption = "Baik" End If
If konvumur >= 50 And konversijantung >= 76 And konversijantung <= 83 And gender.Text = "WANITA" Then lbljantung.Caption = "Baik" End If
If konvumur >= 20 And konvumur <= 29 And konversijantung >= 78 And konversijantung <= 94 And gender.Text = "WANITA" Then lbljantung.Caption = "Cukup" End If
If konvumur >= 30 And konvumur <= 39 And konversijantung >= 80 And konversijantung <= 96 And gender.Text = "WANITA" Then lbljantung.Caption = "Cukup" End If
If konvumur >= 40 And konvumur <= 49 And konversijantung >= 82 And konversijantung <= 98 And gender.Text = "WANITA" Then lbljantung.Caption = "Cukup" End If
If konvumur >= 50 And konversijantung >= 84 And konversijantung <= 100 And gender.Text = "WANITA" Then lbljantung.Caption = "Cukup" End If
If konvumur >= 20 And konvumur <= 29 And konversijantung > 94 And gender.Text = "WANITA" Then lbljantung.Caption = "kurang" End If
If konvumur >= 30 And konvumur <= 39 And konversijantung > 96 And gender.Text = "WANITA" Then lbljantung.Caption = "kurang" End If
If konvumur >= 40 And konvumur <= 49 And konversijantung > 98 And gender.Text = "WANITA" Then lbljantung.Caption = "kurang" End If
If konvumur >= 50 And konversijantung > 100 And gender.Text = "WANITA" Then lbljantung.Caption = "kurang" End If
End Sub
Private Sub TimerBaca_Timer() Dim strInput As String Dim strPotong As String Dim singleInput As Single Dim u As Integer
strInput = MSComm2.Input strPotong = strInput 'Text1.Text = Text1.Text + strPotong + vbCrLf 'singleInput = Val(strPotong) 'Label1.Caption = singleInput If TotalBaca >= MAKSBACA Then TimerBaca.Enabled = False If MSComm2.PortOpen = True Then MSComm2.PortOpen = False Call berhenti_Click End If
End Sub
g. Cara Penggunaan Alat
Pertama yaitu hubungkan Arduino ke PC atau laptop sehingga LCD 16x2 nyala dan sensor detak jantung serta sensor suhu tubuh juga nyala. setelah semua sudah ready maka aktifkan software interface VB 6 dan tekan tombol mulai. jika berhasil maka akan tampil data suhu dan detak jantung pada interface vb 6. pengiriman dari Arduino ke PC berjarak satu menit, kemudian record ke database berjarak 1,5 menit .
Membuat Alat Monitoring Menggunakan Arduino dan WIFI Shield V3 DFROBOT dan Interface VB 6 TCP-IP
Pada kesempatan yang berbahagia kali ini saya akan mencontohkan mengenai bagaimana cara mengakses Arduino dan WIFI Shield dari DFROBOT. Prinsip kerja alat ini sangatlah sederhana yaitu mengirimkan data ADC dari Arduino ke server menggunakan WIFI. Untuk pengembangannya data ADC bisa dirubah ke data sensor misal sensor gas, sensor suhu dan lain-lain. yang perlu diperhatikan disini yaitu menggunakan media WIFI Shield. bedanya jika menggunakan Ethernet Shield yaitu harus menggunakan kabel lan dari Arduino ke Router agar didapat sinyal wifi, namun jika menggunaka WIFI Shield tidak perlu menggunakan kabel LAN, cukup sinyal wifi saja, itu yang membedakan. jadi WIFI Shield akan konek ke Router menggunakan sinyal WIFI. istilah lainnya yaitu linking. jadi pada contoh ini di tampilkan data yang dikirim melalui Hypoterminal secara serial, kemudian untuk penerimanya menggunakan Hyperterminal melalui TCP-IP. untuk lebih jelasnya berikut adalah skema dan konfigurasinya.
a. Arduino Mega
b. WIFI Shield V3 DFROBOT
c. Sensor Gas
d. Router Server
IP = 192.168.0.1
Subnet Mask = 255.255.255.0
Nama = AVR-PC_Network
e. Program Arduino IDE
//rubah SWITCH ke PROGRAMME lalu UPLOAD
//Jika sudah di UPLOAD rubah SWITCH ke ARDUINO
void setup() {
// initialize serial communication at 115200 bits per second:
Serial.begin(115200);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// print out the value you read:
Serial.println(sensorValue);
delay(1000); // delay in between reads for stability
}
f. Cara Meng-konfigurasi WIFI SHIELD V3
1. Set IP Komputer ke DHCP
2. konek ke WIFI Shield V3
3. Pertama ketikkan IP "http://10.10.100.254/" ke browser dengan nama dan passwordnya "admin"
4. Rubah Settingan seperti berikut
5. Konek ke Router AVR-PC_Network dan ubah IP komputer menjadi seperti berikut
6. Buka Hypoterminal lalu lihat data yang dikirimkan Arduino
7. Buka Hyperterminal lalu pilih seperti berikut, dan lihat data yang dikirim oleh Arduino
8. Aplikasi / Interface VB 6 TCP-IP
Option Explicit
Private Sub cmd_Connect_Click()
On Error GoTo a
If Winsock.State <> sckClosed Then Winsock.Close
Winsock.RemoteHost = Text_IP
Winsock.RemotePort = Text_PORT
Winsock.Connect
cmd_Connect.Enabled = False
cmd_Disconnect.Enabled = True
Exit Sub
a:
MsgBox "error: " & Err.Description, vbCritical, "Error"
End Sub
Private Sub cmd_Disconnect_Click()
Winsock.Close
MsgBox ("Koneksi dengan Server selesai")
cmd_Connect.Enabled = True
cmd_Disconnect.Enabled = False
End Sub
Private Sub Command_Clear_Click()
Text1.Text = ""
End Sub
Private Sub Winsock_Connect()
MsgBox ("terkoneksi dengan server")
End Sub
Private Sub Winsock_ConnectionRequest(ByVal requestID As Long)
Winsock.Accept requestID
End Sub
Private Sub Winsock_DataArrival(ByVal bytesTotal As Long)
Dim buffer As String
Dim temp As String
Dim pisah() As String
Dim i As Integer
Dim data As String
data = ""
Winsock.GetData data, vbString
Text1.Text = Text1.Text & data & vbCr
buffer = data
pisah = Split(buffer, Chr$(13))
On Error Resume Next
If buffer <> " " Then
With Text5
.SelStart = Len(.Text)
.SelText = buffer
End With
For i = 0 To 8
If 0 < 9 Then
Text6(i).Text = CStr(pisah(i))
End If
Next i
Else
buffer = " "
End If
Membuat Alat Pengaman Dengan SMS Gateway Modem Wavecom dilengkapi GPS EM-411 dan Tilt Sensor GY-61 ( Sensor Kemiringan )
Kali ini saya akan menjelaskan mengenai bagaimana cara membuat alat pengaman dengan menggunakan 3 device berbeda yaitu sensor kemiringan GY-61, GPS EM-411 dan sms gateway modem wavecom. Sebenarnya kegunaan alat ini yaitu untuk pengaman sepeda motor, jadi saat dicuri akan ada GPS yang melacak, dan juga jika sepeda motor dibawa maling pasti akan terdeteksi kemiringannya, kemudian sms gateway digunakan sebagai media pemberi kabar ke pemilik sepeda motor bahwa motornya dalam keadaan bahaya. Sms gateway yang digunakan yaitu modem wavecom fastrack serial port. jika si pemilik sepeda motor telah mendapatkan pesan bahaya maka untuk mematikannya tinggal sms balik dengan pesan #L. fungsi GPS disini yaitu jika motor dibawa maling pasti akan ada perubahan lokasi, dengan perubahan itulah maka akan memberitahu kepada pemilik via sms. Terlebih dahulu lokasi harus disimpan koordinatnya baru bisa dipakai.
Open "com1:" For Binary As #1 Open "Com2:" For Binary As #2
Dim X As Word Dim Y As Word Dim Z As Word Dim A As Integer A = 0
Dim Pas1 As Word Dim Pas2 As Word Dim Pas3 As Word
Dim Data_masuk As String * 100 Dim Cmti_pos As Byte , Cmgr_pos As Byte , Index_pos As Byte , Cmd_pos As Byte Dim Pjg_sms_index As Byte , Pjg_data As Byte Dim Sms_index As String * 3 Dim Cmd As String * 4 Dim Cmdbin As Byte Dim Simpanlatup As Single Dim Simpanlatbot As Single Dim Simpanlongup As Single Dim Simpanlongbot As Single Dim Ews As String * 10 , Nss As String * 8 , Sat As String * 2 Dim Nssx As String * 8 Dim Hh As String * 2 , Hh2 As Byte , Mm As String * 2 , Ss As String * 2 Dim Ns As String * 1 , Ew As String * 1 , Dw As String * 6 Dim Przecinek As Byte , P As Byte Dim Run As Byte , Gpgga As Byte , Cntr As Byte , Tudr As Byte , Ok As Bit Dim Longitude1 As Single Dim Latitude1 As Single Dim Longitude1x As Single Dim Latitude1x As Single Dim Latx As Word , Longy As Word
Open "com1:" For Binary As #1
Open "Com2:" For Binary As #2
Dim X As Word
Dim Y As Word
Dim Z As Word
Dim A As Integer
A = 0
Dim Pas1 As Word
Dim Pas2 As Word
Dim Pas3 As Word
Dim Data_masuk As String * 100
Dim Cmti_pos As Byte , Cmgr_pos As Byte , Index_pos As Byte , Cmd_pos As Byte
Dim Pjg_sms_index As Byte , Pjg_data As Byte
Dim Sms_index As String * 3
Dim Cmd As String * 4
Dim Cmdbin As Byte
Dim Simpanlatup As Single
Dim Simpanlatbot As Single
Dim Simpanlongup As Single
Dim Simpanlongbot As Single
Dim Ews As String * 10 , Nss As String * 8 , Sat As String * 2
Dim Nssx As String * 8
Dim Hh As String * 2 , Hh2 As Byte , Mm As String * 2 , Ss As String * 2
Dim Ns As String * 1 , Ew As String * 1 , Dw As String * 6
Dim Przecinek As Byte , P As Byte
Dim Run As Byte , Gpgga As Byte , Cntr As Byte , Tudr As Byte , Ok As Bit
Dim Longitude1 As Single
Dim Latitude1 As Single
Dim Longitude1x As Single
Dim Latitude1x As Single
Dim Latx As Word , Longy As Word
Dim Tanda As Integer
Dim Mark As Integer
Dim Hp As String * 30
Dim Count As Integer
Dim Zona As Integer
Count = 0
Zona = 0