Semua Tentang Belajar Teknologi Digital Dalam Kehidupan Sehari - Hari

  • IC Timer 555 yang Multifungsi

    IC timer 555 adalah sirkuit terpadu (chip) yang digunakan dalam berbagai pembangkit timer, pulsa dan aplikasi osilator. Komponen ini digunakan secara luas, berkat kemudahan dalam penggunaan, harga rendah dan stabilitas yang baik

  • Ayo Migrasi TV Digital

    Kami bantu anda untuk memahami lebih jelas mengenai migrasi tv digital, apa sebabnya dan bagaimana efek terhadap kehidupan. Jasa teknisi juga tersedia dan siap membantu instalasi - setting perangkat - pengaturan antena dan distribusi televisi digital ke kamar kos / hotel

  • Bermain DOT Matrix - LOVEHURT

    Project Sederhana dengan Dot Matrix dan Attiny2313. Bisa menjadi hadiah buat teman atau pacarmu yang ulang tahun dengan tulisan dan animasi yang dapat dibuat sendiri.

  • JAM DIGITAL 6 DIGIT TANPA MICRO FULL CMOS

    Jika anda pencinta IC TTL datau CMOS maka project jam digital ini akan menunjukkan bahwa tidak ada salahnya balik kembali ke dasar elektronika digital , sebab semuanya BISA dibuat dengan teknologi jadul

  • Node Red - Kontrol Industri 4.0

    Teknologi kontrol sudah melampaui ekspektasi semua orang dan dengan kemajuan dunia elektronika, kini semakin leluasa berkreasi melalui Node Red

Jumat, 02 Juli 2021

LED VU Meter Menggunakan WS2812B dan Controler SP107E - Bluetooth music

Kali ini saya ingin melampiaskan ke galauan saya yang tergelitik oleh video youtube seorang pecinta per-Led-an : Omank Kacau,  dimana saya sangat salut kepada pendekatan tutorial pada videonya yg sangat santai pembawaannya dan penjelasannya yg sangat mudah dimengerti. Penulis yg sejak tahun 1994 sudah berkutat dengan LED-555-4017 dari flip flop 2 transistor dan running LED IC 4017 menjadi 'jealous' dengan anak jaman now yg dihadirkan modul siap pakai yg sangat menarik untuk dicoba.




Yang menjadi kekaguman berlanjut kekaguman saya adalah ketika saya menelusuri apa sih jenis LED Strip yg digunakan ? Wow ternyata bukan LED strip biasa, namun merupakan LED canggih yg memiliki controller RGB dan jalur komunikasi data didalamnya. LED Strip ini ber type WS2812B dan harga satu gulungnya sekitar 120 rb-an di online shop.




Jadi didalam LED tersebut bisa kamu sambungkan sesuai keinginan, bentuknya mau lurus, meliuk ataupun kamu potong - potong dan susun kembali  asal benar koneksinya seperti dibawah ini :



Jadi LED ini di cascade sampai panjang yg mungkin tak berhingga (bohong kalau ini saya) dan selanjutnya untuk mudahnya bisa membeli controller LED + VU Music dengan komunikasi Bluetooh SP107E dengan harga yah kisaran  200 ribuan.





Jadi seperti yg dilakukan Omank Kacau dalam videonya, dia cukup memotong LED, menyambungnya dengan konektor 3 pin, lalu menyusunnya ditembok. Ya semudah itu dan kemudian ambil smartphone install di playstore aplikasi VU meter yg sesuai, beres deh !






Lalu bagaimana sih jeroan coding untuk LED strip WS2812B ini jika mau belajar konsepnya ? Dari sumber internet saya dapatkan seperti berikut.




Bagaimana Cara Kerja  LED WS2812B 


Mari kita mulai dengan melihat lebih dekat pada strip LED. Ini terdiri dari LED RGB tipe 5050 di mana IC driver LED WS2812B yang sangat kompak terintegrasi.

Apa yang hebat tentang LED strip ini adalah kita dapat mengontrol bahkan seluruh strip LED hanya dengan satu pin dari Arduino / microcontroller kita. Setiap LED memiliki tiga konektor di setiap ujungnya, dua untuk daya dan satu untuk data. Panah menunjukkan arah aliran data. Panel output data dari LED sebelumnya terhubung ke panel Input Data dari LED berikutnya. Kita dapat memotong strip ke ukuran yang kita inginkan, serta mengatur jarak LED hanya dengan menggunakan beberapa kabel.





