Selamat datang di sonoku.com

Setting Password phpMyAdmin di Webserver XAMPP

Secara default phpMyAdmin sudah terinstall bersamaan dengan XAMPP. Tetapi ketika dijalankan pertama kali, phpMyAdmin akan menampilkan halamannya tanpa ada proses login. Jadi, sebagai aplikasi manajemen database hal ini akan sangat beresiko. Untuk itu kita perlu set username dan password untuk akses aplikasi ini.

Untuk setting username password di phpMyAdmin bisa kita lakukan dengan mengubah file config.inc.php yang terletak di folder instalasi XAMPP (windows), biasanya ada di C:\XAMPP\phpMyAdmin\config.inc.php

Buka file tersebut kemudian cari parameter setting berikut:

/* Authentication type and info */
$cfg[‘Servers’][$i][‘auth_type’] = ‘config’;
$cfg[‘Servers’][$i][‘user’] = ‘root’;
$cfg[‘Servers’][$i][‘password’] = ”;
$cfg[‘Servers’][$i][‘extension’] = ‘mysqli’;
$cfg[‘Servers’][$i][‘AllowNoPassword’] = true;
$cfg[‘Lang’] = ”;

kemudian ganti  menjadi:

/* Authentication type and info */
$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;
$cfg[‘Servers’][$i][‘user’] = ‘root’;
$cfg[‘Servers’][$i][‘password’] = ”;
$cfg[‘Servers’][$i][‘extension’] = ‘mysqli’;
$cfg[‘Servers’][$i][‘AllowNoPassword’] = true;
$cfg[‘Lang’] = ”;

setelah itu simpan dan buka kembali phpMyAdmin. Pada saat dijalankan lagi, akan muncul halaman login, isikan username root dan kosongkan password.

Pada halaman depan phpMyAdmin, aktifkan tab User accounts kemudian klik pada akun root dengan hostname localhost.selanjutkan isikan password sesuai keinginan, kemudian klik Go. Pada tahap ini setting password sudah selesai. Anda bisa coba untuk logout, kemudian login lagi menggunakan username dan password yang ditentukan tadi.

 

Membuat ROS publisher menggunakan rospy dan python di Raspberry Pi

Pada tutorial ini Raspberry Pi (Raspi) disetup sebagai master dan PC/Laptop sebagai slave. Pada Raspbery Pi di-install ROS Melodic demikian juga PC/Laptop dengan OS Ubuntu di-install ROS Melodic. Kedua mesin ini saling terkoneksi via internet tethering dari handphone. Anda bisa mengkoneksikan keduanya melalui perangkat lain, misal modem atau router wifi di rumah.

Tutirual ini menggunakan package rospy dan std_msg  yang biasanya sudah ada pada saat kita menginstall ROS.

Untuk membuat Raspi menjadi master lakukan langkah berikut:

1. Cari IP dari Raspi dengan perintah ifconfig

2. Edit file ~/.bashrc, dengan perintah

$ sudo nano ~/.bashrc

kemudian tambahkan parameter ROS_IP dan ROS_MASTER_URI, berikutnya simpan

export ROS_IP="192.168.80.168"
export ROS_MASTER_URI="http://192.168.80.168:11311

Menjadikan PC/Laptop sebagai slave:

1. Cari IP dari Laptop dengan perintah ifconfig

2. Edit file ~/.bashrc, dengan perintah

$ sudo nano ~/.bashrc

kemudian tambahkan parameter ROS_IP dan ROS_MASTER_URI, berikutnya simpan

export ROS_IP="192.168.80.19"
export ROS_MASTER_URI="http://192.168.80.168:11311
Kode Program Publisher

Kita tambahkan node publisher di Raspi yang bertugas mempublikasi messages berupa nilai string. Kode program ditulis menggunakan python di Raspi.

Pertama buat folder di catkin_ws/src, misal namanya ‘test_pub’

$ cd ~catkin_ws/src/
$ mkdir test_pub

Kemudian buat file python “pub1.py” menggunakan IDE yang anda sukai letakkan pada folder test_pub yang baru saja dibuat. Kode programnya sebagai berikut:

#!/usr/bin/env python3

import rospy
from std_msgs.msg import String

