Semua Akan Digital Pada Akhirnya... Dari Audio, Video, TV, Kontrol, Keuangan, Kesehatan dan Sebagainya. Blog Ini Ditujukan Buat Kamu Yang Ingin Belajar Dasar Digital Dan Yang selalu Bertanya, Kenapa Bisa Begini Dan Harus Begitu ?

  • 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

  • Kontrol Perangkat Rumah Dari Internet

    Internet Of Things sudah menjadi istilah yang semakin dikenal orang. Mau tahu bagaimana konsep, cara pembuatan dan pemanfaatannya ?

  • 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

Selasa, 16 November 2021

MQTT Data Simulator Menggunakan Python - PahoMqtt

 



Kadang kalanya para penggiat IOT adalah mereka yang tidak berhubungan langsung dengan benda yg bernama mikrokontroler maupun sensor. Ya benar saja kenyataan ini terjadi akibat semakin melebarnya topik sensor 8 bit ke dunia koding yg semakin menjangkau mereka yg biasanya hanya terkoneksi dengan komputer PC saja. Akibatnya para "koder" yg jago ini menjadi kewalahan dalam memperoleh data pembacaan sensor kecuali bekerjasama dengan mereka yg sering bekerja dengan sensor dan mikrokontroler. Padahal kalau dilihat kemampuan orang yg mempunyai latar belakang koding informatika akan menghasilkan program yg lebih rapi pada umumnya. 


Lalu bagaimana menghasilkan data pembacaan sensor tanpa menggunakan mikrokontroller? Mudah saja sebenarnya karena kita dapat memanfaatkan bahasa pemrograman apapun untuk menciptakan data numerik random yang menyerupai data pembacaan sensor. Namun kendalanya adalah bahasa pemrograman paling mudah dan ready untuk komunikasi sensor secara IOT apa ya ? Jawabannya adalah python yg sering saya gunakan untuk mengolah data IOT menggunakan protokol MQTT, seperti pada pembahasan sebelumnya disini : https://www.aisi555.com/2020/07/tutorial-menggambar-grafik-data-arduino.html


Jadi untuk komunikasi berbasis MQTT sudah tersedia library /package siap pakai bernama paho MQTT.


pip install paho-mqtt


Diatas merupakan cara untuk menginstall packagenya pada console python anda. Sedangkan untuk membuat angka pembacaan sensor secara random bisa menggunakan script berikut:



from random import randrange

suhu = float( randrange(250,350,2) / 10)
humi = randrange(50,95,2)

Jadi dengan menggabungkan pahomqtt dan  randrange kita bisa memperoleh simulasi pembacaan sensor yg datanya dapat dicoba pada MQTT explorer atau IOT MQTT PANEL pada smartphone anda.



import paho.mqtt.client as mqtt
from time import sleep
from random import randrange

# Inisialisasi broker 
broker_address="broker.hivemq.com" 
broker_port=1883

def on_publish(client,userdata,result):                   #create function for callback
    print("data terkirim ke broker")
    pass

client1= mqtt.Client(f'unesa-client-{randrange(0,100)}')  #clientnya harus random
client1.on_publish = on_publish                           #assign function to callback
client1.connect(broker_address,broker_port)               #establish connection
while 1:                                                  #loop terus sambil kirim data
    suhu = float( randrange(250,350,2) / 10)              #random suhu dan kelembaban
    humi = randrange(50,95,2)
    ret= client1.publish("/testyuk/suhu",suhu)            #PUB suhu ke topik /testyuk/suhu
    sleep(3)
    ret= client1.publish("/testyuk/humi",humi)            #PUB Kelembaban ke topik /testyuk/humi
    sleep(3)         


Jangan lupa untuk membuat nama client     client1= mqtt.Client("unesa123")  yg unik agar tidak sama dengan nama client orang lain.  Hasilnya seperti berikut ini :








Share:

Senin, 20 September 2021

Praktek Input/Output Led Matrix - Nostalgia Berbagi Ilmu 10 Tahun Yang Lalu

 


