Posts Tagged ‘computer’

arduino pcArduino umumnya menggunakan komunikasi serial RS232 yang memanfaatkan rangkaian tambahan dengan komponen utama berupa IC MAX232, FT232, PL2303 maupun ATMega8U2 dan ATMega16U2 (pada arduino seri terbaru) untuk dapat terkoneksi dengan PC. Dengan komunikasi serial ini, kita dapat meng-upload program yang telah kita buat sebelumnya menggunakan arduino IDE ke board arduino. Selain itu, kita juga dapat mengkoneksikan arduino dengan PC sesuai dengan keinginan kita agar dapat saling berkomunikasi/bertukar data.

Saat board arduino terkoneksi dengan PC/laptop pertama kali, maka akan muncul permintaan untuk menginstal driver. Driver inilah yang menghubungkan arduino dengan COMPort yang ada pada PC/laptop. Berikut ini merupakan cara penginstalan driver tersebut.

 

Setelah berhasil melakukan penginstalan driver, maka secara otomatis arduino akan terdaftar pada salah satu COMPort pada PC. Kita dapat melihat COM yang digunakan dengan cara membuka device manager PC. Berikut ini merupakan COM yang digunakan oleh arduino pada PC saya.

(more…)

Advertisements

Jual Arduino Mega 2560 (Kloning)

 

Jual murah arduino mega 2560murah meriah, hanya Rp. 310.000 belum termasuk ongkos kirim.
Arduino yang saya jual bukan arduino original dari italy, tapi arduino kloning. tapi jangan khawatir, walaupun kloning performa tetep sama dengan board arduino yg asli/original dari italy. tanpa panjang lebar, monggo dilihat penampakan arduinonya.

Arduino Mega-1 Arduino Mega-3 Arduino Mega-4 Arduino Mega-10

Fitur

Microcontroller ATmega2560
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 54 (of which 15 provide PWM output)
Analog Input Pins 16
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 256 KB of which 8 KB used by bootloader
SRAM 8 KB
EEPROM 4 KB
Clock Speed 16 MHz

Kelengkapan

  • Arduino Mega 2560 board

Bonus

  • USB cable

harga : rp. 310.000

jika anda tertarik, silahkan hubungi saya via

sms/whatsapp di 085668040830,

atau dengan mengirim email ke

rifqi.thokz@gmail.com.

melayani jika ada pemesanan board mikrokontroller ataupun sistem kontrol, monitoring ataupun project.

selain arduino mega 2560, masih banyak lagi yang lainnya, silahkan kunjungi www.barelangstore.com

Serial port merupakan sebuah port yang terdapat pada komputer/laptop yang dapat digunakan sebagai jalur komunikasi antara komputer/laptop dengan hardware lainnya seperti mikrokontroller dan lain sebagainya.

pada postingan kali ini, saya akan coba berbagi tentang program sederhana yang dapat menerima dan mengirim data melalui komunikasi serial.

untuk dapat melakukan komunikasi serial, dibutuhkan sebuah library yaitu RxTx yang mana telah saya bahas mengenai cara instalasinya disini dan cara menambahkan pada project yang kita buat seperti postingan yang ada disini.

Secara umum, komunikasi yang menggunakan serial port pasti akan melalui langkah-langkah berikut ini :

  • Pencarian port serial
  • Koneksi ke port serial
  • inisialisasi  input dan output stream
  • Memutuskan koneksi port serial
  • Kirim data
  • Terima data

sekarang akan coba dibahas sedikit mengenai program pada aplikasi kirim dan terima data serial ini.

1. Pencarian port serial

berikut ini program untuk mencari port serial yang sedang aktif pada komputer/laptop

 public void cekSerialPort() {
port = CommPortIdentifier.getPortIdentifiers();
while (port.hasMoreElements()) {
CommPortIdentifier curPort = (CommPortIdentifier) port.nextElement();
if (curPort.getPortType() == CommPortIdentifier.PORT_SERIAL) {
window.jCommPort.addItem(curPort.getName());
portMap.put(curPort.getName(), curPort);
}
}
}
 

pada program diatas, program akan mengecek setiap port yang aktif pada komputer, yang kemudian port-port tersebut akan dicek tipe nya dengan menggunakan .getPortType(). Jika port tersebut merupakan port serial, maka identitas port tersebut akan didaftarkan atau ditambahkan pada comboBox pada tampilan GUI.

