Postingan

Membangun Bluetooth Macro Keyboard Programmable ESP32 Klasik Berdasarkan Permasalahan

Gambar
Pendahuluan Macro keyboard telah menjadi alat yang sangat populer di kalangan content creator, programmer, dan gamer. Dengan menggunakan ESP32, kita dapat membuat macro keyboard Bluetooth yang dapat diprogram sesuai kebutuhan. Artikel ini akan membahas secara lengkap proses pembuatan dari nol hingga troubleshooting masalah yang mungkin muncul. Apa itu Macro Keyboard? Macro keyboard adalah perangkat input yang memungkinkan pengguna untuk menjalankan serangkaian perintah kompleks hanya dengan menekan satu tombol. Misalnya, dengan satu tombol, Anda dapat membuka aplikasi, mengetik teks panjang, atau menjalankan shortcut keyboard yang rumit. Komponen yang Diperlukan Hardware ESP32 Development Board (NodeMCU ESP32 atau ESP32 DevKit). Push button switches (1 buah, sesuai kebutuhan). Resistor 1kΩ (untuk pull-up). Breadboard. Kabel jumper. Software VSCode + PlatformIO Atau Arduino IDE. Liblary : https://github.com/ESP32Async/ESPAsyncWebServer.git https://github.com/T-vK/ESP32-BLE-...

Ekspos Server Lokal ke Internet dengan Cloudflare Tunneling

Dalam pengembangan web atau aplikasi, kita sering kali dihadapkan pada kebutuhan untuk membuat server lokal (localhost) dapat diakses dari internet. Kebutuhan ini muncul untuk berbagai keperluan, seperti demonstrasi proyek kepada klien, pengujian real-time dengan rekan kerja, atau sekadar berbagi hasil kerja dengan teman. Salah satu metode paling efisien dan aman untuk mencapai ini adalah dengan teknik tunneling . Artikel ini akan memandu Anda secara langkah demi langkah untuk menggunakan Cloudflare Tunnel pada sistem operasi Windows. Apa itu Cloudflare Tunnel? Cloudflare Tunnel adalah sebuah layanan yang memungkinkan Anda mengekspos server atau layanan yang berjalan di jaringan lokal Anda ke internet secara aman. Uniknya, Anda tidak perlu membuka port pada router atau mengelola alamat IP publik yang statis. Cloudflare Tunnel bekerja dengan membuat koneksi terenkripsi yang aman antara server lokal Anda dan jaringan global Cloudflare, yang kemudian meneruskan lalu lintas dari internet...

Proyek IoT: Membangun Sistem Pencatatan Data Sederhana Menggunakan ESP32 dan Google Spreadsheet

Dalam artikel ini, kita akan membahas cara membuat sistem pencatatan data (data logging) sederhana yang mengirimkan data sensor dari mikrokontroler ESP8266 atau ESP32 ke Google Spreadsheet. Konsep Dasar: Mikrokontroler (ESP32) akan terhubung ke jaringan WiFi, membaca data (dalam contoh ini kita akan menggunakan data acak/random), memformat data tersebut ke dalam format JSON, dan mengirimkannya ke URL khusus (WebApp) yang kita buat menggunakan Google Apps Script melalui metode HTTP POST. Apps Script kemudian akan menerima data ini dan menuliskannya ke baris baru di Google Spreadsheet yang telah kita tentukan. Kebutuhan: Hardware: Mikrokontroler ESP32 (atau ESP8266 dengan penyesuaian). Kabel USB untuk memprogram dan memberi daya ESP32. Komputer/Laptop. Software: Arduino IDE terinstal dengan dukungan board ESP32. (Jika belum, install melalui Board Manager). Library Arduino: WiFi , ArduinoJson .  EspHttpCli...

Cara menggunakan BMS sebagai Short-Circuit Protection pada Power Supply

Gambar
Menggunakan BMS untuk Proteksi Arus Pendek BMS (Battery Management System) adalah komponen penting yang digunakan untuk melindungi baterai dari berbagai kondisi yang dapat merusak atau bahkan membahayakan keseluruhan sistem. Salah satu fungsi utama BMS adalah proteksi terhadap arus pendek, yang bisa mengakibatkan kerusakan serius jika tidak ditangani dengan baik. Pada artikel ini, kita akan membahas bagaimana Cara menggunakan BMS sebagai Short-Circuit Protection pada Power Supply dan beberapa hal yang perlu diperhatikan. Cara menggunakan BMS sebagai Short-Circuit Protection pada Power Supply Untuk mengubah BMS menjadi proteksi arus pendek, sebenarnya caranya cukup sederhana. Anda hanya perlu menghubungkan bagian baterai dengan sumber daya (supply) yang digunakan dan menambahkan resistor untuk menciptakan tegangan virtual. Kekurangan dan Batasan Namun, ada beberapa kekurangan yang perlu diperhatikan. Salah satunya adalah batas arus maksimum yang sudah ditetapkan oleh model BMS yang Anda...

Mikrokontroler tidak bisa mendeteksi tegangan !!!

Halo semuanya! Pada video kali ini, kita akan membahas tentang sensor ADC (Analog to Digital Converter) dan cara kerjanya dalam mikrokontroler. Mikrokontroler tidak dapat mendeteksi tegangan secara langsung. Lalu, bagaimana cara mikrokontroler bisa mendeteksi tegangan? Solusinya terletak pada penggunaan rangkaian elektronik yang dapat membandingkan tegangan, baik apakah tegangan tersebut lebih kecil atau lebih besar. Untuk tujuan ini, kita menggunakan komparator, seperti penguat operasional. Mikrokontroler memecahkan masalah deteksi tegangan dengan menggunakan sejumlah komparator tegangan. Jumlah komparator ini ditentukan oleh resolusi bit yang digunakan. Sebagai contoh, untuk 1 bit diperlukan 2 komparator, sementara untuk 4 bit diperlukan 2 4 = 16 2^4 = 16  komparator. Inilah yang disebut sebagai ADC (Analog to Digital Converter). Umumnya, resolusi ADC terendah yang digunakan adalah 8 bit. Namun, perlu dicatat bahwa semakin tinggi resolusi ADC, semakin banyak prosesor yang dibutuh...

Kontrol Interaktif dengan Arduino: Tekan Sebentar (+1) dan Tekan Lama (++) dengan Push Button

 #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128  // Lebar layar OLED (pixel) #define SCREEN_HEIGHT 64  // Tinggi layar OLED (pixel) // Inisialisasi objek display SSD1306 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); const int buttonPin = 2; int counter = 0; unsigned long pressDuration; void setup() {   Wire.begin();   Serial.begin(9600);   display.begin(SSD1306_SWITCHCAPVCC, 0x3C);   pinMode(buttonPin, INPUT_PULLUP);  // Set pin tombol sebagai input dengan pull-up resistor } void loop() {   if (!digitalRead(buttonPin)) {     unsigned long startTime = millis();     while (!digitalRead(buttonPin)) {       delay(10);       pressDuration = millis() - startTime;       if (pressDuration > 500) {         while (!digitalRead(buttonPin)) {         ...

Muhamad Bekti Wibowo

Testing Webview Aplikasi Android