2010-08-09 2 views
3

헤드폰 포트를 제어 신호로 사용하여 일부 전자 서보를 제어하려고합니다. 펄스 폭 변조 신호를 생성하고 신속하게 펄스 폭을 변경할 수 있어야합니다. C#에서 이렇게하는 것을 선호하지만 C++ 또한 옵션 일 수 있습니다. 어떤 생각이라도이 일을 어떻게 수행 할 것인가?동적 오디오 신호 생성 방법

+0

오디오 출력의 대기 시간이 걱정됩니다. 고속 서보 제어를하려한다면 작동하지 않을 수 있습니다. – Gabe

답변

1

미디 출력을 수행하는 방법을 찾을 수 있습니다.

저는 C++에서이 작업을 수행 했으므로 C#에서는 interop과 함께 사용했지만 여기에는 간단한 소개가 포함되어 있습니다. 여기

http://midiio.sapp.org/doc/windowsmidi/

는 SO 현장에 와서 오래 전에 비슷한 질문에 대한 몇 가지 좋은 답변입니다.

http://www.codeproject.com/KB/audio-video/CS_ToneGenerator.aspx

(세 번째 항목을 "C#을 DSP 톤 제너레이터"인터넷 검색에서)

편집 : 당신이 필요한 경우는 당신이 필요로되어 있습니다

http://www.groupsrv.com/computers/about164021.html

+0

MIDI는 믿을만한 크로스 디바이스 톤 생성에 적합하지 않습니다. 나는 전날 밤에 설치 한 새로운 사운드 카드로 판명 된 범인과 함께 전체 생산 라인을 내려다보고 있습니다. – MusiGenesis

0

이 보인다 빠르게 톤 파라미터를 변경할 수있게되면 소프트웨어 합성의 영역에 들어서게됩니다. 낮은 대기 시간 (본질적으로 실시간)의 소프트웨어 신디사이저가 있습니다 (Reaktor는 제가 생각할 수있는 것입니다). 이들 모두는 당신이 겪고있는 것과 같은 단순한 톤 생성을 관리 할 수 ​​있으며, 대부분은 MIDI로 구동 될 수 있습니다 (이것은 내가 다른 대답에 대한 코멘트에서 방금 언급 한 것과는 달리 MIDI를 실행 가능하게 만들 것입니다). 특정 톤 제너레이터/소프트웨어 신디사이저에 연결하는 한 MIDI는 정상입니다.

1

일반적인 모델의 라디오 컨트롤 서보에 대해 이야기 할 때, 펄스 반복 주파수가 20-50 Hz 인 양방향 펄스 1-2 밀리 초를 말합니다. 1 밀리 초가 왼쪽으로 치우쳐 있고, 2 밀리 초가 딱딱하다. 1.5 밀리 초가 중앙에있다. 펄스 트레인에 어떤 종류의 지터가 있으면 서보가 불안정해질 수 있습니다.

사운드를 방출하도록 설계된 카드에서 만나는 것은 매우 어려운 사양 일 것입니다.

바깥 쪽 마이크로 컨트롤러를 사용하여 PWM 신호를 생성하고 직렬 포트를 통해 제어하는 ​​것이 훨씬 쉽습니다. 내 목표가 빠르게 작동하는 것으로 가정하고 Arduino 보드 (Atmel ATMega328, 하드웨어 해킹을 매우 쉽게 만드는 보드)를 사용합니다.

+0

Killjoy. 당신은 아마 당신이 핸드셋을 낀 모뎀이 나쁜 생각이라고 생각했을 것입니다. :) – MusiGenesis