2. Koneksi Port Serial

 public void connect() {
String selectedPort = (String) window.jCommPort.getSelectedItem();
portIdentifier = (CommPortIdentifier) portMap.get(selectedPort);
CommPort commPort = null;
try {
commPort = portIdentifier.open(null, TIMEOUT);
serialPort = (SerialPort) commPort;
setConnected(true);
window.bConn.setText("Disconnect");
} catch (PortInUseException e) {
statusPort = selectedPort + " is in use. (" + e.toString() + ")";
JOptionPane.showMessageDialog(null, statusPort);
} catch (Exception e) {
statusPort = "Failed to open " + selectedPort + "(" + e.toString() + ")";
JOptionPane.showMessageDialog(null, statusPort);
}
}
 

Program diatas digunakan untuk membuka koneksi dengan serial port yang sebelumnya telah ditentukan dengan cara memilih salah satu serial port yang tersedia pada comboBox. perintah yang digunakan untuk membuka koneksi adalah .open()

3.  Inisialisasi  input/output stream

 public boolean initIOStream() {
boolean successful = false;
try {
inPut = serialPort.getInputStream();
outPut = serialPort.getOutputStream();

successful = true;
return successful;
} catch (IOException e) {
statusPort = "I/O Streams failed to open. (" + e.toString() + ")";
JOptionPane.showMessageDialog(null, statusPort);
return successful;
}
}
 

program ini akan menginisialisasi input/output stream yang nantinya digunakan untuk menampung data yang masuk ataupun data yang akan dikirim kan dari aplikasi menuju perangkat lainnya.

4. Memutuskan koneksi serial

 public void disconnect() {
try {
serialPort.removeEventListener();
serialPort.close();
inPut.close();
setConnected(false);
statusPort = "PORT disconnect successfully";
JOptionPane.showMessageDialog(null, statusPort);
window.bConn.setText("Connect");
} catch (Exception e) {
statusPort = "Failed to close " + serialPort.getName() + "(" + e.toString() + ")";
JOptionPane.showMessageDialog(null, statusPort);
}
}
 

Program tersebut akan memutuskan koneksi antara port serial dengan aplikasi. pada saat memutuskan koneksi serial port harus di tutup dengan menggunakan perintah .close(), begitu juga dengan input/output stream nya.

5. Kirim Data Serial

 public void kirimData(Byte a){
try {
outPut.write(a);
outPut.write(10);
outPut.flush();
} catch (IOException ex) {
System.out.println("Kirim Gagal");
}
}
 

Program diatas akan mengirimkan data serial. tipe data yang bisa dikirimkan berupa “Byte” dan “Integer“. pengiriman dilaksanakan saat ada perintah .write(a), kemudian .flush() digunakan untuk mengosongkan kembali outputstream.

6. Terima Data Serial

untuk dapat menerima data serial setiap saat, maka dimanfaatkan event yang khusus menangani data serial yang masuk. berikut merupakan program untuk inisialisasi event beserta program event yang menangani data serial yang masuk ke aplikasi.

 public void initListener() {
try {
serialPort.addEventListener(this);
serialPort.notifyOnDataAvailable(true);
} catch (TooManyListenersException e) {
JOptionPane.showMessageDialog(null, e.toString());
}
}

public void serialEvent(SerialPortEvent evt) {
char dataSerial = 0; // Untuk menampung input dari serial port

if (evt.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
try {
dataSerial = (char) inPut.read();
window.txtDataIn.setText(String.valueOf(dataSerial));
} catch (IOException ex) {
JOptionPane.showMessageDialog(null, ex.toString());
}
}
}
 

contoh tampilan aplikasi yang saya buat :

saat aplikasi dijalankan maka tampilan awal aplikasi adalah sebagai berikut :

setelah tulisan “Search Port” ditekan maka tampilan akan berubah sebagai berikut :

untuk mengkoneksikan aplikasi dengan serial port, arahkan kursor ke tombol “connect” kemudian klik tombol tersebut. setelah itu jika berhasil terkoneksi maka tampilan aplikasi akan sebagai berikut :

Jika koneksi gagal, maka akan muncul messageBox yang menjelaskan penyebab gagalnya koneksi.

untuk memutuskan koneksi tekan saja tombol “Disconnect”.

Saat aplikasi telah terkoneksi dengan serial port, maka aplikasi dalam posisi stand by menerima data serial yang mana setiap data yang diterima akan ditampilkan pada textBox. untuk mengirim data, tekan saja tombol kirim data. pada aplikasi ini jika tombol kirim data ditekan, maka aplikasi akan mengirimkan data “a”.

Aplikasi lengkapnya dapat anda download disini.

untuk contoh aplikasi koneksi dengan arduino dapat dilihat dipostingan Kirim Terima data via Serial Port _ Java dan Arduino

Semoga bermanfaat….. 🙂

