아두이노/이론 14

아두이노 레오나르도 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

아두이노 우노 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

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

아두이노 정전식 터치센서 사용하기 TTP223B

안녕하세요 아두이노 정전식 스위치 사용하기입니다 일반적인 검정 딸깍거리는 작은 검정스위치밀고 터치 형식으로 하는 스위치인데요 모듈을 사용하면 매우 쉽게 구현할 수 있습니다. 모듈을 보면 핀 3개 VCC, GND , SIG가 있는데요. VCC,GND에는 전원 SIG에는 입력받을 포트를 연결하면 됩니다 터치됬을땐, SIG에 1이들어오고 터치가 안됬을땐 0이 들어옵니다 클릭하면 LED가 켜지고클릭하면 LED가 꺼지는걸 해보겠습니다 Colored By Color Scripter™1234567891011121314151617181920212223242526272829303132333435bool tempbool; void setup() { Serial.begin(9600); pinMode(12, OUTPUT); ..

아두이노/이론 2018.12.19

2강. 아두이노 analogWrite, PWM 알아보기입니다.(LED키기)

안녕하세요. analogWrite함수와 PWM에 대해 알아보겠습니다.2강에서 digitalWrite를 통해 LED를 on/off했는데 이제 단순히 on/off말고LED의 밝기를 조절해보고, 하기위해 알아야 할 개념인 PWM에 대해 설명하겠습니다. - 0. 알아야하는개념PWM이란 pulse width modulation이고 구글번역기쓰면 펄스 폭 변조라고 나오네요듀티비란 HIGH와 LOW의 비율입니다위의 그림을보면 0.5초간격으로 0V 5V가 변하는걸 볼수있습니다 듀티비50%입니다. 만약 LED를 킨다고했을때, 듀티비가50%면 HIGH와 LOW가 반반들어가서 LED의 밝기도 최대치의 반이 됩니다그럼 digitalWrite는 듀티비가 항상100%다 라고 말할 수 있습니다 위의 개념이 PWM입니다. - 1. ..

아두이노/이론 2018.10.20