def publisher():
    pub = rospy.Publisher('string_publish', String, queue_size=10)
    rospy.init_node('coba_publisher')

    rate = rospy.Rate(1)
    msg_to_publish = String()

    counter = 0
    while not rospy.is_shutdown():
        string_to_publish = "Publishing %d" % counter
        counter += 1

        msg_to_publish.data = string_to_publish
        pub.publish(msg_to_publish)

        rospy.loginfo(string_to_publish)
        rospy.sleep(0)


if __name__ == "__main__":
    try:
        publisher()
    except rospy.ROSInterruptException:
        pass
Menjalankan Publisher

Setelah selesai set file pub1.py agar dapat dieksekusi dengan perintah:

$ chmod +x pub1.py

Berikutnya build workspace dengan perintah:

$ cd ~/catkin_ws
$ catkin_make

Kita bisa coba untuk jalankan publishernya kemudian dimonitoring (subscribe) isi messagesnya oleh slave (laptop). Pertama jalankan roscore di Raspi,

$ roscore

Kemudian jalankan perintah rosrun untuk mulai

$ rosrun test_pub pub1.py

Dengan demikian master akan mempublikasikan semua nilai string seperti yang ditunjukkan pada gambar berikut:

Memantau topic dari master

Kemudian pada slave (laptop) kita bisa monitor messages yang di-publish oleh master. Namun sebelumnya pastikan bahwa slave sudah dapat membaca topic yang sedang dipublish dengan perintah $ rostopic list . Hasil perintah ini akan menampilkan beberapa topic yang sedang dipublish, untuk kasus kita nama topicnya adalah “/string_publish”. Untuk menampilkan isi dari messages yang dipublish kita bisa gunakan perintah

$ rostopic echo /string_publish

Hasilnya terminal akan menampilkan pesan seperti yang dipublish oleh master (Raspi) seperti  tampak pada gambar berikut:

Dengan demikian dapat disimpulkan antara master (Raspi) dapat mempublish sebuah topic dan slave (laptop) dapat subscribe topic tersebut dan menampilkan pesan (messages) pada topic yang sedang disubcribe. Kita dapat membuat kode program untuk membaca pesan dari publisher menggunakan pyhton. Kita juga dapat mengembangkan prinsip dasar ini misalnya untuk publish sebuah nilai pembacaan sensor suhu atau kelembaban untuk kemudian ditampilkan hasilnya di komputer slave.

Menggerakkan Motor DC Brushless menggunakan Beaglebone Black

Artikel ini membahas bagaimana kita bisa membangkitkan sinyal PWM (Pulse Width Modulation) untuk menggerakan sebuah brushless motor.

Spesfikasi Motor Brushless dan ESC

Dalam contoh kasus kali ini, motor brushless yang digunakan memiliki spesifikasi seperti yang ditampilkan pada Tabel 1. Motor yang digunakan berupa motor brushless outrunner yang memiliki arus maksimum 18A, dengan kecepatan 1100kv. Motor tersebut memiliki gaya dorong maksimum sebesar 1130 gram.

Tabel 1. Spesifikasi Brushless DC Motor

Tabel spesifikasi motor brushless

Untuk dapat menggerakkan motor DC brushless digunakan ESC (Electronic Speed Controller). ESC bekerja menggunakan sinyal PWM untuk mengatur arah dan kecepatan sebuah motor brushless. ESC yang dipilih harus memiliki kemampuan menangani arus diatas 18A. Selain itu ESC yang dipilih harus memiliki kemampuan untuk menggerakan motor dalam dua arah (searah jarum jam dan sebaliknya). Untuk keperluan tersebut dipilih ESC yang mampu menangani arus hingga 30A dengan spesifikasi lengkapnya seperti pada Tabel 2.

Tabel 2. Spesifikasi ESC

Tabel ESC

Diagram hubungan ESC, motor dan sumber tenaga dapat dilihat pada Gambar 1 berikut.

Gambar 1. Koneksi Brushless Motor dengan ESC dan Battery

