아두이노 19

아두이노 레오나르도 VID,PID 변경하기

안녕하세요. 오늘은 아두이노 레오나르도보드 VID,PID를 변경해보겠습니다. VID : Vendor IDentifier PID : Product IDentifier VID는 제조사ID이고, PID는 제품ID입니다. 예를들어 아두이노의 VID는 0x2341이고, 로지텍의 VID는 0x046D입니다. 아두이노IDE에서는 보드의 설정을 변경할수있는 파일이 있습니다. C:\Users\sw\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6 (경로는 아두이노IDE 버전에따라 다를 수 있습니다) 위의 경로에서 boards.txt파일을 열면 아래의 사진에 나와있는 항목들이 보입니다 boards.txt 파일에서 보면 아래와같은 항목이 있습니다. leonardo.n..

아두이노/이론 2023.12.09

아두이노를 이용해서 릴레이제어하기

안녕하세요. 오늘은 아두이노 나노를 이용해서 릴레이를 제어해보겠습니다. 윈도우프로그램은 C#으로 만들었고 MCU는 아두이노 나노를 사용합니다. 둘이 통신은 UART로 합니다. 사용하는 릴레이는 무접점릴레이입니다. (PDDO-105N) *회로구성 아두이노나노, 버튼, 릴레이, OLED(SSD1306)로 구성했습니다. OLED는 MCU에 저장해있는 데이터, 동작상태등을 보여줍니다. ON, OFF, CYCLE데이터를 EEPROM에 저장해서 PC프로그램과 통신을 안해도 정해둔 데이터를 저장해서 전원만 넣으면 버튼으로 START할수있게 만들었습니다. 버튼 : D2 릴레이 : D3 OLED SCL : A5 OLED SDA : A4 *프로그램동작 UART통신을 위한 연결UI가 존재하고, 컨트롤창이 존재합니다. 프로그..

아두이노/활용 2023.11.26

아두이노 우노 EEPROM 사용하기

안녕하세요. 오늘은 아두이노 우노에있는 EEPROM 기능을 사용해보겠습니다 EEPROM이란 Electrically Erasable Programmable Read-Only Memory의 약자로 비휘발성 데이터를 의미합니다 아두이노 우노는 일반적으로 ATMEGA32를 사용하므로 데이터시트를보면 EEPROM은 1024Bytes의 크기를 가지고있고 100,000번 write/erase 사용가능합니다. 제조사가 제시한 횟수를 초과하면 데이터 손실이 있을 수 있습니다 EEPROM라이브러리를 사용하면 매우쉽게 사용이 가능합니다. * Write하기 EEPROM.write(address,value) address는 0~1023까지 가능하고 value에는 1byte 값을 적으면 됩니다 *Read하기 EEPROM.read..

아두이노/이론 2023.11.26

SPI통신 아두이노와 오실로스코프로 확인해보기 2편

안녕하세요. 오늘은 SPI통신을 알아보는 2편입니다. 1편: https://wowon.tistory.com/231 참고사항 (ARDUINO UNO기준) MOSI (SDI) : 11번핀 MISO (SDO) : 12번핀 CLOCK : 13번핀 SS (CS) : 10번핀(or 사용자 지정) SPI통신은 SS핀을 LOW로 설정한다음에 MOSI핀과 CLOCK핀을 흔들면 됩니다. CLOCK은 8번 흔들리고 MOSI핀도 8번 흔들립니다 위의 사진은 SPI속도 200Mhz, MSBFIRST, 0x64(100)전송한 파형입니다. 속도가 200Mhz설정했으므로 1클럭의 속도는 5ns입니다. 0x64 = 0b 0110 0100입니다. MSBFIRST이므로 위와같이 파형이 나왔고, LSBFIRST면 아래처럼 나옵니다. 기본은..

아두이노/이론 2023.01.31

아두이노 shiftOut함수 알아보기

