alexa-tracking
Kategori
Kategori
Home / FORUM / All / Hobby / Hobby & Community /
Hobby Elektronika Digital, MicroController & solder Menyolder gabung sini Yuks
KASKUS
51
244
https://www.kaskus.co.id/thread/000000000000000002654259/hobby-elektronika-digital-microcontroller-amp-solder-menyolder-gabung-sini-yuks

Hobby Elektronika Digital, MicroController & solder Menyolder gabung sini Yuks

DIGITAL ELECTRONICS HOBBY FORUM




Spoiler for apa aja sih yang dibahas?:


Spoiler for "Hobby Microcontroller Itu Mahal ? Kreativitasmu Itu yg Mahal Gan !":




UPDATE 8/JUNI/2014

DUKUN FUSEBIT AKAN MENGHIDUPKAN IC MU YANG MATI !



Selengkapnya dibahas di sini gan !!

CLINOMETER SEDERHANA MEMANFAATKAN ADC



Selengkapnya dibahas di post berikut




Spoiler for Buka Jika Mau Paket Belajar:


Proyek2 micro yg sudah jadi
Quote:



I.N.D.E.X F.O.R.U.M

Quote:




Biar ngiler, ane kasih contoh hasil karya TS...






Spoiler for Contact TS lewat dimari yahh:



.
Diubah oleh ahocool
@ mas sued

wah agan mengingatkan aku pada tutorial PWM yg belum aku upload
jadi kita belajar dasar2 nya dulu aja yak..semoga membantu


pada dasarnya PWM memiliki 3 jenis /tipe yaitu:

-fast PWM
-Phase correct
-freq correct

prinsipnya sama saja, merubah duty cycle dari sebuah pulsa tergantung sekarang keperluannya buat control LED, motor, audio dsb

kali ini kita bermain dengan FAST PWM menggunakan atiiny 2313

dari datasheet attiny memiliki 4 buah channel PWM 8 bit



#percobaan 1 LED redup -terang

hubungkan LED ke port 0C0A /Pin 14 /PB2 , jangan lupa kasi Resistor 100 ohm



Code:


#define F_CPU 1000000L
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>





int main(void)
{
int a;

DDRB |= (1<<PB2); // output LED di 0C0A
TCCR0B = 0; // stop timer 0
TCCR0A = (1<<WGM00)|(1<<WGM01); // fast pwm mode 3
TCCR0A |= (1<<COM0A1); //Clear OC0A on Compare Match when up-counting. Set OC0A on Compare Match when down-counting.
OCR0A = 0x0f; //duty cycle
TCCR0B |= (1<<CS00); // no prescaling




\twhile(1)
\t{

for(a=0;a<255;a++)
\t{
OCR0A=a;
\t _delay_ms(10);

\t}

\t for(a=255;a>0;a--)
\t{
OCR0A=a;
\t _delay_ms(10);

\t}

\t
\t}

return 0;
}





hasilnya seperti ini







#percobaan 2 LED DIMMER pake TOMBOL


kali ini hubungkan PIN interupt 0 dan 1 ke tombol (fall edge, jadi di pull up)
kita akan coba meredup/terangkan LED dengan penekanan tombol


Code:

#define F_CPU 1000000L
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>


SIGNAL (SIG_INT1)
{

OCR0A+=100;



}


SIGNAL (SIG_INT0)
{
OCR0A-=100;



}



int main(void)
{


DDRB |= (1<<PB2); // output LED di 0C0A
TCCR0B = 0; // stop timer 0
TCCR0A = (1<<WGM00)|(1<<WGM01); // fast pwm mode 3
TCCR0A |= (1<<COM0A1); //Clear OC0A on Compare Match when up-counting. Set OC0A on Compare Match when down-counting.
OCR0A = 0x0f; //duty cycle
TCCR0B |= (1<<CS00); // no prescaling


MCUCR |= (1<<ISC00) | (1<<ISC10); //fall edge
GIMSK |= (1<<INT0) |(1<<INT1); // aktifkan interupt 0 & 1

sei();

\twhile(1)
\t{

\t}

return 0;
}





hasilnya seperti video dibawah






jika digunakan untuk mengatur LED RGB, tinggal menggunakan output chanel PWM yg berbeda untuk masing2 warna, sehingga didapatkan kombinasi warna yg sesuai


SELAMAT MENCOBA
Diubah oleh ahocool
×
GDP Network
© 2019 KASKUS, PT Darta Media Indonesia. All rights reserved
Ikuti KASKUS di