Adapun daya mereka bekerja pada 5V dan masing-masing LED Merah, Hijau dan Biru menarik sekitar 20mA, atau total 60mA untuk setiap LED pada kecerahan penuh. Perhatikan bahwa ketika Arduino diberi daya melalui USB, pin 5V hanya dapat menangani sekitar 400 mA. Jadi gunakan power supply yg ampernya lebih gede aja biar nyalanya tidak mengecewakan.


Jika Anda menggunakan lebih banyak LED dan jumlah arus yang akan ditarik melebihi batas yang disebutkan di atas, Anda harus menggunakan catu daya 5V yang terpisah. Dalam kasus seperti itu, Anda juga perlu menghubungkan dua garis Ground satu sama lain. Selain itu, disarankan untuk menggunakan resistor sekitar 330 Ohm antara Arduino dan pin data strip LED untuk mengurangi kebisingan/noise pada saluran itu, serta kapasitor sekitar 100uF di seluruh 5V dan Ground untuk memperlancar catu daya. .


Contoh Arduino dan LED WS2812B


Sekarang sebagai contoh saya akan menggunakan 20 LED strip panjang, terhubung ke Arduino melalui resistor 330 Ohm dan ditenagai dengan catu daya 5V terpisah, seperti yang dijelaskan di atas. Untuk memprogram Arduino, kami akan menggunakan library:  FastLED. Ini adalah library yang sangat baik dan terdokumentasi dengan baik yang memungkinkan kontrol yang mudah dari LED WS2812B.



#include <FastLED.h>
#define LED_PIN 7
#define NUM_LEDS 20
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
}
void loop() {
leds[0] = CRGB(255, 0, 0);
FastLED.show();
delay(500);
leds[1] = CRGB(0, 255, 0);
FastLED.show();
delay(500);
leds[2] = CRGB(0, 0, 255);
FastLED.show();
delay(500);
leds[5] = CRGB(150, 0, 255);
FastLED.show();
delay(500);
leds[9] = CRGB(255, 200, 20);
FastLED.show();
delay(500);
leds[14] = CRGB(85, 60, 180);
FastLED.show();
delay(500);
leds[19] = CRGB(50, 255, 20);
FastLED.show();
delay(500);
}




Penjelasan: Jadi pertama-tama kita perlu menyertakan library FastLED, menentukan pin yang menghubungkan data strip LED, menentukan jumlah LED, serta menentukan array tipe CRGB. Jenis ini berisi LED, dengan tiga anggota data satu byte untuk masing-masing dari tiga saluran warna Merah, Hijau dan Biru.





Di bagian pengaturan kita hanya perlu menginisialisasi FastLED dengan parameter yang ditentukan di atas. Sekarang loop utama kita dapat mengontrol LED kita sesuka kita. Menggunakan fungsi CRGB, kita dapat mengatur LED apa pun ke warna apa pun menggunakan tiga parameter warna Merah, Hijau, dan Biru. Untuk membuat perubahan terjadi pada LED kita perlu memanggil fungsi FastLED.show().


Lalu contoh kedua akan dibuat animasi sederhana pada LED Strip.



#include <FastLED.h>
#define LED_PIN 7
#define NUM_LEDS 20
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
}
void loop() {
for (int i = 0; i <= 19; i++) {
leds[i] = CRGB ( 0, 0, 255);
FastLED.show();
delay(40);
}
for (int i = 19; i >= 0; i--) {
leds[i] = CRGB ( 255, 0, 0);
FastLED.show();
delay(40);
}
}




Di sini loop "untuk" pertama menyalakan semua 20 LED dengan warna biru, dari LED pertama hingga terakhir dengan penundaan 40 milidetik. Loop "untuk" berikutnya menyala lagi semua 20 LED, tetapi kali ini dalam warna merah dan dalam urutan terbalik, dari LED terakhir ke LED pertama.







Library FastLED memiliki banyak fungsi lain yang dapat digunakan untuk membuat animasi dan pertunjukan cahaya yang sangat menarik, jadi terserah imajinasi Anda untuk membuat proyek LED berikutnya menyala seperti bagaimana.


Share:

Kamis, 01 Juli 2021

[ ESP8266 ] Kunci Motor Menggunakan wifi + password lewat SD card - (Part3 : Gabungin yuk...)

