• ตอบกระทู้
  • ตั้งกระทู้ใหม่
QUOTE 

ขอแนวทางการเขียนโปรแกรม arduino

วิวัฒน์
ผมมี ความถี่ ภานนอก ระหว่าง 10-200Hz เข้ามาทางขาอินพุท dutycycle 50% อยากสร้างสัญญาณ เอาพุท เท่ากับความถี่ อินพุท แต่ จุดเริ่มต้น จะช้ากว่า อินพุท 45- 90 องศาแล้วแต่เราจะกำหนด จะต้องเขียนโปรแกรมอย่างไร
ผมต้องการใช้ attachinterrupt Timer /counter และ ตั้งโหมดเป็น CTC รันใน ISR _COMP_VECT แต่ไม่รู้จะใช้เทคนิค อย่างไรให้ได้ผลลัพธ์ตามนี้
QUOTE 
ความคิดเห็นที่ #1
เจ้าของร้าน

ต้องขอข้อมูลเพิ่มเติมมากกว่านี้ ครับ 

QUOTE 
ความคิดเห็นที่ #2
วิวัฒน์
https://www.img.in.th/image/w4coHl

จากรูปครับ สัญญาณ input รับมาจาดเซนเซอร์ วัดรอบ อยากสร้างรูแคลื่นตาม output 1 ,2
โดยสามารถกำหนด ว่าจะหน่วงเวลาหลังได้สัญญาณ จาก input และสามารถ ปรับ duty cycle ได้

ที่ผมทำแล้วไม่สำเร็จ วิธีแรก จับเวลา 1 รูปคลื่น โดนใช้คำสั่ง milles() แล้วเอามาหาร 360 เพือให้ได้ เวลา ต่อ 1 องศา แล้วกำหนด ถ้ามี อินเตอรัพ ของขาขึ้น ให้ delayMicroseconds(องศา) ทำการสั่ง digitalwrite(HIGH) delayMicroseconds(duty)
digitalwrite(LOW) ***** ทำงานไม่ได้ สัญญาณเพียน
วิธีที่ 2
กำหนดให้ timer2 เป็น CTC mode
boolean toggle2 = 0;
TCCR2A = 0;// set entire TCCR2A register to 0
TCCR2B = 0;// same for TCCR2B
TCNT2 = 0;//initialize counter value to 0

OCR2A = 249;// อันนี้ผมลองมั่วๆดู จะดูรูปคลื่น
// turn on CTC mode
TCCR2A |= (1 << WGM21);
// Set CS21 bit for 8 prescaler
TCCR2B |= (1 << CS21);
// enable timer compare interrupt
TIMSK2 |= (1 << OCIE2A);

ISR(TIMER2_COMPA_vect)
if (toggle2){
digitalWrite(9,HIGH);
toggle2 = 0;
}
else{
digitalWrite(9,LOW);
toggle2 = 1;
}
}

ผมมองไม่ออกว่าจะทำอย่างไร ช่วยแนะนำด้วยครับ ที่ผมเข้าใจคือ ค่า TCNT=เวลา1 รูปสัญญาณ
ผมสามารถวัดค่า OCR2A ได้ไหม เพื่อเอามาหาร 360 องศา
แสดงความคิดเห็นที่ 1-2 จากทั้งหมด 2 ความคิดเห็น
WEBBOARD-LOGIN-BEFORE-TOPIC-REPLY

Join เป็นสมาชิกร้านค้า

ร้านAB-Maker บทความ Arduino จำหน่าย Sensor Module Shield ราคาถูก AB.in.th
ร้านAB-Maker บทความ Arduino จำหน่าย Sensor Module Shield ราคาถูก AB.in.th
/www.ab.in.th/
Join เป็นสมาชิกร้าน
529
สมัครสมาชิกร้านนี้ เพื่อรับสิทธิพิเศษ

ติดต่อร้าน AB-Maker

075-808-080
064-208-3926

ติดต่อเวลา 10.00-17.00 น. 
จันทร์ ถึงวัน ศุกร์ 

Fanpage AB-Maker Arduino Line @AB-Maker Arduino

QR Coard Line

  • ค้นหา
*ใส่ เบอร์มือถือ หรือ email ที่ใช้ในการสั่งซื้อ

หน้าที่เข้าชม4,510,768 ครั้ง
ผู้ชมทั้งหมด2,466,540 ครั้ง
ร้านค้าอัพเดท6 ก.ย. 2568
รายการสั่งซื้อของฉัน
เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก

ยังไม่มีบัญชีเทพ สร้างบัญชีใหม่ ไม่มีค่าใช้จ่าย
สมัครสมาชิก (ฟรี)
รายการสั่งซื้อของฉัน
ข้อมูลร้านค้านี้
ร้านAB-Maker บทความ Arduino จำหน่าย Sensor Module Shield ราคาถูก AB.in.th
AB-Maker บทความ Arduino จำหน่าย Sensor Module Shield ราคาถูก AB.in.th
Arduino นครศรีธรรมราช หาดใหญ่ สงขลา ยะลา จำหน่าย Arduino อุปกรณ์อิเล็กทรอนิกส์ ไมโครคอนโทรลเลอร์ Uno R3 Nodemcu Esp8266 Esp32 Sensor Module ราคาถูกสุดๆ Support เร็วดูแลลูกค้าอย่างดี
เบอร์โทร : 075808080
อีเมล : [email protected]
ส่งข้อความติดต่อร้าน
เกี่ยวกับร้านค้านี้
สินค้าที่ดูล่าสุด
ดูสินค้าทั้งหมดในร้าน
สินค้าที่ดูล่าสุด
บันทึกเป็นร้านโปรด
Join เป็นสมาชิกร้าน
แชร์หน้านี้
แชร์หน้านี้

TOP เลื่อนขึ้นบนสุด
พูดคุย-สอบถาม