본문 바로가기

아두이노34

Arduino bootloader 올리기 Arduino IDE를 사용하기 위해서는 bootloader가 있어야 합니다. 아두이노 부트로더 구조 아두이노 부트로더에 대한 자세한 설명은 위 링크를 눌러보시면 나옵니다. 일반 ATMEGA 칩을 사면 부트로더가 없어서 Arduino에서 프로그래밍이 불가능 합니다. 즉 부트로더가 들어가 있어야 Arduino로 프로그램을 다운로딩 가능합니다. 부트로더는 Arduino - uno 보드만 있으면 쉽게 다운로딩 하실 수 있습니다. 우선 우노 보드를 하나 준비합니다.(다른보드도 가능합니다만 우노가 제일 구하기 쉬우니..) 우노를 연결한 뒤 Arduino를 열고 파일-예제-ArduinoISP-ArduinoISP를 클릭합니다. 보드와 포트를 설정한 후 업로드를 눌러주세요. 이제 부트로더를 올릴 차례입니다. 왼쪽이 위.. 2018. 7. 20.
SD card와 Level shifter Arduino에서 SD카드 연결하는 것을 포스팅했었습니다. SD카드 사용하기 SD카드의 경우 3.3V를 사용하고, Arduino는 5V를 사용합니다. 그래서 직접적으로 연결시, SD카드가 잘 되지 않는 현상이 발생합니다. 간혹 데이터가 깨진다거나, 초기화가 실패하거나 하게 됩니다. 이런경우 Level Shift가 필요합니다. 위와 같이 데이터가 이상하게 변합니다.ㅠ 물론 Level Shift 회로가 포함된 SD카드 모듈들도 있지만, 여기서는 쉽게 Level shift를 하려고 합니다. 제가 테스트 한 SD카드 모듈은 위 그림에 나오는 것과 같은 sparkfun제품입니다. 따로 level shifter 회로가 구성되어 있지 않습니다. 이런 경우 저항을 이용한 전압 분배법칙을 이용하여 level shift를.. 2018. 7. 17.
CLCD 글자 만들기 흔히 사용하는 16X2 CLCD는 영어와 주로쓰이는 특수문자 정도만 표현이 됩니다. 1234 lcd.print("Welcome to "); lcd.setCursor(0,1); lcd.print("Answer's Blog"); lcd.display(); cs 위와 같이 코드를 작성했을때의 모습입니다. 한글을 억지로 작성한다고 한글이 나오지 않습니다. 1234 lcd.print("반갑습니다"); lcd.setCursor(0,1); lcd.print("앤써입니다"); lcd.display(); cs 이렇게 한글로 작성하였더라도 이렇게 깨져서 나옵니다. 한글에 대응되는 code가 저 이상한 문자들이기 때문이죠. 즉 한글에 대응되는 코드가 저장되어 있지 않습니다. 그래서 수동으로 만들어 줘야 합니다. LCD Cu.. 2018. 7. 13.
SD카드 사용하기 각종 로그나 정보를 저장하기위해 SD카드를 종종 사용합니다. 아두이노에서는 SD카드의 손쉬운 위해 라이브러리를 제공합니다. 테스트한 SD카드 슬롯입니다. WaveShare제품이고, Arduino와 연결시 뒷면에 있는 PIN만 연결해 주면 됩니다. 1. 초기화 SD카드를 사용하기위해서는 먼저 초기화를 해주어야 합니다. 12345if (!SD.begin(spiCsPin)) { debug.println("SD initialization failed!");}else{ debug.println("SD Initialization ok"); }Colored by Color Scriptercs Line 1 : sd카드를 초기화하는 부분입니다. 슬롯에 SD카드가 삽입되어 있어야만 true를 받습니다. 파라메터는 SPI .. 2018. 7. 5.
ADS1115 16BIT ADC MODULE - Non library 예제소스코드 다운로드 Adafruit의 ADS1015 라이브러리를 이용하여 ADC값을 쉽게 읽어올 수 있었는데 이번에는 Arduino 기본 라이브러리인 Wire만을 가지고 구현하였습니다. ADS1115 16BIT ADC MODULE 이전 포스팅은 위 링크를 참고하세요. ADS1115는 4채널의 ADC 컨버터입니다. 그렇다보니 채널별 지정해서 읽어야 하고, Config register도 매번 설정해 줘야합니다.순서는 이렇습니다. 먼저 Config Register로 설정을 하고, Conversion Register에 채널을 설정하고 읽어옵니다. Config Register와 Conversion Register를 쓰기위해서는 Write함수를 사용해야 합니다. I2C는 병렬 통신이므로 주소값을 알아야 합니다. .. 2018. 6. 11.
ADS1115 16bit ADC Module 예제소스코드 다운로드 ADS1115는 ADS를 좀 더 정밀하게 해주는 모듈입니다. 샘플링을 16bit로 합니다. 즉 65535개입니다. 스펙을 보시면 ADC의 Input Range를 설정할 수 있습니다. 그리고 자세히 보시면 -부터 +까지 되어있습니다. 그말인 즉 16bit이지만 15bit로 나눠준다는뜻이됩니다. 왜냐하면 -영역까지 있으니~ 핀을 보시면 ADC채널은 4개가 있고, I2C로 전송되므로 통신핀과 전원핀이 있습니다. Arduino Uno는 제일 끝쪽에 SCL과 SDA가 있습니다. 이곳에 서로 연결해 주시고, 전원을 연결해 줍니다. 그리고 I2C는 병렬통신이라 고유 주소가 있어야하는데 ADDR의 연결위치에 따라 주소가 달라집니다. 즉 ADDR을 GND에 연결하면 I2C주소가 0x48 ADDR을 .. 2018. 6. 8.

인기글