Pada Beaglebone Black tersedia 8 channel PWM yang dapat digunakan untuk menggerakan motor, pada proyek kali ini digunakan 5 channel masing-masing adalah pin P9.22 (EHRPWM0A), P9.14 (EHRPWM1A), P8.19 (EHRPWM2A), P9.42 (ECAPPWM0), dan P9.28 (ECAPPWM2). Agar dapat menggunakan pin-pin tersebut untuk menghasilkan sinyal PWM, pin GPIO tersebut harus dikonfigurasikan/diaktifkan pada mode tertentu. Sinyal PWM yang dihasilkan oleh BBB berada pada level tegangan 3.3V. Tegangan tersebut masih belum dapat menggerakkan ESC agar dapat bekerja. Untuk itu diperlukan sebuah level converter yang mengubah tegangan logika 3.3V menjadi 5V. Gambar 2 merupakan rangkaian level converter dimaksud.

Gambar 2. Rangkaian 3.3v to 5v level converter

Pembangkitan sinyal PWM untuk Pengendali Motor DC Brushless

Pembangkitan sinyal pada pin GPIO milik Beaglebone Black diawali dengan mengkonfigurasikan pada mode tertentu. Beberapa pin yang dapat menghasilkan sinyal PWM antara lain P9.14, P9.16, P9.21, P9.22, P9.28, P9.31, P8.13, dan P8.19. Posisi pin tersebut pada Beaglebone dapat dilihat pada Gambar 4.6. Untuk mengaktifkan mode PWM pada pin tersebut dapat dilakukan dengan metode Device Tree Overlays.

Gambar 3. Diagram Pin PWM Beaglebone Black

Pengaktifan multi GPIO pada mode PWM dilakukan dengan metode Device Tree Overlays. Pengaktifan dilakukan pada saat booting, dengan meletakkan perintah aktivasi di file uEnv.txt. File tersebut dapat ditemukan dengan melakukan mounting dengan perintah:

sudo mount /dev/mmcblk0p1 /media/bootfs/

Setelah melakukan mounting kemudian mengubah file uEnv.txt menggunakan perintah:

sudo nano uEnv.txt

Agar tidak terjadi konflik antara pin GPIO yang difungsikan pada mode PWM maka perlu me-nonaktifkan koneksi HDMI pada board. Kode program untuk aktivasi mode PWM seperti berikut:

##BeagleBone Black:
Disable HDMI/eMMC 
optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC2G
optargs=quiet drm.debug=7 capemgr.enable_partno=am33xx_pwm, bone_pwm_P8_13,bone_pwm_P9_28, bone_pwm_P9_14,bone_pwm_P9_42

Motor thruster (brushless) dengan ESC dapat digerakkan menggunakan sinyal PWM dengan frekuensi 50Hz, kemudian duty cycle diatur pada nilai antara >1500000ns hingga 2000000ns untuk pergerakan searah jarum jam, dan 1000000ns hingga <1500000ns untuk pergerakan berlawanan arah jarum jam. Untuk berhenti, duty cycle diberikan nilai 1500000ns.

Untuk mulai menggerakan motor brushless menggunakan PWM (misal di port P9.14) kita perlu masuk ke folder /sys/devices/ocp.3/pwm_test_P9_42.14 dengan perintah:

cd /sys/devices/ocp.3/pwm_test_P9_42.14

Kemudian aktifkan polarity dan  berikan nilai duty cyclenya (contohnya 1700000ns) seperti berikut:

echo 0 > polarity
echo 1 > polarity
echo 1700000 > duty
Pengujian Pembangkitan Sinyal PWM

Pengujian pembangkitan sinyal PWM dilakukan untuk mengamati apakah  pin yang telah dikonfigurasikan untuk dapat membangkitkan sinyal PWM dapat bekerja sesuai dengan rencana

atau tidak. Level tegangan yang dihasilkan pada pin 28.

PWM harus dapat sesuai dengan level tegangan ESC maupun motor servo yang akan dikendalikan, yaitu 5V maksimum. Level tegangan GPIO pada Beaglebone Black sebesar 3.3V, untuk itu diperlukan level converter.

Gambar 4. Pengujian Pembangkitan Sinyal PWM

Gambar 5. Sinyal PWM

 

Memulai komunikasi sederhana dengan LoRa Ra-02 SX1278 dan Arduino

