555 ปวดหัวกับมัน มาสองวัน เต็ม ๆ เเละคาดว่าจะต้องอยู่กันมันอีกนาน AVR+arduino ลอง ดูได้ครับ อัพไฟล์ มาให้เเล้ว>>>
Powered By พี่น๊อตEE เป็นไฟล์ datasheet , timer0-2 A,B
#include <avr/io.h>
//int outputValue = 0;
//-----------------------------------------------------------------------------
// Initialize Timer/Counter0 for PWM
//-----------------------------------------------------------------------------
int val;
void setup()
{
pinMode(0,INPUT);
Serial.begin(9600);
// DDRB |= _BV(PB2);
TCCR1A = 0b10100011;
TCCR1B = 0b00010001;
OCR1A=800; // อ้างอิงสมการ f=(systemclock)/2N*OCR1A
// TCCR2A = 0b00010001;
//TCCR2B = 0b00001001;
//OCR2A=200;
//OCR1B=128;
}
//-----------------------------------------------------------------------------
// Main
//-----------------------------------------------------------------------------
void loop()
{
//TCCR1A = 0b10100011;
// TCCR1B = 0b00010001;
// OCR1A=128;
int val=analogRead(0);
val=map(val,0,1023,0,800);
analogWrite(10,val);
//analogWrite(3,100);
delay(50);
Serial.println(val);
}
เป้นเเนวทางคร่าวๆ
ปล.ผมไม่ได้เก่งอะไรนะครับ เห็นว่ามันน่าจะมีประโยชน์ต่อคนที่ต้องการใช้งาน(เห็นพี่หรั่งถามกันยันเลย ไม่ค่อยมีคนตอบเเบบตรงๆกันเท่าไหร่) ไฟล์ ต้นฉบับได้มาจากรุ่นพี่คนหนึ่งชื่อพี่น็อตครับ ขอขอบคุณมา ณ ที่นี้ด้วย ขอบคุณครับ [res]