JavaCV merupakan sebuah library yang dipergunakan dalam bidang Computer Vision. Dengan library ini kita bisa mengakses kamera webcam dengan mudah. Yang mana kita bisa mengolah hasil gambar yang diterima dari kamera tersebut yang mulai dari menampilkan hasil liveCam, capture gambar sampai tracking sebuah benda, objek atau juga muka.

Sebelum dapat menggunakan library JavaCV ini, ada beberapa langkah yang terlabih dahulu harus kita lakukan. Langkah tersebut berupa langkah penginstalan dan konfigurasi agar library ini bisa digunakan. Berikut ini merupakan langkah-langkah penginstalan dan konfigurasi JavaCV.

1.  Jika belum menginstal  Microsoft Visual C++ 2010 Redistributable Package, silahkan download dahulu kemudian install Microsoft visual C++ nya.

Microsoft Visual C++ 2010 Redistributable Package (x86) >> untuk windows 32 Bit

Microsoft Visual C++ 2010 Redistributable Package (x64) >> untuk windows 64 Bit

2.  Kemudian siapkan beberapa file yang dibutuhkan, yang mana bisa didownload di link berikut ini :

a. JavaCV 0.1 binary package

b.  OpenCV Windows Superpack 2.4.0

 

3.  Setelah berhasil menginstal Microsoft visual C++, ekstrak file OpenCV Windows Superpack yang telah didownload tadi ke direktori C:\

4.  Konfigurasi System path, yang mana system path ini dapat kita buka dengan cara :

Klik Start >> control panel >> System and Security >> System >> Advance System Settings >> Environment Variables

 

Setelah itu akan muncul window seperti gambar dibawah ini :

 

 

Pada system variables, cari variable “Path”, kemudian klik dan tekan tombol edit. Setelah itu akan muncul window “edit system variable”.

Pada window tersebut kita tambahkan settingan yang kita inginkan, dengan cara klik pada kolom variable value kemudian pindahkan kursor kesebelah kanan (tekan tombol panah arah kanan sampai kursor berada di ujung kanan kolom). Tambahkan path dibawah ini kedalam kolom variable value yang ada di window “edit system path tadi”.

Untuk windows 32bit :

;C:\opencv\build\common\tbb\ia32\vc10\;C:\opencv\build\x86\vc10\bin\;

Untuk windows 64 bit :

;C:\opencv\build\common\tbb\intel64\vc10\;C:\opencv\build\x64\vc10\bin\;

 

 

Setelah menambahkan path, kemudian tekan tombol OK

5.  Langkah terakhir adalah mengekstrak file JavaCV 0.1 binary package  pada folder atau direktori yang diinginkan.

 

Agar library JavaCV dapat digunakan pada project yang kita buat, kita tambahkan saja library project kita dengan “external JAR”, yang mana external JAR tersebut merupakan file yang terdapat pada folder JavaCV 0.1 Binary package yang telah diekstrak sebelumnya.

Berikut ini cara menambahkan library tersebut.

1. Klik kanan pada folder “library” yang ada pada file project kemudian pilih “Add JAR/Folder

 

 2. Akan muncul window add JAR, kemudian cari lokasi tempat penyimpanan folder hasil ekstrak JavaCV 0.1 Binary package sebelumnya. Kemudian pilih JAR JavaCV dan tekan tombol Open.

 

  3. Proses penambahan library JavaCV pada project selesai dilakukan….

 

Semoga bermanfaat…. 🙂

Komputer IAS memiliki 21 instruksi yang dikelompokkan menjadi 5 jenis yaitu transfer data, percabangan tanpa kondisi, percabangan dengan kondisi, aritmatika dan modifikasi alamat.

Berikut ini merupakan set instruksi IAS

 

 

 

 

Set instruksi diatas nantinya digunakan untuk memprogram komputer IAS, yang mana program adalah suatu urutan langkah-langkah yang melakukan sebuah operasi aritmatika atau logika dan memerlukan suatu set sinyal control yang berbeda. Yang akan mengolah setiap instruksi dari program adalah prosesor.  Prosessor baru akan bekerja jika ada instruksi berupa program yang mana program ini disimpan didalam memori.

Ada 3 bus utama yang menghubungkan antara prosessor, memori, dan I/O saat mengolah instruksi yaitu bus alamat, bus interkoneksi (data) dan bus control.

1. Bus alamat

Bus alamat digunakan oleh prosessor untuk memberikan atau mengirimkan alamat yang akan diakses oleh prosesor baik itu alamat yang ada di I/O ataupun alamat yang ada di memori

2. Bus Interkoneksi (Data)

Bus interkoneksi data ini digunakan sebagai jalur pentransferan data antara memori, prosesor dan I/O.