LoRa (Long Range) merupakan teknologi frekuensi radio nirkabel yang dibuat oleh perusahaan Semtech. Teknologi LoRa ini biasa digunakan untuk mengirimkan sebuah informasi dua arah dalam jarak jauh dengan jangkauan hingga 15 KM menggunakan daya yang cukup kecil. Pada artikel kali ini kita akan belajar bagaimana berkomunikasi dengan module LoRa. Read More

Burning Bootloader Arduino pada ATMega328p dengan Clock 12Mhz

Pada umumnya papan Arduino Uno atau Nano yang menggunakan mikrokontroler ATMega328P telah terpasang kristal 16MHz. Namun jika anda menginginkan Arduino bekerja dengan clock yang lain, anda bisa gunakan cara ini.

Instalasi MiniCore

Untuk menginstalnya ikuti langkah berikut:
1. Buka Arduino IDE, kemudian pilih menu File – Preference.
2. Kemudian isikan pada kolom Additional Boards Manager URLs dengan teks berikut:
“https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json”, tanpa tanda petik ya.

3. Klik OK, kemudian pilih menu Tools – Board – Boards Manager. Pada kolom Search masukkan “minicore” (Pada langkah ini anda memerlukan koneksi internet). Klik pada hasil pencarian minicore, kemudian install.

4. MiniCore siap digunakan.

Memulai Burning Bootloader

1. Pilih menu Tools – Board – ATMega328

2. Setelah itu masuk ke menu Tools lagi, kali ini pilih Variants – 328p/328PA

3. Kemudian set clock yang diinginkan (pada kasus ini saya pilih 12Mhz) pada menu Tools-Clock – 12 MHz external

4. Terakhir mulai burning dengan memilih Tools – Burn Bootloader

5. Sekarang ATMega328 anda bisa diprogram menggunakan Arduino IDE dengan clock yang sesuai.

Text to Speech menggunakan eSpeak di Raspberry Pi 3B+

Apa itu eSpeak? eSpeak adalah software speech synthesizer untuk bahasa Inggris dan bahasa lainnya. Mudahnya, eSpeak software untuk mengolah suara, dan bisa kita gunakan untuk mengubah teks yang kita inginkan menjadi suara (Text to Speech) seperti layaknya kita membaca tulisan dengan suara keras. eSpeak, bisa diinstall di mesin dengan sistem operasi Linux maupun Windows. eSpeak menyediakan TTS (Text to Speech) dalam berbagai bahasa, termasuk Bahasa Indonesia meski suaranya (voice) tidak semerdu yang ada di konter bank :). Untuk membuatnya merdu, eSpeak menyediakan parameter khusus untuk bisa menggenerasi suara sesuai keinginan kita. Read More

Komunikasi Bluetooth HC-05 dan Arduino dengan PC atau Laptop

Artikel ini membahas komunikasi bluetooth antara Arduino dengan PC/Laptop. Pada PC/Laptop pada umumnya sudah terdapat perangkat bluetooth yang tertanam (embedded). Namun jika belum ada, kita juga bisa menambahkan bluetooth dongle agar bisa berkomunikasi dengan perangkat bluetooth lainnya. Sedang pada umumnya papan Arduino tidak dilengkapi dengan perangkat bluetooth, untuk itu perlu ditambahkan perangkat bluetooth yang Read More

Memprogram Arduino dengan NetBeans IDE

Jika sudah berkenaan dengan pemrograman berbasis objek (OOP), peran IDE (Integrated Development Environment) menjadi sangat penting. Meski sebenarnya program arduino bisa ditulis dengan text editor yang paling sederhana seperti notepad, namun kebutuhan organisasi program terkait penggunaan library, class, kompilasi dan sebagainya akan menjadi sangat rumit. Sebelumnya saya menggunakan IDE Arduino untuk memprogram Arduino saya, beberapa kesulitan saya temui misalnya Read More

Kontrol Lampu 220VAC dan LED Menggunakan Aplikasi Android

Pada perancangan sistem controller lampu AC dan LED menggunakan aplikasi android ini menggunakan 4 bagian yaitu input, mikrokontroller, driver actuator dan actuator, dimana masukan dari sistem ini menggunakan smartphone android, kemudian pengontrol-nya menggunakan mikrokontroller Arduino Uno, rangkaian relay sebagai driver actuator, dan lampu sebagai actuator dari sistem ini. Berikut blok diagram sistem. Read More