Sebelum negara api menyerang dan menjadi pusat produksi segala macam benda elektronika, Led Matrix yang disusun-susun dengan microcontroller sebagai otaknya, menjadi handalan banyak penggiat bisnis elektronika digital. Keleluasaan untuk mengkreasikan banyak karakter dan animasi menarik diatasnya membuat menjadi sasaran akhir mereka yang belajar microcontroler di era sebelum 2010. Namun ketika modul display led matrix siap pakai seperti : P10, P8 dan sebagainya, didukung dengan harga yang dibilang tak masuk akal murahnya, membuat para seniman teks digital menjadi dimanjakan. Cukup gunakan jari untuk mengimpor via smartphone, lalu plug and play saja.

Namun blog ini tetap bertujuan utama berbagi ilmu bagaimana cara kerja Led Matrix dan bagaimana menyusunnya menjadi display yang menarik. beberapa tulisan mengenai Led Matrix ada pada link berikut : 





Mengingat itu semua terutama video yg saya buat pada 2009 diatas membuat sedikit sentimentil dan emosional, karena banyaknya rekan mahasiswa bertanya ilmu Led Matrix yg saya bagi di forum kaskus (sebelum saya pindah ke blog ini). Ada yang dari jogja, semarang, bali, sampai aceh hingga gorontalo memesan komponennya ke saya dan berdiskusi mengenai cara membuat teks berjalan pada Led Matrix. Ini menjadi kebanggaan sendiri karena beberapa yg sukses belajar led matrix menjadikan tolak ukur keberhasilan telah dipahaminya  konsep dasar mikrokontroller dan siap untuk mendesain apapun setelahnya.

Kali ini saya akan menjelaskan kembali praktek lovehurt 2011 dengan sedikit penjelasan agar lebih mudah dimengerti, diawali dengan melihat bagaimana flowchart untuk menuliskan karakter pada sebuah Led Matrix.



Penjelasan :

Pada dasarnya Led Matrix adalah Led yang disusun berdasarkan konsep Row dan Column, dimana untuk menyalakan satu buah led diberikan tegangan 2.4 Volt pada R dan 0 Volt pada C. Jadi untuk menyalakan R5C3 harus terjadi forward voltage dari R5 ke C3 sehingga Led menyala.

Untuk membuat sebuah karakter misal huruf A, dapat menggunakan tools bantuan excel seperti dibawah ini :



File excel dapat diunduh disini.

Selanjutnya akan dilakukan proses scanning dari kolom C1 menuju C5 secara cepat, bergantian memberikan logic LOW pada 1 kolom dan Logic HIGH untuk kolom lainya, bersamaan juga merubah nilai PORT yang mewakilinya, seperti pada skematik praktek kita kali ini menggunakan PORT D sebagai Row dan PORT B sebagai Column nya.




Rangkaian diatas sudah disesuaikan dengan penomeran kaki Led Matrix  7x5 (warna merah)  ukuran 2 inch yang umum dipasaran. Bagaimana script untuk menampilkan huruf A seperti contoh excel diatas ?


#define F_CPU 1000000UL      // frekuensi clock internal 1Mhz
#include <avr/io.h> // definisi library standar IO port
#include <util/delay.h> // definisi include untuk delay

char huruf[]=
{ 0b1111110,
0b0001001,
0b0001001,
0b0001001,
0b1111110 };


int main(void)
{
 DDRD = 0b1111111; // untuk baris
 DDRB = 0b11111;  // untuk kolom

 PORTD =0; // Set all pins low
 PORTB =0b11111; //matikan semua led
    
    
 uint8_t a;
 
 while(1)
 { 


  //proses Scan dan tampilkan huruf
   for(a=0 ; a<5 ; a++)    
     
  {

   PORTB = ~(1<<a) ; //scan kolom active LOW
   PORTD = huruf[a]; //Tampilkan baris sesuai nilai array[kolom]
   _delay_ms(2);
   
  }     
 }	
}		

Permaianan kombinasi loop FOR akan sangat berguna dalam membuat animasi geser kanan atau kiri, seperti yang sudah saya jelaskan pada tulisan sebelumnya disini : https://www.aisi555.com/2012/12/script-break-down-episode-love-hurt.html. Atau jika kamu menggunakan arduino uno atau micro, dapat mempelajari pembahasan saya menyeluruh di tulisan saya disini : https://www.aisi555.com/2020/05/praktek-love-hurt-2020-remake-pake.html.


Yah jadi nostalgia deh sedikit mengenang masa lalu...yang penting saya bangga dapat berbagi ilmu bersama kalian pembaca setia blog ini.
Share:

Minggu, 19 September 2021

Lanjutan Praktek Input Output - Jam 4 Digit Dengan Tombol Non Blocking

 