3. Bus Kontrol

Bus control ini digunakan oleh prosesor untuk memberikan sinyal control kepada memori, baik itu untuk membaca (read) isi memori ataupun menulis/menyimpan (write) ke memori.

Pada saat pengeksekusian program, prosesor akan membaca instruksi dari memori kemudian memprosesnya sampai disimpan kembali kedalam memori, proses ini disebut dengan Instruction Cycle. Didalam instruction cycle ini ada terbagi lagi menjadi 2 proses yaitu :

1. Fetch

Fetch merupakan proses membaca instruksi dari memori satu persatu setiap waktu. Fetch juga bisa dikatakan sebagai proses yang “membangunkan” setiap bagian yang akan digunakan dalam sebuah intruksi (accumulator, memori, dll).

2. Execute

Execute merupakan kegiatan prosesor dalam memproses instruksi yang tadi telah dibaca pada proses fetch.

Instruction cycle ini dilakukan tiap 1 instruksi, jadi kesimpulannya jika didalam sebuah program terdapat 100 instruksi, berarti prosesor akan melakukan 100 kali instruction cycle.

Dibawah ini akan diberi contoh bagaimana proses instruction cycle dijalankan. Sebagai contoh sederhana, akan dibuat sebuah program yang akan menjumlahkan data yang ada dimemori alamat 0100 dengan data dialamat 0101 dan kemudian hasilnya disimpan di alamat 0102. Simpan program di alamat 0010. Untuk lebih memahami perjalanan instruksi silahkan lihat struktur detail komputer IAS yang ada dipostingan sebelumnya (komputer IAS).

Berikut ini adalah program nya :

LOAD   M(0100)
ADD    M(0101)
STOR   M(0102)

Penjelasan program :

–          Instruksi LOAD  M(0100), memindahkan data yang ada pada alamat 0100 ke AC (accumulator)

–          ADD M(0101), menjumlahkan data yang ada dialamat 0101 dengan data yang ada di AC, kemudian data tersebut disimpan di

  AC.

–          STOR M(0102), memindahkan data yang ada pada AC (hasil penjumlahan tadi) ke alamat 0102.

Berikut ini adalah urutan dari instruction cycle nya :

1. Instruction cycle I  (LOAD M(0100))

– Fetch

1. PC (program counter) = 0010

Menginisialisasi alamat tempat penyimpanan instruksi/program

2. PC –> MAR

Memindahkan data pada PC ke MAR, sehingga isi MAR sama dengan isi PC yaitu 0010

3. M(MAR) –> MBR

Memindahkan data pada alamat 0010, ke MBR. Di MBR akan terjadi 2 pembagian instruksi yaitu instruksi kiri dan intruksi kanan terhadap program yang tersimpan pada sebuah alamat memori. Instruksi kiri merupakan instruksi dari bit 0-19 dan instruksi kanan dari bit 20-39.

4. MBR(20:39) –> IBR

Memindahkan instruksi dari MBR (bit 20-39) ke IBR yang berguna sebagai buffer/penampung sementara. Hal ini dilakukan karena prosesor hanya bisa memproses 1 instruksi dalam 1 waktu.

5. MBR (0:7) –> IR

Mengirimkan instruksi, ke IR yang nantinya akan diteruskan ke rangkaian control sehingga pada proses inilah proses “membangunkan” bagian-bagian yang akan terlibat dalam pemrosesan instruksi.

6. MBR(8:19) –> MAR

Proses pengambilan data dari alamat memori (0100).

– Execute

1. M(0100) –> MBR

Mentransferkan nilai yang ada di memori 0100 ke MBR

2. MBR –> AC

Memindahkan nilai dari MBR ke AC

2. Insruction cycle II (ADD M(0101))

– Fetch

1. IBR (0:7) –> IR

Memindahkan instruksi ADD dari IBR ke IR

2. IBR (8:19) –> MAR

Memindahkan alamat memori ke MAR

3. PC = PC + 1

Increment data pada PC

– Execute

    1. M(0101) –> MBR
    2. MBR + AC –> AC

Menjumlahkan data yang ada pada MBR dengan data yang ada di AC, hasilnya disimpan di AC

3. Instruction cycle III (STOR(M0102))

– Fetch

  1. PC –> MAR
  2. M(MAR) –> MBR
  3. MBR (0:7) –> IR
  4. MBR (8:19) –> MAR

 – Execute

1. AC –> MBR

Memindahkan data dari AC ke MBR

2. MBR –> M(MAR)

Memindahkan data dari MBR ke alamat memori sesuai dengan yang tersimpan di MAR. yang mana alamat tersebut adalah 0102.

semoga bermanfaat….. 🙂