Gender Konektor DB9 pada RS232

DTE vs DCE

DTE adalah Data Terminal Equipment, dimana sumbaer data dan pengolahannya ada di bagian ini. Untuk koneksi SPI ini dinamakan Master. Sedangkan DCE atau Data Circuit terminating Equipment adalah perangkat periferal dari DTE. Ini dinamakan Slave pada antarmuka SPI.

DTE dan DCE

Gender koneksi DTE dibanding DCE

Pada koneksi DTE dalam banyak kasus biasanya jenis MALE, sedangkan untuk DCE adalah yang female. Namun tidak semuanya seperti ini, harus pintar membaca petunjuk atau datasheet.

Image result for de-9 pinout female male
Male untuk DTE dan Female untuk DCE

Pinout

Untuk koneksi RS232 dasar, biasanya hanya perlu Rx, Tx dan Ground. Beberapa peralatan mungkin memerlukan pin kontrol tambahan. Berikut bagaimana pengaturan pin menempatkan Tx ke Rx, DTR ke DSR, dan RTS ke CTS.

Pinout DB9 pada RS232 untuk Male (DTE) dan Female (DCE)

Contoh modul untuk DTE dan DCE

테크 선전 아두이노, 라즈베리파이, 마이크로비트
Modul untuk DCE dengan konektor Female
Amazon.com: NulSom Inc. Ultra Compact RS232 to TTL ...
Modul untuk DTE dengan konektor Male

Null Modem

Null modem dibutuhkan untuk koneksi DTE ke DTE (Male – Male) atau DCE ke DCE (Female-Female)

RS232 cable
Null Modem untuk Male to Male (DTE to DTE)

Panelisasi PCB

Saat ukuran desain PCB kecil, katakanlah 2×3 cm, dan akan dibuat pada PCB dengan ukuran 10 x 10 cm, maka desain PCB dapat dibuat panel. PCB ukuran 10 x 10 akan dapat menampung setidaknya 12 desain PCB 2×3 cm.

Buka pada Panel Properties dan isikan ukuran PCB 100mm x 100mm. Tentukan jarak antar desain PCB 2mm.
Buka folder gerber pada menu Add Gerber Folder
kanan pada instance lalu pilih menu Add Instance. Lakukan 11 kali, hingga instance menjadi 12.
Pilih Autopack agar instance (desain board PCB) tertata otomatis.
Tambahkan Breaktab dengan Insert Breaktabs, untuk menyanbungkan instance. Atau pilih Create Breaktabs untuk penambahan Breaktab secara otomatis
Ekspor hasil gerber yang sudah digabung (Merged) ke folder
Tampilan proses eksport
Cek Gambar hasil gerber. Jika ada yang rusak, perlu diulangi.

Zip semua file gerber dan siap untuk dimasukkan ke percetakan atau dibuka dengan FlatCam untuk dicetak lewat CNC. Atau dapat juga dicetak di printer untuk metode toner transfer dan photoresist.

PCB dengan Dry Film Photoresist

Membuat jalur PCB dapat menggunakan beberapa cara, dari mulai menggambar menggunakan tinta anti air, sablon, toner transfer, dan salah satunya adalah menggunakan Dry Film Photoresist. Berikut langkahnya

A. Pembersihan PCB
PCB dapat cukup dibersihkan dengan digosok menggunakan sabut cuci piring Scotch-Brite, atau sabut per cuci, atau menggunakan amplas yang paling halus. Lalu usap dengan aseton bila perlu. Aseton dapat dibeli di toko kimia atau di toko swalayan sebagai pembersih kutek (cat kuku).

Jika ada minyak yang menempel pada PCB, biasanya bekas sidik jari, dapat dibersihkan dengan sabun cuci dan keringkan. Setelah itu baru digosok dengan sabut cuci atau amplas.

B. Potong PCB sesuai ukuran
Pemotongan FR2 dapat dilakukan dengan cutter. Tandai dengan cutter di sisi tembaga dan sisi sebailknya. Lalu tekan di tempat rata dan patahkan. Pemotongan FR4 perlu menggunakan gergaji besi atau semarcamnya.

C. Siapkan DFP
Siapkan DFP dengan memotong sesuai ukuran lalu buka strip plastik pelapis menggunakan isolasi.

D. Pasan DFP ke PCB
Ada beberapa cara untuk masang DFP ke PCB. Cara yang paling mudah adalah pastikan PCB kering lalu pasang DFP dari sudut dan ditekan menggunakan jari lalu ratakan dengan rakel / kartu ATM. Jika ada yang menggelembung dapat diseterika dengan suhu untuk nylon. Jika memiliki laminator dapat dilaminating dengan suhu kurang dari 100 derajat. Beberapa tutorial ada yang menggunakan blower suhu rendah untuk memanasi DFP.

E. Siapkan desain PCB negatif
Siapkan cetakan negatif dari jalur PCB. Dapat menggunakan kertas transparan, jika memiliki printer laser. Atau cukup difotokopi di kertas transparan. Jika kesulitan, dapat pula dicetak di printer tinta.
Untuk cetakan di kertas transparan, biasanya ada toner, gambar hitam, yang agak transparan. Solusinya adalah mendobeli gambar dan diisolasi. Sedangkan jika dicetak di kertas HVS, nantinya cukup diberikan minyak, semisal minyak baby oil agar kertas menjadi trasparan.