Kita sampai pada bagian ujung dari praktek pembuatan kunci motor berbasis wifi + sdcard , dimana kita akan menggabungkan pembahasan sebelumnya yaitu esp8266 sebagai async webserver dan bahasan kedua mengenai SD Card. Jadi pembahasan awal ini perlu dipahami terlebih dulu agar tidak terlalu membingungkan bagi pembaca setia blog ini.




Secara garis besar tujuan yg ingin dicapai dari seri praktek kali ini adalah :


  • Menggunakan ESP8266 sebagai akses poin dan webserver  untuk diakses smartphone dan selanjutnya mengontol relay yg terhubung dengan sistem elektrik kunci motor
  • SD card digunakan sebagai media penyimpanan parameter wifi dan kunci jawaban / challenge kode yg akan dipecahkan pengguna lewat smartphone


Rangkaian yg saya rancang diagramnya seperti ini :




Nah kali ini akan saya bahas bagian  yg penting saja dan belum pernah dibahas pada 2 seri tulisan sebelumnya, yaitu bagian file seting wifi dan pertanyaan untuk password, dimana pengguna dapat menulis sendiri di SD card melalui PC/Laptop dan  membuat alat ini bisa diubah sesuai keinginan. Disini saya menggunakan file seting bernama kunci.txt yg berisikan data:


wifi,motorku,kerensekali
1,merek motor,suzuki
2,tahun beli,2012
3,kota,surabaya
4,nama kucing,pussy
5,hobby,mancing

Baris paling atas wifi,motorku,kerensekali merupakan setting untuk nama wifi dan password (minimal 8 karakter). Sedangkan selanjutnya merupakan 5 buah urutan pertanyaan yg bisa dipecahkan untuk menghidupkan relay kontak motor.

Untuk script pembacaan isi file perbaris kemudian di parsing sebagai berikut:

