본문 바로가기

개발자/Arduino

4 digit 7 segment up down 카운터 만들기 요즘 4 digit 7 segment를 이용하여 카운터를 만들어 본다. 하나를 배우면 새로운 것을 더 많이 배우게 되고, 배우면 더 좋은 아이디어를 또 그만큼 만들어 낸다. 부를 얻는 일은 생산자가 되는 일이다. 성공한 사람들은 가치 있는 무언가를 끊임없이 생산해 필요한 사람들에게 제공한다. 더 많은 사람에게 더 많은 가치를 빠른 시간에 전달해 준다는 것은 대가로 무언가를 얻게 된다. 얻는 형태는 대부분 돈이라는 형태를 띠지만 꼭 돈이 아닐 수도 있다. 성공하고 싶다면 계속해서 기버, 제공하는 사람, 주는 사람, 가치를 제공하는 사람으로 살 각오를 해야 한다. 쉬운 일은 아니다. 4 digit 7 segment up down 카운터 만들기 본 포스팅에서는 4 digit 7 segment를 이용하여 업, ..
아두이노 7 Segment LED 숫자 표시 친구들과 어울리기를 좋아하고, 늘 피곤한지 책상에 엎드려 자는 아이들, 무슨 꿍꿍이가 있는지 자기들끼리 소근대는 아이들을 본다. 시키지 않으면 하지 않지만 무어라도 한번 해보자고 하면 아이들은 빛의 속도로 움직인다. 아이들이 가진 것이 가능성 뿐이라서 지금은 심심하고 지루한 세월을 보내는 것 같다. 사실 선생님과 아이들은 서로에게 의무감도 없고, 빛진 일도 없다. 어떤 방향으로 나가든 둘 다 꼭 그래야만 할 이유도 찾기 힘들다. 서로 노력할 뿐이다. 작고 사소한 일들을 함께하고, 꼭 배워야 할 것들을 가르치고, 배울 수 있다면 그뿐이고, 무엇보다 각 개인이 가진 내면의 의지를 표현하면 좋겠다. 아크릴 판에 조립한 아두이노 보드를 가지고 실습을 한다. 처음 다루어 보는 아이들부터, 익숙한 아이들까지 모두 ..
아두이노 DHT11 온도 습도 센서 실습 온도 습도 센서 연결도는 아래와 같습니다. Arduino 프로그래밍 Arduino IDE 소프트웨어가 실행되고 있어야 합니다 . 다음으로 Arduino 라이브러리 관리자를 통해 수행할 수 있는 DHT 센서 라이브러리를 설치해야 합니다. 스케치 화면에서 툴 → 라이브러리 관리자 → 라이브러리 관리 창을 열어서 검색 필드에 " dht zsensor"를 입력 하고 " Adafruit 의 DHT 센서 라이브러리 " 목록을 살펴봅니다 . "설치" 버튼을 클릭하거나 이전 버전에서 "업데이트"를 클릭합니다. 소스코드 #include "DHT.h" #define DHTPIN 2 // Digital pin connected to the DHT sensor // Uncomment whatever type you're us..
아두이노 포모도로 시계 만들기 디지털 기기와 정보에 주의를 빼앗기지 않고 몰입을 도와주는 아날로그같은 디지털 제품을 제공하기로 한다. 현대 사회에서 어떤 세대에 있어서도 몰입의 즐거움을 갖는 일은 어려운 일이다. 친구와 노는 시간에도, 식당에서도, 학습이나 여행같은 일상에서도, 가족 모임에서도 디지털 기기와 정보의 아웃소싱에 의지하는 일은 사실 권장되는 일이기조차 하다. Arduino pomodoro clock 포모도로 기법(Pomodoro Technique)은 시간 관리 방법론으로 1980년대 후반 '프란체스코 시릴로'(Francesco Cirillo)가 제안했다. 타이머를 이용해서 25분간 집중해서 일을 한 다음 5분간 휴식하는 방식이다. '뽀모도로'는 이탈리아어로 토마토를 뜻한다. 프란체스코 시릴로가 대학생 시절 토마토 모양으로..
Arduino Uno로 ATtiny13 프로그래밍 Arduino를 AVRISP로 전환 (AVR은 마이크로 컨트롤러 제품군입니다. ISP는 In System Programmer 를 의미합니다 ) Arduino IDE -> 파일 -> 예제 -> 11.ArduinoISP ->ArduinoISP 를 열고 Arduino에 업로드 합니다. ATtiny13용 하드웨어 패키지 설치 1.1 Arduino IDE에서 파일 -> 환경 설정 화면에서 추가 보드 관리자 URL 로 이동하여 다음을 복사합니다. https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json Arduino IDE -> 도구 -> 보드 -> 보드 관리자를 엽니 다. MicroCore 를 찾아 설치를 클릭합니다. - 이것은 확인 필요 ..
아두이노 우노 보드와 브레드 보드 고정 아크릴 받침 3주차나 4주차에 아두이노 스타터 키트를 실습용으로 나누어 주는데 처음으로 아크릴 보드를 함께 나눠줬다. 아크릴 보드를 적당히 자르고 고정 홀을 내어 아두이노 우노 보드와 브레드 보드 840핀짜리를 고정할 수 있도록 만들었다. 기가 막히다. 별것도 아닌 작은 아이디어인데 왜 그동안 모르고 지나쳤는지 좀 이해가 되지 않는다. 작은 가치라도 전달하기 위해 노력한다. 돈을 버는 방법은 간단하다. 다른 사람의 문제를 해결해주면 된다. 어떻게 하면 더 나은 가치를 전달해줄 수 있을까를 늘 고민한다. 아래 DWG 파일입니다. 그대로 레이저 커팅기에서 자르시면 됩니다. 아래 조립한 사진, 마음에 쏙 든다.
아두이노 가변 저항 7-segment 에 표시하기 smart knob 가변저항 값이 약간 오차가 생기는 이유를 찾고 있다. 가변저항 값을 읽어 표시하는 코드 //a,b,c,d,e,f,g 상태값 const byte segValue[10][7] = { {1,1,1,1,1,1,0}, //0 {0,1,1,0,0,0,0}, //1 {1,1,0,1,1,0,1}, //2 {1,1,1,1,0,0,1}, //3 {0,1,1,0,0,1,1}, //4 {1,0,1,1,0,1,1}, //5 {1,0,1,1,1,1,1}, //6 {1,1,1,0,0,0,0}, //7 {1,1,1,1,1,1,1}, //8 {1,1,1,1,0,1,1} //9 }; //const byte segPin[8]={7,3,A3,A1,A0,6,A4,A2}; //사용핀{a,b,c,d,e,f,g,dp} 순서대로임 //const b..
아두이노 dht22 온도 습도 센서 테스트 온습도 센서(온도와 습도를 동시에 측정할 수 있는 센서)인 DHT11의 사용법은 다 아실 텐데 이번 포스팅에서는 DHT22 온도 습도 센서에 대해 알아보겠습니다. DHT11 도 싸고 좋은 센서지만 보다 측정범위가 넓고 오차가 적은 정밀한 측정이 가능한 온습도 센서가 있습니다. 바로 DHT22 (AM2302) 입니다. DHT22 가 dht11 보다 모든면에서 우수한 것 같지만 하나의 단점이 있습니다. DHT11은 1초마다 온습도 값을 측정해서 보내주지만 DHT22는 2초마다 보내줍니다. DHT11과 DHT22 센서의 간단한 비교는 아래 표를 참고하세요. DHT11 DHT22 온도 측정범위 0 ~ 50℃ -40 ~ 80℃ 온도 측정오차 2℃ 0.5℃ 습도 측정범위 20 ~ 80% 0 ~ 100% 습도 측정오..
아두아노 millis()함수 시간 다루기 ​ 오늘은 아두이노 프로그래밍에서 자주 사용하는 millis( ) 함수에 대해 알아보겠습니다. millis 함수 레퍼런스를 참조는 이곳을 참고하시면 되고 여기서는 millis 함수를 사용해 읽은 값을 다루는 방법을 설명합니다. 아두이노의 전원이 공급되면 타이머가 돌기 시작합니다. 타이머가 도는 시간을 가져오기 위해서 millis( ) 함수를 사용합니다. 현재 타이머의 밀리세컨드 시간 값을 읽어오게 됩니다. 1초당 1000의 값을 갖게 되는데 이 시간 값을 통해 우리는 시간을 만들어 낼 수 있습니다. * 주의사항: millis( )의 반환 값은 unsigned long 이므로 프로그래머가 int 와 같은 작은 자료형으로 산술을 수행하려고 하면 논리 오류가 발생할 수 있다. signed long 의 최대값의..
4 Digit 7 Segment Display 아두이노 제어 시계, 숫자 표시 등 활용 분야가 많은 7 segment 제어를 실습한다. 시계 알람 설정을 다이얼 노브를 사용하여 설정하는 방법을 알아보는 중이다. 회로 연결도는 아래와 같다. 여기서 부저는 연결하지 않아도 되고, 주로 7 segment 연결도를 참고하시면 됩니다. 잘 동작하는 소스코드 //a,b,c,d,e,f,g 상태값 byte segValue[10][7] = { {1,1,1,1,1,1,0}, //0 {0,1,1,0,0,0,0}, //1 {1,1,0,1,1,0,1}, //2 {1,1,1,1,0,0,1}, //3 {0,1,1,0,0,1,1}, //4 {1,0,1,1,0,1,1}, //5 {1,0,1,1,1,1,1}, //6 {1,1,1,0,0,0,0}, //7 {1,1,1,1,1,1,1}, //8 {1..
아두이노 버튼처리 한번, 버튼 길게, 더블 클릭 감지하기 지금 만들고 있는 theflow에 꼭 필요해서 찾아 보았다. 일단 OneButton 라이브러리를 사용한 예제를 올려둔다. 사실은 로우 코드를 찾고 있다. 라이브러리를 사용하지 않고 인터럽트나 소프트웨어로 직접 구현한 코드를 더 찾아볼 생각이다. 하나의 입력으로 무려 3가지 형태의 처리 기능을 갖는다. 아주 좋은 코드다. 아두이노 버튼처리 한번, 버튼 길게, 더블 클릭 감지하기 연결도는 따로 그리지 않고, 참고 자료의 동영상 회로를 캡쳐한 이미지다. 소스코드를 참고하면 연결하기에는 어렵지 않을 것이다. 특히 4pin RGB LED 핀 연결에 주의한다. 소스코드는 아래와 같다. /* * One Button two button red button blue button * * learnelectronics * ..
ATtiny13a 기반 가장 작은 제어 시스템 어떤 주제에 대해 알려면 적어도 책 한 권은 읽어야 하고, 포스팅은 10개 이상 해야 한다. 그것도 잘 아는 상태가 아니라 주제를 이해하는 정도로 하려면 말이다. 제대로 포스팅을 하려면 한 시간이 걸리니 10개를 하려면 10시간이고, 기술 서적을 한 권 읽은 것과 비슷하다. 새로운 프로젝트와 제품 개발을 위해 ATtiny13에 대해 공부하고 있다. ATtiny13a 기반 가장 작은 제어 시스템 겨우 아침 일찍 일어나고 부에 대해 공부한지 5개월로 들어서고 있는데 허리 조금 아프다고 모든 게 무너진다. 벌써 지친건가? 아니면 너무 운동을 열심히 해서 균형이 무너진건가 모르겠다. 아직 시작도 안 했다. 제대로 책임도 지지 않았고, 대가를 치르지도 않았고, 희생한 적도 없다. 다그치고 더 몰아 붙여야 한다. ..