F. Pasang desain ke PCB
Pasang desain ke PCB. Untuk desain pada kertas HVS, tempelkan, isolasi bagian pinggir dan tuang minyak hingga semua kertas transparan. Kertas akan menempel ke PCB karena daya ikat minyak. Sedangkan jika menggunakan kertas transparan, maka selain diisolasi bagian pinggir, perlu ditindih dengan kaca agar benar-benar menempel sempurnya.

G. Penyinaran
Penyinaran dapat dilakukan di matahari terik kurang lebih 1 menit. Atau dapat juga menggunakan lampu UV untuk cek uang 18 Watt, dengan waktu 5 menit. Atau dapat juga menggunakan lampu UV pengering kutek kuku 2 menit. Lama penyinaran tergantung dari intensitas sinar UV.

H. Melepas lapisan pelindung DFP
Lepas plastik pelindung DFP dengan menggunakan isolasi.

I. Bersihkan DFP
DFP yang tidak terkena sinar UV akan tetap menjadi pasta, sedangkan yang terkena sinar UV akan mengeras. Bersikah DFP yang berbentuk pasta dengan Na2CO3 atau suda Ash (1 gram/100ml). Jika kesulitan mendapatkan Soda Ash, dapat juga menggunakan detergen cuci baju yang mengandung Na2CO3. Rendam bebrapa saat lalu bersihkan menggunakan kuas kecil. Jika tidak ada kuas kecil, gunakan kapas, namun gosok perlahan jangan sampai DFP kering ikut terkelupas.

J. PCB siap di-etching

Ket:
DRC – Design Rule Check untuk penggunaan DFP adalah:
Clearance: >=15 mil (0,381 mm), dapat dijadikan 10mil jika menggunakan kertas transparan.
Track Width: >=10 mil (0.254 mm)

Membuat Daemon di Raspberry Pi

Buka terminal lalu ketik:

hciconfig
hcitool scan

Nama perangkat biasanya bernama: hci0
Misalkan hasilnya adalah:

66:12:13:EE:D1:76 Bluetooth Printer

Test printer dengan perintah:

sudo rfcomm bind /dev/rfcomm0 66:12:13:EE:D1:76 1
echo “Test” > /dev/rfcomm0

Jika printer berhasil mencetak maka koneksi sudah berhasil

Selanjutnya tambahkan file untuk daemon service

sudo leafpad /etc/systemd/system/rfcomm.service

Ketik kode berikut dan simpan:

[Unit]
Description=RFCOMM service
After=bluetooth.service
Requires=bluetooth.service

[Service]
ExecStart=/usr/bin/rfcomm bind hci0 66:12:13:EE:D1:76 1

[Install]
WantedBy=multi-user.target

Ganti nama hci0 dengan nama hasil hciconfig dan ganti 66:12:13:EE:D1:76 dengan hasil hcitool scan

Aktifkan daemon, ubah preferensi printer dan booting

sudo systemctl enable rfcomm
sudo systemctl start rfcomm
Sudo reboot

Menambahkan autorun pada linux raspberry

buka direktori ~/config/autostart, buat jika belum ada dengan mkdir

buat file berektensi .desktop, misalnya chrome.desktop

lalu isikan script berikut

[Desktop Entry]
Type=Application
Name=Clock
[Desktop Entry]
Type=Application
Name=Clock
Exec=chromium-browser --kiosk --app=http://localhost/

Chrome akan berjalan setelah GUI terbuka, fullscreen tanpa notifikasi dengan sempurna. Namun jika ingin autorun saat booting, maka gunakan cara berikut:

sudo leafpad /etc/rc.local

sebelum bagian  exit 0 tambahkan kode berikut:

python /home/pi/blink.py &

Penting: Ampersand (&) dibutuhkan agar proses autorun tidak memblokir proses yang lain, dangan kata lain proses yang lain juga akan terbuka walaupun proses autorun ini belum sepenuhnya selesai. Jika tanpa tanda ampersand, maka proses autorun ini akan ditunggu hingga selesai baru proses lain dibuka. Akan menjadi masalah jika pada proses ini loop, maka tidak akan pernah bisa login.

Untuk menghentikan proses loop pada autorun, gunakan:

sudo ps -ax | grep python
sudo kill <PID>

ganti <PID> dengan nomor proses. Hati hati jangan keliru, komputer bisa hang!

sumber: https://learn.sparkfun.com/tutorials/how-to-run-a-raspberry-pi-program-on-startup/all

Autoplay Video pada HTML

bagian html, isikan:

<html>
<head>Video playlist</head>
<body>

<video autoplay id="myVideo" width="480" height="326" style="object-fit: fill;">
Browser tidak mendukung video
</video>

<script src='video/list.php'></script>

<script type="text/javascript">
var videoSource = new Array();
for(var x=0; x<=files.length; x++){
    videoSource[x]='http://localhost/antrian/video/'+files[x]+'.mp4';
}

