Arduino/Atmel Studio
-
ADC ( 조도 센서와 포텐시오미터의 값을 읽기 )Arduino/Atmel Studio 2021. 1. 6. 11:18
앞의 UART통신을 이용한다. 아두이노에는 아날로그 핀이 A0~A5까지 있다. atmega168에서의 매핑에서는 PC0( ADC0 ) ~ PC5( ADC5 ) 이다. ADIF의 값을 기준으로 AD변환 종료를 알아낼 수 있다. 아래의 함수가 값을 읽어들여서 아날로그 값으로 변경하는 함수이다. 조도센서를 구성해서 조도 센서의 값을 출력해서 보도록 하자. 저항은 10k옴을 쓴다. 그리고 A0에 연결한다. 꼭 A0를 연결하지 않고 A1에 연결해도 된다. 이는 ADMUX레지스터의 값을 변경하면 된다. 우선은 A0에 연결한다. 녹색선은 아두이노의 5V핀에 연결하고 붉은색선은 아두이노의 A0핀에 연결하고 노란색선은 아두이노의 GND에 연결한다. 아래는 main함수에서 ADC에 관련한 레지스터를 초기화하는 내용이다. ..
-
UART 통신Arduino/Atmel Studio 2021. 1. 5. 12:02
UART통신을 위해서는 아두이노와 컴퓨터만 연결하면 된다. 아두이노의 tx,rx통신 직렬통신에는 9개의 핀이 있다. 그중에 rx,tx핀을 가장 많이 이용한다. jwRsMonitor 프로그램이 필요하다. 우선 데이터를 전송만 하는 방식을 알아보자. 소스는 아래와 같다. 그리고 빌드를 하고 아두이노에 업로드를 하자. 소스 내용 더보기 #include #define F_CPU 16000000UL//16MHz void PutChar0(char c); int main(void) { UCSR0B = 0x08;//Tx만, 즉 전송만 한다. UCSR0C = 0x06; //바운드 레이트 설정. 115200으로 설정 //UBRR0H = 0; //UBRR0L = 8; //바운드 레이트 설정. 9600으로 설정 UBRR0H ..
-
Microchip Studio를 통해 아두이노에 프로그램 업로드 하기 (버튼, 피에조 부저 제어)Arduino/Atmel Studio 2021. 1. 4. 18:07
아래의 내용을 이어서 진행해보자. designatedroom87.tistory.com/355?category=914742 Microchip Studio를 통해 아두이노에 프로그램 업로드 하기 (LED 제어) MPU가 제거되지 않은 아두이노를 연결한다. 아두이노 프로그램을 띄운다. 툴에서 기본적인 세팅은 아래와 같다. 아두이노 보드를 테스트 하자. 앞 장에서와 같이 예제 소스 파일을 하나 띄우자. designatedroom87.tistory.com 앞에서는 출력만 했다. 이번에는 입력을 알아보자. ( 아래와 같이 구성하면 문제점이 있다. ) DDR을 0으로 설정한다. PORT가 아닌, PIN을 통해 읽어들인다. PIN은 오직 읽기만 가능한 레지스터이다. 버튼을 연결해보자. 하드웨어의 연결 사진은 아래에 있..
-
Microchip Studio를 통해 아두이노에 프로그램 업로드 하기 (LED 제어)Arduino/Atmel Studio 2020. 12. 31. 22:24
MPU가 제거되지 않은 아두이노를 연결한다. 아두이노 프로그램을 띄운다. 툴에서 기본적인 세팅은 아래와 같다. 아두이노 보드를 테스트 하자. 앞 장에서와 같이 예제 소스 파일을 하나 띄우자. 아래의 내용을 참고하자. designatedroom87.tistory.com/354 Atmega Firmware pc에서 코드를 작성한다. 임베디드 시스템에서 회로를 제작했다고 하면 이 pc와 임베디드 시스템에서는 프로그래머가 필요하다. 이 프로그래머가 ISP이다. ISP는 SPI혹은 시리얼 통신으 designatedroom87.tistory.com 파일 -> 예제 -> Basics -> Blink 소스를 선택한다. 툴 -> 보드 -> Arduino Uno로 선택한다. 그리고 업로드를 하자. 업로드 시에 에러가 발생..
-
Atmega FirmwareArduino/Atmel Studio 2020. 12. 30. 18:40
pc에서 코드를 작성한다. 임베디드 시스템에서 회로를 제작했다고 하면 이 pc와 임베디드 시스템에서는 프로그래머가 필요하다. 이 프로그래머가 ISP이다. ISP는 SPI혹은 시리얼 통신으로 한다. ISP는 장치이다. pc에서 ISP는 USB로 연결되고 ISP와 임베디드 시스템에서는 SPI혹은 시리얼로 한다. 부트로더와 프로그램 코드(동작하는 코드)는 다르다. main이라는 함수로 이용해서 작성하는 코드는 프로그램 코드이다. 하드웨어를 연결해보자. MPU가 제거된 아두이노와 MPU가 꽂힌 빵판이 있다고 하면 Rx는 Rx에, Tx는 Tx에 연결해야 한다. reset은 reset에 연결해야 한다. Vcc와 5V선에 연결하고, Gnd는 GND에 연결한다. 크리스탈도 연결한다. D13번핀(MPU의 오른쪽 아래에서..