아두이노123 아두이노 통신 UNO TO UNO -#1 아두이노 대 아두이노 통신을 할것이다. 하고 싶은것은 우노2대을 통신으로 시리얼 입력으로 출력하는것이다. 프로그래머가 혹은 코딩을 하기전에 프로그램의 스펙을 정해야 한다. 몇 글자를 전송할지, 전송하고자 하는 데이터는 어떤게 있는지 정하는것이다. 일단 아래와 같이 요건부터 정의를 하자. 1. 먼저 많고 많은 통신중에 제일 먼저 할 것은 시리얼 통신이다. 2. 우노A에서 문자를 전송하면 우노B의 LCD를 통해서 출력 할 것이다. 3. 우노A의 문자는 시리얼모니터를 통해서 입력을 받을것이다. 4. 우노A의 문자열의 길이는 최대 20글자를 하는것으로 할 것이다. 5. 우노A의 입력은 엔터를 입력 할 때까지 무한 대기 상태로 있을것이다. 6. 우노A의 문자열의 길이가 있을경우 우노B로 전송한다. 7. 우노B는 .. 2021. 11. 16. 재미로 공부하는 PID 제어 재미로 공부하는 PID 제어 다른말로 비례-적분-미분 제어기(Proportional-Integral-Differential controller) 이다. 이것은 크게 3가지 의미를 가지고 있다. 과거, 현재, 미래... 제어를 하고 싶은데, 과거값만 가지고 할꺼면 P제어기만 있으면 된다. 과거값과 현재값만 가지고 제어를 하고 싶다면 PI제어기를 사용하면 된다. ... 대부분 PI제어기만 있으면 된다. 그러면 왜 PID를 사용할까 ? 미래값은 모르는 값이다. 과거와 현재 값으로 예측하는 값이다. 잘 맞으면 좋겠지만, 만약 틀린다면 불확실성이 커진다. 그래서 대부분의 제어는 PI제어만 사용한다. 굳이 PID제어가 필요 없다는것이다. 그러면 왜 PID제어가 나왔을까? 인류의 발전은 전쟁의 역사라고 해도 틀린말은.. 2021. 6. 1. 아두이노 우노 슬립모드 #2 미리 이야기 하지만 요것은 실패한 경우이다. 사실 본인도 몰랐고 요것만 있으면 전류량을 측정 할 수 있을것이라고 생각 했다. 그러나 나의 생각을 완전히 빗겨 갔다. 물론 전류량을 측정 할수는 있다. 그런데 단위 자체가 다르다. 쉽게 말해서 암페어 단위이다. 아두이노의 슬립모드에서 감소하는 미리 암페어 단위를 측절하기는 좀 어렵다. 물론 평균적으로나 대략적인 수치는 찾을수는 있다. 그래프로 보면 확인 할 수는 있다. 그래도 좀.. 정확한것은 측정하기는 어렵다. ACS712 모듈도 전류량에 따라 3가지 종류가 있으니 주의 하기 바란다. #define scale_factor 185.0 void setup() { Serial.begin(9600); } void loop() { float volt = analog.. 2021. 1. 24. 아두이노 우노 슬립모드 #1 cafe.naver.com/dgarduino/8515 예전에 올라온 아두이노 프로미니 슬립모드에 관한 이야기다. 사실 올라 오자마자 슬립모드에 의한 전력소모량, 전류량을 측정하고 싶었다. 나중에 이야기 하겠지만, 첫번째 시도는 실패하고 다시 할라고 했는데, 여차 여차 하다가 해가 바뀌는 결과를 가져 왔다. 일단 이전 코드의 슬립모드에 대해서 알아 보자. 이전 코드에서는 버턴을 누르면 슬림모드로 들어가는 시간이 연장되어 슬립모드에 들어 가지 않는다. 그래서 아무것도 누르지 않으면 몇초후에 슬립모드로 들어간다. 그리고 슬립모드를 깨우기 위해서 인트럽트 0번을 사용한다. 사실 인터럽트 0번은 2번핀에 고정이기 때문에 굳이 2번핀에 대한 설정은 필요 없다. 그래서 소스코드상에 빠져도 되는코드가 일부 보이기는 한.. 2021. 1. 24. 아두이노와 한글 -#12 U8g라이브러리와 비슷한 U8g2라이브러리가 있다. https://github.com/olikraus/u8g2 설치법도 간단하니 한번해보기 바란다. 설치법도 간단하니 한번해보기 바란다. https://github.com/olikraus/u8g2/wiki/u8g2install https://github.com/olikraus/u8g2/blob/master/sys/arduino/u8g2_page_buffer/Korean/Korean.ino 예제폴드에 korean 이라는 예제가 있는데, 한글출력이 잘된다. 그리고 이것도 참고 하기 바란다. OLED 0.96인치 ㅡ SSD1306 OLED 1.3인치 ㅡ SH1106 #include #include #ifdef U8X8_HAVE_HW_SPI #include #.. 2020. 11. 15. 아두이노와 한글 -#10 아두이노와 한글 -#10 이제 출력을해보자. U8g라이브러리가 필요하다. https://github.com/olikraus/u8glib https://bintray.com/olikraus/u8glib/Arduino ZIP 파일을 다운받아서 설치하면 된다. 먼저 이야기 하지만 이것은 출력라이브러리 때문에 문자 출력과 그래픽출력 모두 지원한다. 그것이 그것이지만 이미지를 출력하거나 점으로 그래픽을 출력 할 수가 있다. 이전에 했던것 처럼 본인이 폰트를 만들어서 출력해도 된다. 쉽게말해서 그래픽이 된다는것은 모두 된다는것이다. 연결방법은 4선 연결이다. VCC, GND, SDA, SCL 해서 모두 4가닥이다. 우노같은 경우 A4, A5가 SDA, SCL이다. 여러번하다 보면 그냥 외우게 되니 그냥 연결하자. .. 2020. 10. 31. 아두이노와 한글 -#9 한글을 표현하기전에 먼저 출력장치에 대해서 알아보자. 아주 많은 출력장치들이 있다. 그중에서 싸고 간단하게 출력하는 장치중에 OLED 디스플레이가 있다. 네이버 검책해서 바로 나온다. 3,5천원 정도 수준이니. 몇개 구매해서 연습해 보는것도 좋을것 같다. 일단 시작하게전에 개념을 공부하고 가자. 이것은 아두이노 입장에서 출력장치이다. 그러면 1. 출력모듈로 봐야 한다. 그렇다 본인이 초보라면 그냥 출력 모듈로 보기 바란다. 2. 출력모듈이라는것을 이해 했다면 이것은 또하나의 기기, 아두이노라고 봐도 무방하다. 왜냐하면 우리는 이것과 통신을 할것이다. 출력전용아두이노에게 통신으로 정보만 전달하면 원하는것을 출력해 준다. 그렇다 지금까지 모듈로 생각해 왔던 모든것은 다 아두이노인것이다. 통신을 통해서 전달하.. 2020. 10. 31. 아두이노와 한글 -#8 이전에는 5x8이라는 도트의 한계로 인하여 여러가지 어려움이 있었다. 그리고 지금까지 공부한것을 바탕으로 도트에서 픽셀로 넘어가자 OLED는 픽셀을 개념을 기본적으로 하기 떄문에 표현에는 좀 더 자유롭다. 앞으로 이것으로 좀 더 공부를 하자. 2020. 10. 26. 아두이노와 한글 -#7 선언부를 보면 한글에 대한 정의가 있다. 지난번에 https://mikeyancey.com/hamcalc/lcd_characters.php 사이트에서 한글 한자를 정의 한것 처럼, 초성,중성,종성 각각 정의 한다. LCD의 크기에 맞게 5x8의 도트에 맞게 정의 되어 있다. 이것만 하면 끝날것 같지만 영어와 한글은 근본적인 차이가 있다. 글자의 크기가 다르다. 예를 들어 가와 각의 'ㄱ'의 크기의 차이가 다르다. 세로의 길이도 다르며, 가로의 폭도 다르다. 우리가 문장을 출력할떄 세로는 대충 출력한다고해도 가로의 폭은 정확하게 계산하기 정말 어려울수가 있다. 그래서 라이브러리 만든분이 몇글자씩 출력하는 미완성으로 끝난것일수도 있다. 어쨰던 근본적으로 어려운일 일수도 있다. LCD 도트의 한계로 인하여 안.. 2020. 10. 26. 이전 1 2 3 4 5 ··· 14 다음