var videoCount = videoSource.length;

document.getElementById("myVideo").setAttribute("src",videoSource[0]);

function videoPlay(videoNum)
{
    document.getElementById("myVideo").setAttribute("src",videoSource[videoNum]);
    document.getElementById("myVideo").load();
    document.getElementById("myVideo").play();
}

document.getElementById('myVideo').addEventListener('ended',myHandler,false);

var i=0;
function myHandler() {
    i++;
    if(i == (videoCount-1)){
        i = 0;
        videoPlay(i);
    }else{
        videoPlay(i);
    }
}

</body>
</html>

lalu buat file list.php pada direktory video, dengan mengisikan script berikut:

var files = <?php $out = array();
foreach (glob('*.mp4') as $filename) {
$p = pathinfo($filename);
$out[] = $p['filename'];
}
echo json_encode($out); ?>;

selanjutnya taruh file video dengan format mp4 ke direktori video

Mengaktifkan modul mod_rewrite pada Apache2

Pasang symbolic link di /etc/apache2/mods-enabled untuk file rewrite.load
cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/rewrite.load
atau cara cepat dengan aktifkan melalui
sudo a2enmod rewrite
buat file konfigurasi rewrite
sudo leafpad /etc/apache2/conf-available/rewrite.conf
isikan dengan
<IfModule mod_rewrite.c>
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</IfModule>
buat symbolic link di /etc/apache2/conf-enabled
cd /etc/apache2/conf-enabled
sudo ln -s ../conf-available/rewrite.conf
jalankan ulang atau set baca ulang konfigurasi apache2
sudo service apache2 reload

buat file .htaccess

sudo nano /var/www/html/.htaccess

isikan contoh rule

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteRule ^beranda$ main.php?page=beranda [L]

ErrorDocument 404 http://localhost/error-404.html
ErrorDocument 403 http://localhost/error-403.html

Options All -Indexes
</IfModule>

Dari rule di atas, setiap mengarah ke http://localhost/beranda maka akan membuka http://localhost/main.php?page=beranda dan jika ada error, maka akan mengarah ke halaman error yang ditunjuk

^beranda$ adalah kalimat yang akan dicocokan.

  • ^ menyatakan awal dari URL, dimana localhost/ diabaikan.
  • $ menyatakan akhir dari URL
  • beranda string yang dicocokkan

main.php?page=beranda adalah tujuan dari file sesungguhnya.

[NC] ignores capitalization dan [L] menyatakan lowercase

set permision dari .htaccess ke mode read only

sudo chmod 644 /var/www/html/.htaccess

Set agar mata bor CNC berada pada titik Nol dengan ketinggian tepat diatas PCB

Brikut cara menset agar mata bor CNC berada pada titik Nol. Jika menggunakan software Mach3 maka cukup aktifkan CNC lalu pindah mata bor ke tempat yang diinginkan sebagai titik nol. Memindahkannya cukup menggunakan tombol panah kiri/kanan/atas/bawah pada keyboard. Tidak perlu mengiraukan ketinggiannya. Cukup sumbu X dan Y nya saja.

Ketinggian diatur dengan tombol PageUp dan PageDown. Pengturan harus hati hati agar tidak terlalu turun sehingga bor patah. Cukup di-tap (tekan sedikit demisedikit saja) jangan ditekan terus menerus. Jika sudah hampir menabrak media yang akan di-bor, maka hentikan pada kurang lebih ketinggian 10mm.

Pemasangan probe cukup mudah, namun butuh pengecekan dan mungkin pengaturan. Selanjutnya pasang probe yang biasanya dalan bentuk konektor jepit buaya. Jika tidak tersedia, bisa dibuat sendiri dengan munghubungkan panel probe-nya. Untuk meyakinkan bahwa probe berfungsi, maka buka bagian Diagnostics (Alt+F7) lalu tempelkan probe pada PCB. Jika pada pilihan Digitize berubah warna, maka probe telah berfungsi dengan baik. Namun jika belum berubah warna, coba cek bagian Config dan centang Probe dan Active Low.

Set semua menjadi titik Nol, biasanya cukup menekan tombol REFF ALL HOME, namun kadangkala ada sumbu X, Y, Z yang tidah mau berubah jadi 0. Maka tekan saja tombol tersebut. Selanjutnya buka file findzero.nc ini untuk memindah dan set ketinggian tepat diatas PCB.

G0 Z0  (Pindah ke posisi 0,0,0)
G31 Z-10 F100 (Cari probe dengan arah Z negatif atau turun 10mm dengan kecepatan 100mm/det)
G92 Z0 (Jika probe telah ditemukan, maka set Z=0)
G0 Z2 (Pindah ke posisi Z=2 atau naik 2mm)
G31 Z-1 F50 (Cari probe lagi dengan kecepatan 50 mm/det)
G92 Z0 (Set ulang ketinggian menjadi 0)
G0 Z1 (Pindah ke posisi naik 1mm)
M1 (Pause atau berhenti sejenak)

Selanjutnya tinggal lepas Probe dan CNC siap untuk digunakan.