dataFile = SD.open("kunci.txt");

  if (dataFile) {

    while (dataFile.available()) {

    buffer = dataFile.readStringUntil('\r\n');
   //Buka seting wifi password
    if(getStringPartByNr(buffer,',',0) == "wifi")
    {
    Serial.println(buffer);
    ssid =  getStringPartByNr(buffer,',',1);
    password = getStringPartByNr(buffer,',',2);
      
    }
    //buka pertanyaan dan jawaban sesuai urutan sequence
    else if(getStringPartByNr(buffer,',',0) == String(sequ))
    {
    Serial.print("pertanyaan : ");
    key = getStringPartByNr(buffer,',',1);
    Serial.print(key);
    Serial.print(" - jawaban : ");
    chal =getStringPartByNr(buffer,',',2); 
    Serial.println(chal);
    }
   }
   
    dataFile.close();


Sedangkan untuk melakukan perubahan pertanyaan agar tidak sama terus yg ditanyakan, perlu diadakan proses penambahan sequence yg disimpan pada file seq.txt , ya mirip seperti proses random / memilih pertanyaan secara acak.


SD.remove("seq.txt");  //hapus dulu lalu bikin lagi
  File myFile = SD.open("seq.txt", FILE_WRITE);
  if (myFile) // it opened OK
    {
    Serial.println("Writing to seq.txt");
    sequ++; //nambah posisi pertanyaan
    if(sequ > maxsequ) sequ= 1; //muter ke awal
    //nulis ke SD sequence baru
    myFile.print(String(sequ));
    myFile.close(); 
    Serial.print("sequence sekarang :");
    Serial.println(String(sequ));
    }
  else 
    Serial.println("Error opening seq.txt");


Untuk membandingkan apakah jawaban benar atau tidak maka dilakukan pembandingan di inputan yg diresponse oleh form submit secara asynchronous.


server.on("/get", HTTP_GET, [] (AsyncWebServerRequest *request) {
    String inputMessage;
    String inputParam;
    
    // GET input1 value on <ESP_IP>/get?input=<inputMessage>
    if (request->hasParam(PARAM_INPUT) ) {
      inputMessage = request->getParam(PARAM_INPUT)->value();
      inputParam = PARAM_INPUT;

    }
   
    else {
      inputMessage = "No challenge ";
      inputParam = "none";
    }
    Serial.print("jawaban : ");
    Serial.println(inputMessage); 

    //jika jawaban sesuai
    if(inputMessage == chal)
    {

    
    request->send(200, "text/html", SendBenar());
    
    
    }

    else{
     olkey = key ; 
     request->send(200, "text/html", SendSalah(olkey,inputMessage));
      }

    writeToFile();  //nambah sequence pertanyaan
   

                                     
  }); 


Hasilnya cukup memuaskan dan pertanyaannya dapat diubah sesuai keinginan.





Karena masih berupa web dan formatnya berupa GET biasa, maka untuk pengembangan bisa diwrap kedalam APK android yg cukup simple, hanya butuh merubah web HTML ke aplikasi android. Juga jika mau keren bisa disertai Relay kedua untuk melakukan starter melalui tombol di layar smartphone.






Berminat mengembangkan ke produk jadi ? Hubungi : 08155737755
Share:

Rabu, 30 Juni 2021

[ ESP8266 ] Kunci Motor Menggunakan wifi + password lewat SD card - (Part2 : Parsing File SD Card)

Mungkin ini adalah bagian yg paling sering dan mudah dicari pembahasannya di berbagai blog dan tulisan, karena fasilitas SD card dan modul siap pakainya untuk arduino yg berbasis SPI sangat murah dipasaran. Jadi saya akan membahas yg lebih lanjut yaitu melakukan parsing perbaris dari sebuah file didalam SD Card.

Untuk melengkapi praktek pada rulisan ini, bisa membaca part 1 disini : https://www.aisi555.com/2021/06/esp8266-kunci-motor-pintu-menggunakan.html


Padahal kalau diingat bagaimana dulu saya sudah berhasil membaca file SD Card secara RAW pada praktek yg saya lakukan bertahun-tahun yg lalu menggunakan ATTINY 2313 yg bisa dibaca disini :  https://www.aisi555.com/2012/12/belajar-access-sd-card-cara-simple_3994.html




Karena siap pakai inilah maka anda akan dimanjakan dengan koneksi langsung ke modul node MCU atau Wemoz D1, langsung saja cari PIN SPI ( MOSI, MISO, SCK ) dan CS yg sesuai lalu gunakan library yg tersedia langsung pada sketch Arduino yaitu SD.h dan SPI.h .




Dan yg paling gampang adalah script mengetest apakah koneksi nya sudah benar apa belum yg sederhana seperti berikut :


#include <SPI.h>
#include <SD.h>

const int chipSelect = D8; // use D0 for Wemos D1 Mini
File root; 


void setup() {
 Serial.begin(9600);
  Serial.print("\r\nWaiting for SD card to initialise...");
  if (!SD.begin(chipSelect)) { // CS is D8 in this example
    Serial.println("SD Card Initialising failed!");
    return;
  }
  Serial.println("SD Card Initialisation completed");

 File dataFile = SD.open("key.csv");
 

  if (dataFile) {

    while (dataFile.available()) {

       Serial.write(dataFile.read());
    }

    dataFile.close();

  }

  // if the file isn't open, pop up an error:

  else {

    Serial.println("error opening seq.txt");

  }
  

}

void loop() {
  

}




Hasilnya adalah seperti ini :






Data yg saya punya berupa data CSV yg saya buat menggunakan excel seperti format berikut :





Jadi perbaris terdapat 3 buah data yg di pisahkan dengan "koma" dan diakhiri dengan ascii CR LF atau kalau dalam bahasa coding bahasa C merupakan karakter '\r\n'. Sehingga yg sangat ampuh ketika ingin mencari baris dengan index tertentu dan selanjutnya melakukan parsing adalah script function yg saya temukan di internet seperti ini :


String getStringPartByNr(String data, char separator, int index)
{
    // spliting a string and return the part nr index
    // split by separator
    
    int stringData = 0;        //variable to count data part nr 
    String dataPart = "";      //variable to hole the return text
    
    for(int i = 0; i<data.length()-1; i++) {    //Walk through the text one letter at a time
      
      if(data[i]==separator) {
        //Count the number of times separator character appears in the text
        stringData++;
        
      }else if(stringData==index) {
        //get the text when separator is the rignt one
        dataPart.concat(data[i]);
        
      }else if(stringData>index) {
        //return text and stop if the next separator appears - to save CPU-time
        return dataPart;
        break;
        
      }

    }
    //return text if this is the last part
    return dataPart;
}




Selanjutnya saya gabungkan untuk mendapatkan data pada baris yg di tentukan dengan index pada "no", saya gunakan console untuk menunggu input keyboard dari data baris yg diinginkan .


#include <SPI.h>
#include <SD.h>

const int chipSelect = D8; // use D0 for Wemos D1 Mini
File root; 

String buffer;
String rx_str = ""; //variabel string untuk menunggu input
char rx_byte = 0;

String getStringPartByNr(String data, char separator, int index)
{
    // spliting a string and return the part nr index
    // split by separator
    
    int stringData = 0;        //variable to count data part nr 
    String dataPart = "";      //variable to hole the return text
    
    for(int i = 0; i<data.length()-1; i++) {    //Walk through the text one letter at a time
      
      if(data[i]==separator) {
        //Count the number of times separator character appears in the text
        stringData++;
        
      }else if(stringData==index) {
        //get the text when separator is the rignt one
        dataPart.concat(data[i]);
        
      }else if(stringData>index) {
        //return text and stop if the next separator appears - to save CPU-time
        return dataPart;
        break;
        
      }

    }
    //return text if this is the last part
    return dataPart;
}


void bacaSD( String index) //baca line dari index
{
 
  File dataFile = SD.open("key.csv");
 
  if (dataFile) {

    while (dataFile.available()) {

    buffer = dataFile.readStringUntil('\r\n');
    
    //parsing 
    if(getStringPartByNr(buffer,',',0) == index)
    {
    Serial.print("no : "); 
    Serial.print(index); 
    Serial.print(" - key : ");
    Serial.print(getStringPartByNr(buffer,',',1));
    Serial.print(" - challenge : ");
    Serial.println(getStringPartByNr(buffer,',',2));
     
    }
    
    }
    dataFile.close();

  }

  // if the file isn't open, pop up an error:

  else {

    Serial.println("error opening KEY.CSV");

  }


}

void setup() {
 Serial.begin(9600);
  Serial.print("\r\nWaiting for SD card to initialise...");
  if (!SD.begin(chipSelect)) { // CS is D8 in this example
    Serial.println("SD Card Initialising failed!");
    return;
  }
  Serial.println("SD Card Initialisation completed");
  Serial.println("Masukkan index baris: ");
 
  

}

void loop() {
 
if (Serial.available() > 0) {    // is a character available?
    rx_byte = Serial.read();       // get the character
    
    if (rx_byte != '\n') {
      // a character of the string was received
      rx_str += rx_byte;
    }
    else {
      // end of string
      Serial.print("Data baris ke: ");
      Serial.println(rx_str);
      bacaSD(rx_str);
      
      rx_str = "";                // clear the string for reuse
      Serial.println("");
      Serial.println("Masukkan index baris: ");
    }
  } // end
}


Hasilnya bisa dilihat pada animasi berikut, dan jika anda mencobanya bisa gunakan mode "newline" pada console monitor arduino sketch .





Share:

[ ESP8266 ] Kunci Motor Menggunakan wifi + password lewat SD card - (Part1 : AsyncWebServer)

Keamanan yg canggih merupakan sebuah keniscayaan di jaman serba digital, didukung oleh semakin terjangkaunya modul-modul kontrol digital siap pakai. Pada seri tulisan kali ini akan dibahas secara mendalam mengenai perancangan sistem kunci digital berbasis ESP8266 - yg merupakan modul favorit kesukaan para pencipta mikrokontroler AVR 8 bit dengan keunggulan modul wifi siap pakai.






Praktek kali ini merupakan penggabungan dari berbagai library dari hardware esp8266 yg bisa anda pakai langsung atau dalam modul kit development yg bisa nda pilih seperti node mcu, wemoz, esp32 dan sebagainya. Untuk versi yang saya kembangkan meliputi bahasan seperti berikut :


-  EspAsyncWebserver  ( dari Me-No-Dev


Merupakan librari popular dan sangat ampuh untuk membuat Async HTTP dan WebSocket Server pada  ESP8266 Arduino. Dengan library ini memudahkan pekerjaan server yg bekerja diluar loop utama sehingga handal dalam melayani akses dari beberapa user secara bersama.




Untuk ESP8266 memerlukan ESPAsyncTCP untuk menggunakan library ini, Anda mungkin perlu memiliki versi git terbaru dari ESP8266 Arduino Core


Contoh yg saya gunakan seperti pembuatan form sederhana dibawah ini, dimana wemos d1 saya berfungsi sebagai SoftAP 


#include <ESP8266WiFi.h>
#include <ESPAsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <WiFiClient.h> 


AsyncWebServer server(80);

const char* PARAM_INPUT = "input";
const char *ssid = "coba";
const char* password = "sayamencoba";

String SendHTML()
{

String ptr = " <!DOCTYPE HTML><html><head> ";
  ptr +="<title>CONTOH INPUTAN</title> ";
  ptr +="<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> ";
  ptr +=" </head><body> ";
  ptr +=" Masukkan Sesuatu disini ";
  ptr +=" <br> ";
  ptr +="<form action=\"/get\"> ";
  ptr +=" Challenge: <input type=\"text\" name=\"input\"> ";
  ptr +="  <input type=\"submit\" value=\"Submit\"> ";
  ptr +="</form><br><br>";
  ptr +="</body> ";
  ptr +="</html> ";
  return ptr;
}

void notFound(AsyncWebServerRequest *request) {
  request->send(404, "text/plain", "Not found");
}

void setup(){
 
 Serial.begin(9600);
 WiFi.softAP(ssid, password );//AP
 
 IPAddress apip = WiFi.softAPIP(); //alamat IP
    Serial.print("Hubungkan wifi dan buka : \n");  //menuliskan alamat IP yang bisa dikunjungi
    Serial.println(apip);
 
  // Send web page dengan inputan berupa text 
    server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
    request->send(200, "text/html", SendHTML() ); 
  });

  // Send a GET request to <ESP_IP>/get?input=<inputMessage>
  server.on("/get", HTTP_GET, [] (AsyncWebServerRequest *request) {
    String inputMessage;
    String inputParam;
    
    // GET input1 value on <ESP_IP>/get?input=<inputMessage>
    if (request->hasParam(PARAM_INPUT) ) {
      inputMessage = request->getParam(PARAM_INPUT)->value();
      inputParam = PARAM_INPUT;

    }
   
    else {
      inputMessage = "No challenge ";
      inputParam = "none";
    }

    Serial.print("param : ");
    Serial.println(inputParam );
    Serial.print("pesan : ");
    Serial.println(inputMessage); 
    
     request->send(200, "text/html", "Dikirm dengan Param (" 
                                     + inputParam + ") dengan pesan : " + inputMessage +
                                     "<br><a href=\"/\">Return to Home Page</a>");
                                     
  });
  server.onNotFound(notFound);
  server.begin();
}

