ฉันสร้างเหล่านี้sequencers เพลง
มันไม่ใช่ซีเควนเท่านั้นมันเป็นส่วนต่อประสานทางกายภาพสำหรับซีเควน ซีเควนเซอร์เป็นแอปพลิเคชั่นที่ทำงานบนแล็ปท็อปที่ซีเควนเซอร์เชื่อมต่อด้วยสิ่งนี้ช่วยให้ผู้ใช้สร้างลูปกลองได้ทันที มันสนุกดี แต่มันต้องใช้แล็ปท็อปเพราะซีเควนเซอร์ไม่ใช่ 'บนบอร์ด'
สิ่งที่ฉันชอบก็คือการจัดลำดับอุปกรณ์ของฉัน
ทีนี้สมมติว่าฉันรู้วิธีแก้ปัญหาเรื่องความสอดคล้องของคลาสสำหรับการเชื่อมต่อ USB MIDI และสมมติว่าฉันสามารถหาวิธีวางสาย Arduino เพื่อส่งโน้ต MIDI จากพอร์ต DIN 5 พินได้ สิ่งที่ฉันกังวลมากที่สุดคือจังหวะล่องลอยไปตามกาลเวลาเนื่องจากเวลาไม่สอดคล้องกันในจำนวนนาทีในทุกรอบของการวนรอบเหตุการณ์
บางสิ่งที่ฉันรู้:
คุณไม่ควรพึ่งพา
delay()
การควบคุมจังหวะจังหวะ การหน่วงเวลาหยุดการทำงานของเฟิร์มแวร์ทั้งหมดและไม่สามารถทำงานได้เพราะฉันต้องสำรวจส่วนต่อประสานผู้ใช้ทางกายภาพเพื่อทำการเปลี่ยนแปลงในขณะที่ลำดับกำลังทำงานการคำนวณตาม
millis()
ดีกว่าเนื่องจากเฟิร์มแวร์สามารถทำงานต่อไปและดำเนินการต่อไปเมื่อจำนวนที่แน่นอนได้ผ่านไปแล้วแม้ว่าการควบคุมทางกายภาพของฉันจะไม่มีการเรียกใช้รูทีนการขัดจังหวะการดำเนินการบางอย่างสามารถชะลอการ
loop()
ทำงานหลักได้ หากฉันออกแบบฟังก์ชั่นที่รอการป้อนข้อมูลจากผู้ใช้นั่นอาจทำให้เกิดปัญหาว่า "วันครบกำหนด" ที่ขาดหายไปเพื่อดำเนินการถ้าmillis()
จำนวนนั้นเกิน ฉันรู้ว่าปัญหานี้เกิดจากการออกแบบของตัวเอง ...
คำถาม:
A. Arduino ที่ใช้ AVR เป็นไมโครคอนโทรลเลอร์ที่เหมาะสมในการหยั่งเสียงส่วนต่อประสานผู้ใช้และเรียกใช้ภารกิจวนรอบเวลาที่สำคัญหรือไม่? ฉันรู้ว่ามี ARM based Arduino ตอนนี้เร็วขึ้นมาก Teensy 3.0 จะเป็นทางเลือกที่ดีกว่าหรือไม่? ทั้งสองนี้เป็นบอร์ด 3.3V ดังนั้นนั่นเป็นอีกหนึ่งปัญหาที่จะทำงานร่วมกับ ... แต่ฉันจะไม่สนใจมันในตอนนี้
B. ฉันควรแบ่งงานเป็นสองไมโครโปรเซสเซอร์หรือไม่ หนึ่งเพื่อจัดการการสำรวจและการปรับปรุงส่วนต่อประสานกับผู้ใช้และอีกอันหนึ่งสำหรับการกำหนดเวลาภารกิจวิกฤติ
ค. อื่น ๆ อีก?
เป้าหมายหลักของฉันคือไม่ต้องใช้คอมพิวเตอร์เลย ฉันต้องการคำนวณการแกว่งด้วย แต่ในกรณีนี้การแกว่งไม่ได้หมายความว่าอะไรหากฉันไม่มีจังหวะที่ถูกล็อคและกำหนดเวลา ขอบคุณสำหรับคำแนะนำ!
noInterrupts();
หยุดกระวนกระวายใจ แต่ยังหยุดการขัดจังหวะที่ต้องการทั้งหมด