Apa gak bosen kali ya saya menulis tentang jam digital  ?  Kalu dipikir memang saya maniak per-jam-an digital, dari yg paling sederhana pake delay sampai yg murni tanpa microcontroller, FULL CMOS. Saya rangkum dulu deh isi blog ini yg membahas jam mana saja...



Wah masih banyak lagi yang tidak saya sebutkan karena panjang, cek aja sendiri pasti banyak ketemu pembahasan tentang jam yang keseluruhannya memanfaatkan register timer pada microcontroller sekelas AVR.  Kali ini saya akan melanjutkan praktek I/O pada microcontroller Attiny2313 dengan melengkapi 7 segmen agar lebih bermanfaat yaitu ketika digabung beberapa buah menjadi jam yg dapat digunakan. Rangkaiannya seperti berikut ini.




Metode yang sangat terkenal saat pin I/O terbatas adalah metode scanning cepat, dimana tiap display 7 segmen ditampilkan secara bergantian. Jadi ke 7 kaki segmen dari masing-masing display 7 segmen terhubung semuanya. Sedangkan untuk melakukan penyalaannya diberikan tegangan pada common anoda secara satu-persatu dengan kecepatan tinggi sehingga menipu mata kalau nyalanya bareng. Jadi logikanya sesuai flowchart berikut :



Proses scanning penjelasannya seperti berikut :


  • Bagi nilai jam dengan 10 untuk mendapatkan puluhan jam, kemudian aktifkan PB#0, sedangkan PB#1,2,3 OFF. Nilai 7 segmen adalah segmen[puluhan_jam]
  • Ambil sisa pembagian jam dengan 10, kemudian aktifkan PB#1, sedangkan PB#0,2,3 OFF. Nilai 7 segmen adalah segmen[satuan_jam]
  • Bagi nilai menit dengan 10 untuk mendapatkan puluhan menit, kemudian aktifkan PB#2, sedangkan PB#0,1,3 OFF. Nilai 7 segmen adalah segmen[puluhan_menit]
  • Ambil sisa pembagian menit dengan 10, kemudian aktifkan PB#3, sedangkan PB#0,1,2 OFF. Nilai 7 segmen adalah segmen[satuan_menit]

Scriptnya seperti berikut ini :


#define F_CPU 1000000UL      // frekuensi clock internal 1Mhz
#include <avr/io.h> // definisi library standar IO port
#include <util/delay.h> // definisi include untuk delay
#include <avr/interrupt.h>
#include <stdlib.h>

int jam=23, menit=59, detik=50; //variable global untuk menyimpan data2 waktu


//susunan segmen dari portD = GFEDCBA
//7 segmen common ANODA


uint8_t segmen[11]= 
	{0b1000000, // 0
	0b1111001, // 1
	0b0100100, // 2
	0b0110000, // 3
	0b0011001, // 4
	0b0010010, // 5
	0b0000010, // 6
	0b1111000, // 7
	0b0000000, // 8
	0b0010000, //9
	0b1111111}; // 10 / blank



ISR(TIMER1_COMPA_vect)  // 1 detik
{

	detik ++;

	if ( detik == 60)
	{       detik=0;
		menit++;
	}

	if ( menit == 60)
	{       menit = 0;
		jam++ ;
	}
	
	if (jam >23) jam=0;
}