void loop() {
  // kosong

}


Hasil nya ketika saya masuk ke wifinya yg dipancarkan oleh Wemos / ESP8266 dan masuk ke alamat http://192.168.4.1 seperti berikut :






- Membaca SD card
Share:

Kontak Penulis



12179018.png (60×60)
+628155737755

Mail : ahocool@gmail.com

Site View

Categories

555 (8) 7 segmen (3) adc (4) amplifier (2) analog (19) android (12) antares (8) arduino (26) artikel (11) attiny (3) attiny2313 (19) audio (5) baterai (5) blog (1) bluetooth (1) chatgpt (2) cmos (2) crypto (2) dasar (46) digital (11) dimmer (5) display (3) esp8266 (26) euro2020 (13) gcc (1) iklan (1) infrared (2) Input Output (3) iot (59) jam (7) jualan (12) kereta api (1) keyboard (1) keypad (3) kios pulsa (2) kit (6) komponen (17) komputer (3) komunikasi (1) kontrol (8) lain-lain (8) lcd (2) led (14) led matrix (6) line tracer (1) lm35 (1) lora (7) MATV (1) memory (1) metal detector (4) microcontroller (70) micropython (6) mikrokontroler (1) mikrokontroller (14) mikrotik (5) modbus (9) mqtt (3) ninmedia (5) ntp (1) paket belajar (19) palang pintu otomatis (1) parabola (88) pcb (2) power (1) praktek (2) project (33) proyek (1) python (7) radio (28) raspberry pi (4) remote (1) revisi (1) rfid (1) robot (1) rpm (2) rs232 (1) script break down (3) sdcard (3) sensor (2) sharing (3) signage (1) sinyal (1) sms (6) software (18) solar (1) solusi (1) tachometer (2) technology (1) teknologi (2) telegram (2) telepon (9) televisi (167) television (28) transistor (2) troubleshoot (3) tulisan (93) tutorial (108) tv digital (6) tvri (2) vu meter (2) vumeter (2) wav player (3) wayang (1) wifi (3)

Arsip Blog

Diskusi


kaskus
Forum Hobby Elektronika