USB 를 통해 PC로 데이터를 보내는 ATtiny45 를 사용하여 모듈 식 USB 장치 를 만들고 싶습니다 . 데이터를 읽지 않으므로 단일 방법 (ATtiny-> PC) 연결이 완전히 가능합니다.
나는 사용하고 ISP로 아두 이노 우노을 표준 ArduinoISP 스케치 아두 이노 소프트웨어 내에서로드와. AVRDUDE를 사용하여 Arduino와 함께 ATtiny45를 ISP로 프로그래밍하려고 생각하고 있습니다. Arduino Programming Langue보다 고급이기 때문에 HEX로 컴파일 된 C 코드를 사용할 수 있기를 원하기 때문입니다.
회로에 대한 나의 기본 생각 :
보다시피, "직접"USB 연결을 원합니다. 지금까지 나는 이것을 위해 소프트웨어 기반 솔루션을 사용해야한다는 것을 알고 있습니다.
ATtiny45와 함께 작동하도록 SoftwareSerial 을 관리했습니다 . 이를 위해 Arduino 소프트웨어를 사용하여 다음 코드로 ATtiny45를 프로그래밍했습니다.
#include <SoftwareSerial.h> #define rxPin 3 #define txPin 4 SoftwareSerial serial(rxPin, txPin); void setup() { pinMode(rxPin, INPUT); pinMode(txPin, OUTPUT); pinMode(led, OUTPUT); serial.begin(4800); } void loop() { serial.println("1"); delay(1000); }
핀 3을 사용하지 않지만 SoftwareSerial에 대해 핀 3을 정의해야합니다.
이 방법으로 SoftwareSerial을 사용하여 ATtiny에서이 테스트를 위해 빈 스케치가로드 된 Arduino UNO의 TX 핀으로 직접 데이터를 전송할 수있었습니다. 프로그래밍 된 ATtiny를 USB 케이블에 직접 연결하려고 시도했을 때 PC가 어떤 장치 (COM 포트)도 인식하지 못했기 때문에 Arduino 소프트웨어의 직렬 모니터를 사용하여 COM4 (내 경우)의 데이터를 읽었습니다.
불행히도 직렬 모니터에는 이상한 유니 코드 문자 만 있습니다. 데이터가 16 진수 형식이기 때문이라고 생각합니다. 그래서 USB와 ATtiny45 사이에 USB / 직렬 변환기 를 연결해야한다는 것을 알았습니다 ... 그러한 변환기를 찾았지만 모든 것을 원하기 때문에 미리 만들어진 보드를 사용하고 싶지 않습니다. 하나의 보드에 내 구성 요소. FTDI 칩이 내 프로젝트에 너무 많을 것이라고 생각하지 않습니까? (납땜하기에는 너무 작은 핀이 있습니다 ...)
V-USB 는 USB / 직렬 변환기가 필요하지 않기 때문에 두 번째 접근 방식이었습니다. V-USB를 사용하려면 앞에서 언급 한대로 AVRDUDE를 사용해야합니다.
이 멋진 예제 V-USB EasyLogger를 찾았습니다 . 회로 설계 및 예제 펌웨어가 포함되어 있습니다. (C / C ++ / HEX)
내가 알고 싶은 유일한 것은 : 내 회로를 예제와 같이 보이게 만들어야합니까? ->
이런 종류의 USB 연결에 대해 더 알아야 할 것은 무엇입니까? (USB / 직렬 변환기가 필요한 이유는 무엇입니까? +5 및 VCC를 연결할 수 있습니까? 절대적으로 필요한 구성 요소는 무엇입니까? TX를 통해 어떤 종류의 신호를 보내야합니까? 되려고 ? )
모든 답변에 감사드립니다.
최신 정보
다음은 몇 가지 점에서 실제로 도움이 된 추가 링크입니다. 그러나 나는 여전히 그것을 완전히 이해하지 못했습니다 ...
첫 번째-> http://www.ernstc.dk/arduino/tinycom.html
두 번째-> http://www.re-innovation.co.uk/web12/index.php/en/blog-75/227-attiny-arduino ( '직렬 출력'섹션으로 스크롤)