5. 아두이노 우노 Atmega328P 타이머로 1초 만들기.
·
🦾AVR
자. 저번 글에서 delay 함수를 통해 LED를 1초 간격으로 Blinking 하는 예제를 만들어보았다.하지만 그 단점으로 delay 동안 다른 동작을 할 수 없으므로 사용할 때 조심해야 한다 했으며, 타이머라는 것을 통해 똑같이 Blinking 을 구현한다고 하였다.타이머란 무엇인가?말 그대로 타이머는 시간을 재는 것이다. 아래 그림을 봐보자. 도망가지 말도록하자. 딥하게 들어가는건 다음이지만 대충 Timer/Counter가 어떻게 해서 시간을 재는지 정도의 플로우만 이해했으면 해서 데이터 시트의 그림을 첨부했다. 아두이노 우노 보드를 자세히 보면, 아래와 같이 외부 발진기가 존재한다. 당연히 Atmega328P 칩 내에도 내부 발진기가 존재하나 외부 발진기가 안정성과 정확도가 더 높으므로 보통 보드..
4. 아두이노 우노 ATmega328P LED 출력하기 (DDR, PORT)
·
🦾AVR
처음 코딩 공부를 시작할 때, CMD 창에 Hello World!를 가장 먼저 출력해본다.과연 임베디드 세계에서는 어떨까?임베디드 설계에서 Hello World는 굉장히 어려운 일이다. 그렇다면 임베디드 공부를 처음 시작할 때, 해보는 것은 뭘까?바로 LED 켜보기이다.그래서 우리도 LED를 켜보려고 한다.가장 싸고 흔한 발광 다이오드이다. 하나만 기억하자. 전기는 (+) → (-) 로 흐르는 것만 기억하고 저항이 없으면 LED가 버틸 수 없으므로 저항은 적당한거 하나 ANODE 쪽에 달아주자.아래 그림처럼 회로를 구성하였다.하나 main.c 코드를 복붙한 후, 빌드를 해보자. 빌드 Success가 뜨고 object, hex, elf 파일이 생겼을 것이다. 나중에 하나하나 설명할 것이니 일단은 넘어가자...
3. 아두이노 우노 관련 자료 소개
·
🦾AVR
아두이노 우노를 사용하여 설계를 하려면 그 보드에 대해 자세히 공부할 필요가 있다.아래에 소개를 해놓을테니 참고하길 바란다. 이는 나에게도 해당한다.아두이노 우노로 시작하면 좋은 점이 다양한 참고 자료와 확장 보드가 많다는 점이라고 하였다. 그 외에도 추천하는 이유는 더 있다.1. UART To Serial (USB) 가 존재한다. UART To Serial 모듈을 굳이 사지 않더라도 컴퓨터에 연결하여 UART 통신 테스트를 해볼 수 있다. 처음 공부하는 사람들에게는 큰 장점이라고 생각한다. U1 (CP2102):USB-시리얼 변환기 IC로, USB 신호를 TTL 레벨의 UART 신호로 변환한다.아두이노 또는 다른 MCU와 PC 간의 UART 통신을 가능하게 한다.U2 (PIC16F688-I/ST):Mi..
2. 아두이노 소개 & Atmel Studio7 프로젝트 생성하기
·
🦾AVR
앞서 말했듯이 아두이노로 공부하기 위해서 2가지 재료가 필요하다고 했다.아두이노 2개, ISP 다운로더아두이노 IDE는 알아서 하길 바란다. 나는 Atmel Studio를 통해 개발을 할려고 한다.Atmel Studio를 설치해야겠지?https://www.microchip.com/en-us/tools-resources/develop/microchip-studio#Downloads설치는 그냥 Next 갈기면 된다.파일 -> Project프로젝트명을 아무거나 해주십다. GCC C Executable Project 선택해줍니다.아두이노 칩은 ATmega328P 이므로 선택해준다.옆에 지원하는 툴을 보면 다양하게 보여준다. STK500이 있다. 우리가 싸게 주고산 ISP 방식이 STK500이다.이렇게 생성이 끝..
1. 임베디드 SW 취업에 관심 있는 취준생을 위하여.
·
🦾AVR
임베디드 SW 로 취직을 하고 싶은 사람들을 위해...별로 추천해주고 싶지 않은 업종이지만, 그럼에도 관심있는 사람들을 위하여 기본적으로 어떻게 공부해야하는지 방향성 정도를 제시하는 정도의 교육을 위해 작성해보려 한다.추천해주고 싶지 않은 이유는 업무 강도 및 진입에 비해 연봉이 다른 개발직군에 비해 짠 편이다.네카라쿠배당토 (네이버, 카카오, 라인, 쿠팡, 배달의 민족, 당근, 토스  등등...)  라고 IT 취업 시장이 한창 인기 있을 때 많이 들어보았을 것이다. (지금은 많이 식었다...)과연 저기에 임베디드 분야가 있는가? 없다...내 대학원 시절 선배가 임베디드 업계는 사람이 없어서 대우가 좋다는데... 쓰읍 전자의 말은 맞지만, 후자의 말은 틀렸다.(그래도 업계에 사람이 적으므로, 나이 많이 ..
18. STM32 I2C 통신 - AM1008W-K-P 동작 구현
·
🧊 STM32
이 전 글에서 AM1008W-K-P 데이터시트와 I2C HAL 함수들을 소개했다. 이번 글은 위 정보들을 이용하여 아두이노와 똑같이 재현하도록 하겠다. 우선 프로젝트를 생성한다. 프로젝트 생성에 대한 내용은 생략하겠다.1. I2C 설정I2C 동작을 구현하기 위해 레지스터를 설정해주어야 하는데, CUBE IDE에서는 간단하게 GUI를 통해 생성할 수 있다. I2C1와 USART1을 각각 활성화시킨다. (생략, 이 전글들 참고 바람)USART1는 기본 115200을 사용할 것이므로 별도의 설정을 할 필요는 없지만 I2C1은 속도를 설정해주어야 한다.AM1008W-K-P 센서는 30kbps 이하에서 동작하는 것이 스펙이다. I2C1은 default 설정으로 standard 모드로 100kbps이다.  100k..
[STM32] 17. I2C 통신 함수 종류
·
🧊 STM32
📌 1. 주요 I2C HAL 함수STM32Cube HAL 기능을 기반으로 차단 모드, 인터럽트 모드 또는 DMA 모드의 3가지 모드로 I2C 데이터 전송을 수행할 수 있다.⚙️ 1. Blocking Mode통신은 폴링 모드로 수행되며, 모든 데이터 처리 상태는 전송 완료 후 동일한 기능으로 반환된다.HAL_I2C_Master_Transmit()HAL_I2C_Master_Receive()HAL_I2C_Slave_Transmit()HAL_I2C_Slave_Receive()HAL_I2C_Mem_Write()HAL_I2C_Mem_Read()⚙️ 2. Non-Blocking Mode통신은 Interrupts 또는 DMA를 사용하여 수행되며, 이러한 함수는 전송 시작 상태를 반환한다. 인터럽트 모드를 사용할 때는..
[STM32] 16. I2C 센서 소개 (미세먼지/이산화탄소 복합 공기질 센서 CUBIC - AM1008W-K-P)
·
🧊 STM32
STM32 I2C 통신을 이용해 테스트를 해볼 센서는 복합 공기질 센서 AM1008W-K-P 모델이다.해당 센서는 주위 미세먼지와 이산화탄소 농도를 알려주는 복합 공기질 센서이며, 미세먼지 (PM), VOC, 이산화탄소, 온습도 측정이 가능하다.➡️ 1. Features미세먼지(GRIMM 방식), 이산화탄소, VOC, 온습도공급 전압 : 5V노이즈 방지를 위한 금속 차폐통신 방식 : I2C, UART크기 : 80(W) x 50(H) x 13.6(D) [mm]➡️ 2. Application Ideas Air PurifierAir Quality MonitorAir ConditionerVentilation SystemConsumer electronic productsEnvironmental monitoring..
[STM32] 15. I2C 통신 개요
·
🧊 STM32
📌 1. I2C(Inter-Integrated Circuit)란 무엇인가?I2C는 원래 1982년 필립스 반도체가 만든 집적 회로 사이에 사용되는 2선 직렬 통신 시스템이다.I2C는 다중 마스터, 다중 슬레이브, 동기식, 양방향, 반이중 직렬 통신 버스이다. SDA(Serial Data)는 마스터와 슬레이브가 정보(비트 시퀀스)를 전송하거나 수신하는 라인이다.SCL(Serial Clock)은 데이터 흐름 동기화를 위한 클럭 전용 라인이다.SDA 및 SCL 라인은 저항으로 끌어올려야 한다. 이 저항의 값은 버스 길이(버스 커패시턴스)와 전송 속도에 따라 달라진다. 보통 4.7K옴에서 10K옴 사이를 사용한다.위 I2C 통신 회로도를  보면, VDD(전원) 측에 Rp(저항)이 풀업으로 달려있는 것을 확인할..
[STM32] 14. 콜백 함수 호출 과정
·
🧊 STM32
이 전 포스팅에서 HAL 라이브러리가 제공하는 인터페이스(HAL_UART_RxCpltCallback)를 사용하여 UART Interrupt를 간단한 기능을 구현하였다. HAL_UART_RxCpltCallback 함수는 STM32 HAL 라이브러리에서 UART 데이터를 수신할 때 사용되는 콜백 함수이다. 이 함수는 UART 인터럽트를 사용하여 데이터를 비동기적으로 수신할 때 호출된다. 임베디드 시스템 관점에서 이 콜백 함수가 호출되는 과정을 간단히 설명하겠다.1. HAL_UART_RxCpltCallback 함수 호출 과정1. UART 인터럽트 활성화: 먼저, UART 인터럽트를 활성화한다. 이는 HAL_UART_Receive_IT 함수를 호출하여 UART 모듈이 데이터를 수신할 때 인터럽트를 발생시킬 수 ..
18진수
'분류 전체보기' 카테고리의 글 목록