int main(void)
{
    DDRD |= (1<<PD6) |(1<<PD5) |(1<<PD4) |(1<<PD3) |(1<<PD2) |(1<<PD1) | (1<<PD0) ; //segmen
    DDRB |= (1<<PB0) | (1<<PB1) |(1<<PB2) |(1<<PB3) | (1<<PB6) ; //Scan 7 segmen
    DDRB &= ~(1<<PB4) & ~(1<<PB5); // tombol tambah menit dan jam
    
    TCCR1B |= (1 << WGM12); // Configure timer 1 for CTC mode
    TIMSK |= (1 << OCIE1A); // Enable CTC interrupt
    OCR1A  = 15625; //compare the CTC A for 1 second 
    TCCR1B |= (1 << CS11)|(1 << CS10); // Start timer at Fcpu/64

	//untuk tombol anti blocking
	uint16_t waktu =0;  
	bool pencet = false;

	sei(); //start interrupt
   
		
   while (1) 
{ PORTD = segmen[10]; //blanking biar tidak membayang PORTB |=(1<<PB0); //nyalakan 7 segmen no 1 (puluhan jam) PORTB &= ~(1<<PB1) & ~(1<<PB2) & ~(1<<PB3) ; PORTD = segmen[jam / 10]; //ambil nilai puluhan jam _delay_ms(1); //delay disesuaikan terang tampilan 7 seg PORTD = segmen[10]; PORTB |=(1<<PB1); //nyalakan 7 segmen no 2 (satuan jam) PORTB &= ~(1<<PB0) & ~(1<<PB2) & ~(1<<PB3) ; PORTD = segmen[jam % 10]; //modulus atau sisa untuk satuan jam _delay_ms(1); PORTD = segmen[10]; PORTB |=(1<<PB2); //nyalakan 7 segmen no 3 (puluhan menit) PORTB &= ~(1<<PB0) & ~(1<<PB1) & ~(1<<PB3) ; PORTD = segmen[menit / 10]; //ambil nilai puluham menit _delay_ms(1); PORTD = segmen[10]; PORTB |=(1<<PB3); //nyalakan 7 segmen no 4 (satuan menit) PORTB &= ~(1<<PB0) & ~(1<<PB1) & ~(1<<PB2) ; PORTD = segmen[menit% 10]; //modulus atau sisa untuk satuan jam _delay_ms(1); //Tombol if (bit_is_set(PINB, PINB5)) { if(pencet == false) { jam++; if(jam==24) jam =0; } pencet=true; waktu=TCNT1; } if (bit_is_set(PINB, PINB4)) { if(pencet == false) { menit++; if(menit==60) menit=0; } pencet=true; waktu=TCNT1; } if(abs(waktu - TCNT1) > 4000) { //non blocking delay tombol waktu=0; pencet = false; } //blink Led Pemisah Jam : menit if(TCNT1 <7500) PORTB |=(1<<PB6); else PORTB &= ~(1<<PB6); } }

*) catatan :

  • clock yg digunakan adalah RC oscillator  internal pada attiny2313 yg sangat tidak akurat, untuk itu jika menggunakan nilai yg akurat bisa menggunakan xtal oscillator seperti praktek jam lainnya dan jangan lupa merubah fusebit seperti penjelsan disini  dan jika menggunakan USBASP maka butuh batuan fusebit calculator disini .
  • Jika menggunakan clock 4 MHZ maka nilai fusebitnya :


  • Sedangkan perubahan untuk menyesuaikan clock dilakukan pada script dibagian ini :

#define F_CPU 4000000UL
==========================================
			
	TCCR1B |= (1 << WGM12); // Configure timer 1 for CTC mode
	TIMSK |= (1 << OCIE1A); // Enable CTC interrupt
	OCR1A  = 62499; //compare the CTC A (clock 4 Mhz)
	TCCR1B |= (1 << CS11)|(1 << CS10); // Start timer at Fcpu/64

	
  • Non blocking delay pada tombol akan berpengaruh pada tampilan yang tidak terlihat kedip saat tombol dipencet, seperti animasi paling atas dimana saya menggunakan  _delay_ms(300); setelah penekanan tombol.

Share:

Jumat, 17 September 2021

Lanjutan Praktek Dasar Input / Output - 7 Segmen Serta Penjelasan Blocking Delay

 



7-segmen Display , atau indikator tujuh-segmen, adalah suatu bentuk perangkat tampilan elektronik untuk menampilkan angka desimal. 7-segmen display yang banyak digunakan dalam jam digital, meter elektronik, dan perangkat elektronik lainnya untuk menampilkan informasi numerik. Pada umumnya 7 segmen merupakan kumpulan Led yang disusun sehingga terbentuk rangkaian yg dapat dipilih secara elektronik untuk menampilkan suatu digit desimal.



Dalam penjelasan praktek kali ini kita akan menggunakan 7 segmen komon anoda / positif dengan susunan rangkaian yang saya pakai masih menyambung dari praktek sebelumnya.




Untuk menampilkan angka digit 0 - 9 saat terjadi penekanan tombol, pola pikir yang digunakan sesuai dengan flowchart berikut ini :





Penjelasan:

  • Input tetap berupa tombol, posisi di PIN B#1.
  • 7 segmen dihubungkan pada output PORT D#0 sampai D#6.
  • Tiap segmen dihubungkan dengan kondisi nyala mati sedemikian rupa sehingga menampilkan digit angka 0,1,2,3,4,5,6,7,8,9 .
  • Tiap digit desimal segmen di masukkan kedalam Array Segmen[10] yang isinya susunan segmen penyusun digit dan kemudian ditampilkan sesuai variabel angka.
  • Ketika ada penekanan tombol maka variabel angka akan increment / nambah sampai kondisi angka >9 di reset kembali menjadi 0.


Scriptnya seperti berikut ini :

#define F_CPU 1000000UL      // frekuensi clock internal 1Mhz
#include <avr/io.h> // definisi library standar IO port
#include <util/delay.h> // definisi include untuk delay



//susunan segmen dari portD = GFEDCBA
//7 segmen common ANODA


uint8_t segmen[10]= {0b1000000, // 0
		     0b1111001, // 1
		     0b0100100, // 2
		     0b0110000, // 3
		     0b0011001, // 4
		     0b0010010, // 5
		     0b0000010, // 6
		     0b1111000, // 7
		     0b0000000, // 8
		     0b0010000}; // 9
int main(void)
{
   
   DDRD |= (1<<PD6) |(1<<PD5) |(1<<PD4) |(1<<PD3) |(1<<PD2) |(1<<PD1) | (1<<PD0) ; // 7 seg
   DDRB &= ~(1<<PB1);  //tombol
   
   uint8_t a =0;
   
    while (1) 
    {
		
		
		if(bit_is_set(PINB,PINB1)) { 
		      a++;	
		      if(a==10) a=0;
		      _delay_ms(300);
		    }
		
       PORTD = segmen[a]; //Tampilkan segmen
    }      }

Penjelasan :

  • Hal yang mungkin cukup spesial adalah array segmen[10] dengan 10 buah anggota, yang merupakan susunan segmen yang jumlahnya 7, sehingga sedemikian rupa untuk menampilkan digit 6, maka PORT D#0, D#2, D#3, D#4, D#5, D#6 diberikan logika 0 (ingat komonnya anoda /positif) sehingga segmen ini menyala. Sedangkan PORT D#1 diberikan logika HIGH (5 volt ) alias sama dengan commonnya dan menyebabkan LED segmennya mati.




  • Saat ada penekanan tombol pada PIN B#1 maka variabel angka akan berubah dan PORTD nilainya diubah sesuai angka binary yang diwakilkan oleh array segmen[angka], yang artinya jika angka bernilai 6, maka PORTD bernilai 0b0000010.  


Bagaimana jika saya ingin membuat perubahan digit berjarak 1 detik ? Kita akan bandingkan 2 tipe, yaitu dengan Blocking Delay serta dengan Timer Register.


BLOCKING DELAY

#define F_CPU 1000000UL      // frekuensi clock internal 1Mhz
#include <avr/io.h> // definisi library standar IO port
#include <util/delay.h> // definisi include untuk delay



//susunan segmen dari portD = GFEDCBA
//7 segmen common ANODA


uint8_t segmen[10]= {0b1000000, // 0
		     0b1111001, // 1
		     0b0100100, // 2
		     0b0110000, // 3
		     0b0011001, // 4
		     0b0010010, // 5
		     0b0000010, // 6
		     0b1111000, // 7
		     0b0000000, // 8
		     0b0010000}; // 9

int main(void)
{
   
   DDRD |= (1<<PD6) |(1<<PD5) |(1<<PD4) |(1<<PD3) |(1<<PD2) |(1<<PD1) | (1<<PD0) ;
   DDRB |= (1<<PB0); //led
   DDRB &= ~(1<<PB1);  //tombol
   
   uint8_t angka;
   
    while (1) 
    {
		
		
		for(angka=0 ; angka<10 ; angka++){
			
	                 PORTD=segmen[angka];
			_delay_ms(1000);
		}
		
		if(bit_is_set(PINB,PINB1)) PORTB |=(1<<PB0);
		else PORTB &= ~(1<<PB0);
		
		
    }
}

Penjelasan :

  • Loop for(angka=0 ; angka<10 ; angka++)  merupakan cara untuk melakukan pengulangan dan penambahan variabel angka secara satu persatu dari 0 sampai nilai maksimum 9. 
  • Delay 1000 mili second diberikan setiap loop for dan ini merupakan blocking delay atau menghentikan semua jalannya program mikrokontroller selama 1 detik.
  • Perintah dibawah loop For merupakan proses menunggu penekanan tombol dan perubahan LED pada Port B#0, dan karena terjadi blocking delay, maka penekanan tombol kadang tidak terbaca seperti animasi berikut.


 

  • Untuk mengatasi blocking delay maka dapat memanfaatkan fasilitas timer pada microcontroller.


Non Blocking Delay Menggunakan Timer



#define F_CPU 1000000UL      // frekuensi clock internal 1Mhz
#include <avr/io.h> // definisi library standar IO port
#include <util/delay.h> // definisi include untuk delay
#include <avr/interrupt.h> // library interupt timer



//susunan segmen dari portD = GFEDCBA
//7 segmen common ANODA


uint8_t segmen[10]= {0b1000000, // 0
		     0b1111001, // 1
		     0b0100100, // 2
		     0b0110000, // 3
		     0b0011001, // 4
		     0b0010010, // 5
		     0b0000010, // 6
		     0b1111000, // 7
		     0b0000000, // 8
		     0b0010000}; // 9

uint8_t angka=0;


ISR(TIMER1_COMPA_vect) // interupt jalan independen tiap selang 1 detik

{
 PORTD = segmen[angka];
 angka++;
 if(angka==10) angka=0;

}


int main(void)
{
   
   DDRD |= (1<<PD6) |(1<<PD5) |(1<<PD4) |(1<<PD3) |(1<<PD2) |(1<<PD1) | (1<<PD0) ;
   DDRB |= (1<<PB0);
   DDRB &= ~(1<<PB1);  
   
      TCCR1B |= (1 << WGM12); // Configure timer 1 for CTC mode
      TIMSK |= (1 << OCIE1A); // Enable CTC interrupt
      OCR1A  = 15625; //compare the CTC A for 1 second
      TCCR1B |= (1 << CS11)|(1 << CS10); // Start timer at Fcpu/64
   
    sei();  //mulai membaca interupt
    while (1) 
    {
		//penekanan tombol
		
		if(bit_is_set(PINB,PINB1)) PORTB |=(1<<PB0);
		else PORTB &= ~(1<<PB0);
	
		
    }
}


   

Penjelasan :

  • Mikrokontroler memiliki fasilitas counter & timer internal, dan akan berjalan secara independen.
  • Tiap tick/clock akan diatur sedemikian rupa sehingga counter didalamnya dapat melakukan delay sesuai nilai yang ditentukan, semisal contoh diatas tiap 1 detik atau clock counter 15625 maka akan men-trigger fungsi interupt  ISR(TIMER1_COMPA_vect).
  • Hasilnya pada loop utama saat penekanan tombol tidak akan terpengaruh seperti pada animasi berikut ini.




Selamat Mencoba ...
Share:

Kontak Penulis



12179018.png (60×60)
+628155737755

HP: 081331339072
Mail : ahocool@gmail.com

Site View

Categories

555 (8) 7 segmen (3) adc (4) amplifier (2) analog (15) android (12) antares (3) arduino (21) artikel (11) attiny (3) attiny2313 (19) blog (1) bluetooth (1) cmos (2) crypto (2) dasar (45) digital (1) display (3) esp8266 (25) euro2020 (13) gcc (1) iklan (1) infrared (2) Input Output (3) iot (44) jam (7) jualan (12) kereta api (1) keyboard (1) keypad (3) kios pulsa (2) kit (6) komponen (16) komputer (3) komunikasi (1) kontrol (7) lain-lain (8) lcd (2) led (14) led matrix (6) line tracer (1) lm35 (1) MATV (1) memory (1) metal detector (4) microcontroller (70) micropython (6) mikrokontroller (12) mikrotik (5) mqtt (2) ninmedia (3) ntp (1) paket belajar (19) palang pintu otomatis (1) parabola (78) pcb (2) power (1) praktek (2) project (33) proyek (1) python (4) radio (15) raspberry pi (4) remote (1) revisi (1) rfid (1) robot (1) rpm (2) rs232 (1) script break down (3) sdcard (3) sensor (1) 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 (145) television (28) transistor (2) troubleshoot (3) tulisan (83) tutorial (80) tvri (2) vu meter (2) vumeter (2) wav player (3) wayang (1) wifi (3)

Arsip Blog

Diskusi


kaskus
Forum Hobby Elektronika