안녕하세요. 오늘은 아두이노에있는 shiftOut함수에 대해 알아보겠습니다. shiftOut함수는 1바이트가 있으면 1바이트를 8비트로 쪼개서 HIGH/LOW로 출력해줍니다. HIGH/LOW로 출력할때 clock도 같이 보내줍니다. 예를들어 0x44를 shiftOut함수 태우면 HIGH/LOW로 01000100(MSB FIRST) or 00100010(LSB FIRST)가 나옵니다. 위의 파형은 0x44를 shiftOut함수를 태운 01000100(MSB FIRST) 입니다. 파형만 봐서는 01000100인지 00100010인지 구분이 안됩니다. 그래서 HIGH / LOW마다 clock을 같이 출력해줍니다 clock가 표시가되므로 01000100이란걸 알 수 있습니다 함수 void shiftOut(uin..

아두이노/이론 2022.12.26

아두이노 I2C Address 주소 찾기

안녕하세요. 오늘은 I2C Address 주소찾기를 해보겠습니다. 사용한 보드는 Arduino-UNO입니다. (SDA:A4 , SCL:A5) 사용할 함수는 세개입니다. - Wire.begin() : I2C를 사용할 수 있게 초기화합니다. - Wire.beginTransmission(address) : 슬레이브 주소전달 함수입니다. (주소는 7bit) - Wrie.endTransmission() : write()에 의해 대기중이였던 데이터를 전송하고, 통신을 종료합니다. 이 함수의 리턴값에 따라서 슬레이브가 데이터를 수신했는지 알 수 있습니다. 0: 성공 1: 데이터가 너무 길어 전송 버퍼에 맞지 않음 2: 주소 전송 시 NACK 수신 3: 데이터 전송 시 NACK 수신 4: 기타 오류 Wire.begin..

SPI통신 아두이노와 오실로스코프로 확인해보기 1편

안녕하세요. 오늘은 SPI통신에 대해 알아보겠습니다. SPI란 Serial Peripheral Interface의 약자입니다. 특징으로는 데이터를 동시에 보내고 받을 수 있는 전이중 모드를 지원하는 동기식 직렬 통신 인터페이스입니다. UART및 I2C보다 훨씬 빠르고 높은 데이터 전송속도 (8>Mbits)를 지원합니다. SPI에서는 데이터/클럭 라인이 장치 간에 공유되더라도 각 장치에는 고유한 주소 와이어가 있습니다. SPI통신은 마스터가 1개이고 슬레이브가 여러개입니다. 적어도 최소한 4개의 포트가 필요합니다. MOSI는 Master Output Slave Input의 약자입니다. 마스터에서 슬레이브로 데이터를 전송할때 사용합니다. MISO는 Master Input Slave Output의 약자입니다...

아두이노/이론 2021.11.21

I2C통신 아두이노와 오실로스코프로 확인해보기 3편

안녕하세요. 오늘은 2편에 이어서 WRITE와 READ를 해보겠습니다. I2C통신 아두이노와 오실로스코프로 확인해보기 1편 https://wowon.tistory.com/224?category=615512 I2C통신 아두이노와 오실로스코프로 확인해보기 2편 https://wowon.tistory.com/225?category=615512 1) WRITE하기 -Wire.write(value) : 슬레이브에게 보낼 데이터입니다. 데이터를 큐에 넣고, endTransmission() 함수를 호출하면 데이터를 전송합니다 value : 1바이트로 보내는 값 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #include void..

아두이노/이론 2021.10.04

I2C통신 아두이노와 오실로스코프로 확인해보기 2편

안녕하세요. I2C 2편입니다. I2C통신 아두이노와 오실로스코프로 확인해보기 1편 https://wowon.tistory.com/224?category=615512 I2C통신 아두이노와 오실로스코프로 확인해보기 3편 https://wowon.tistory.com/226?category=615512 아두이노와 오실로스코프를 이용해서 데이터 주소를 슬레이브에게 보내는 것을 해보겠습니다. - Wire.begin() : I2C를 사용할 수 있게 초기화합니다. - Wire.beginTransmission(address) : 슬레이브 주소전달 함수입니다. (주소는 7bit) - Wire.write(value) : 슬레이브에게 보낼 데이터입니다. - Wrie.endTransmission() : write()에 의해..

아두이노/이론 2021.10.03

I2C통신 아두이노와 오실로스코프로 확인해보기 1편

안녕하세요. 아두이노(uno)와 오실로스코프와 I2C통신모듈 JMOD-TEMP-1 (LM75A)을 이용해서 파형을 직접 확인해보겠습니다. I2C통신 아두이노와 오실로스코프로 확인해보기 2편 https://wowon.tistory.com/225?category=615512 I2C통신 아두이노와 오실로스코프로 확인해보기 3편 https://wowon.tistory.com/226?category=615512 - I2C와 TWI는 같은 의미입니다. - I2C 통신이란 두 개의 신호선 (SDA,SCL)으로 다수의 I2C 통신을 지원하는 디바이스와 송신/수신을 할 수 있게 해주는 통신 방식입니다. ( SDA: Serial Data Line, SCL : Serial Clock Line) - 보통 1개의 마스터와 다수..

아두이노/이론 2021.10.03