프로그래밍/아두이노 11

아두이노 nodemcu로 온습도계를 만들어 보자

아두이노 nodemcu로 온습도계를 만들어 보자 조대협 (http://bcho.tistory.com) nodeMCU 개발환경 설정이 끝났으면 간단한 애플리케이션을 하나 만들어보자온습도계를 만들어보도록 한다. 온습도를 측정하여 LED로 출력하는 모듈을 개발해보겠다.개발이 끝나고 나서 아두이노 개발환경에 대한 결론 부터 이야기 하자면, 쉽다. 대부분의 파츠들에 대한 SDK가 제공되기 때문에 손쉽게 개발이 가능하다. 단 해당 파츠에 맞는 SDK를 찾는데 들억는 시간이 더 많다.온습도계 센서 (DTH11)개발에 사용할 온습도계 센서는 DTH11이라는 센서이다. 아래와 같이 생겼는데, 좌측이 데이타, 가운데가 3.3V, 가장 우측이 GND이다. 온도와 습도 두개를 측정하는데 데이타 단자가 하나이다. 아날로그 신호..

맥(OSX)에서 nodeMCU, Wemos D1 환경 설정하기

맥 OSX에서 nodeMCU와 Wemos D1 환경 설정하기 조대협 (http://bcho.tistory.com) 아두이노 우노로 아두이노 개발을 시작하고 서버 통신을 위해서 ESP8266 계열인 ESP01 칩을 사용했는데, ESP01은 연결도 까다롭고 소프트웨어 시리얼을 사용해서 SDK를 찾기 어려운점도 있었다. 개발하고자 하는 내용이 대부분 서버와 통신을 하는 부분이기 때문에, 보드를 우노에서 ESP8266 을 메인 MCU로 하는 보드로 변경하였다. 후보군으로 올른것이 nodeMCU v2와 Wemos D1 보드이다. nodeMCU의 경우에는 크기가 작고 성능이 뛰어날뿐 아니라, 널리 사용되는 보드이기 때문에, SDK나 예제를 구하기 쉬울것이라고 생각하였고, Wemos D1은 ESP8266을 포함하고 ..

라즈베리 파이 호환 보드 조사

라즈베리 파이 호환 보드 조사 라즈베리 파이를 구입해놓고 보니 단순한 소형 리눅스 머신이나. IO를 위한 GPIO 포트가 있는것 빼고는 크게 다르지 않다. 아두이노 시리즈도 호환 보드가 있는것 처럼, 라즈베리파이도 호환 보드가 있을것으로 생각하고 찾아보니 당연히 있다.Orange PI 우분투,Debian, 라즈베리 파이 이미지 실행 가능 이름CPU/GPU메모리디스크가격오렌지 파이 PC+1.6Ghz 4 core600Mhz GPU (OPEN GL ES)1G8G Flash37500오렌지파이 PC264bit 4 core, GPU 내장1G2MB Flush40000오렌지파이 라이트4 core, 600MHz GPU512M 25000 Banana PI 국내에서는 판매하는 곳이 많지 않고, 알리바바나 아마존을 통해서 구..

아두이노 , ESP8266, ESP32 성능 비교

아두이노, ESP8266,ESP 32 성능 비교 와이 파이 통신 모듈을 사용해보니, ESP8266이나 ESP32를 MCU로 하는 보드들을 메인 보드로 사용하는 경우가 많아서, 아두이노 우노나 메가와 같은 보드 없이도 이 보드들만으로도 성능이 충분할까해서 성능 비교표를 찾아보았다. 일단 결론 부터 이야기 하면, 아두이노 시리즈는 성능이 비교가 안된다. ESP32가 가장 빠르고, ESP8266 모델만 해도 상대적으로 매우 높은 성능을 낸다. 소스 : https://hilo90mhz.com/arduino-esp32-esp8266-101-speed-test-comparison-chart/

Esp01 (esp8266) + 아두이노를 이용해서 HTTP 통신 하기

ESP01 (ESP8266)을 이용한 HTTP 통신 조대협 (http://bcho.tistory.com) 하드웨어 시리얼과 소프트웨어 시리얼앞의 글에서 ESP01을 연결해봤는데, ESP01 연결시에 포트를 2,3번 포트를 사용하고, 코드는 SoftSerial 라이브러리를 이용하였다. 아두이노 우노의 0,1 번포트는 시리얼 통신을 위한 RX,TX 포트이다. 이를 Hardware Serial 이라고 한다. 그러면 하드웨어 시리얼 포트를 사용하지 않고 2,3번 포트를 사용한 후에 소프트웨어 시리얼 처리를 한 이유는 무엇을까? 하드웨어 시리얼 포트는 PC와 연결되어 있을때 PC와 통신을 목적으로 사용된다. 그래서 하드웨어 시리얼을 사용하지 않은것인데, ESP8266 관련 라이브러리들을 살펴보니, 대부분 하드웨어..

ESP01 (ESP8266) 사용하기

아두이노 ESP01 모듈 사용하기 조대협 (http://bcho.tistory.com) 아두이노 WIFI 모듈 아두이노 WIFI 모듈은 여러가지가 있는데, 아두이노용으로 나온 와이파이 실드의 경우에는 가격이 비싸다. (아두이노에서 WIFI 연결하는 방법은 http://bcho.tistory.com/1280 자료 참고) 그래서 가장 범용적으로 사용되는 칩셋은 ESP8266 칩셋인데, ESP8266 칩셋으로 나온 보드는 여러가지가 있다. ESP01~ESP14 모듈등이 있고, 조금더 사용이 편한 모듈로는 nodemcu와 같은 모듈이 있다. ESP8266 모듈 시리즈 https://en.wikipedia.org/wiki/ESP8266오늘 다루는 모듈은 이중에서 가장 저렴한 ESP01 모듈이다. 아두이노에서 이모..

서보 모터 제어

서보 모터 컨트롤 하기 아두이노에서 컨트롤 할 수 있는 모터중 한 종류인 서보 모터를 제어해봤다.서보 모터는 (Servo Motor) DC 모터와는 다르게 정밀한 컨트롤이 가능한 모터이다.정확한 각도나 속도로 회전을 할 수 있다. 테스트에 사용한 모터는 저렴한 서보 모터를 사용했는데, 그래서 그런지 90도, 180도로 각도를 돌려봐도 정확하게 90도, 180도로 돌지는 않았다. 서보 모터는 종류에 따라서 180도만 회전하는 모터, 360 회전하는 모터등으로 최대 회전 각이 다르다. 이런 모양으로 생겼는데, 붉은 선은 5V, 갈색선은 GND, 오렌지 선이 컨트롤 선이다.이 선을 아래 그림과 같이 9번 핀에 연결하였다. 그리고 아래와 같은 예제 코드를 사용하였다. #include Servo servo;int..

아두이노 무선 통신 모듈

아두이노 무선 통신 모듈 아두이노를 어느정도 테스트해보니, 서버에 붙여서 몬가를 해봐야겠다는 생각에 와이파이 지원 모듈을 찾다보니 꽤나 복잡해서 정리를 해본다.아두이노의 무선 통신 모듈은 원래 아두이노 와이파이 실드라는 파츠로, 아두이노 우노 위에 붙여서 사용하는 형태 였는데, 사용방법은 편리하나 가격이 비싼 편이고, 아두이노 우노 시리즈에만 호환되는 단점을 가지고 있다. 그러다가 WIFI가 대중화된것이 ESP8266 이라는 칩셋인데, 아주 저렴한 가격에 (인터넷에서 2000원 수준) 이를 통해서 많이 대중화가 되었다.가격은 저렴하지만 3.3V 전류를 사용하기 때문에, 별도의 저항등의 배선 설정이 필요하고, 특히 시리얼 라인 속도도 조정해야 하고, 펌웨어를 업그레이드해야 하는등 번거로운 작업이 필요하다...

아두이노 기울기 센서와 소음 센서

아두이노 기울기 센서와 소음 센서 아두이노 기울기와 소음센서를 간단하게 테스트 해봤다. 소음 센서소음 센서는 소리가 나면 그 값을 아닐로그값으로 바꿔서 준다. +5V와 GND에 연결하고, 데이타값은 아날로그 포트에 연결해서 받는다. 아래는 간단한 코드#include void setup() {Serial.begin(115200);} void loop() {int sound = 1024-analogRead(A0);Serial.println(sound);delay(20);} --- 9월 18일 수정 ---위의 센서는 아날로그가 아니라 디지털임.소리가 날때, 작은 값이 나오고, 소리가 안날때 1024값이 나오는데, 이건 중간에 가변 저항을 돌려보면 반대로 만들 수 있음 (포텐셔미터라고들 부르는데)"디지탈 센서의..

아두이노 조도 센서

가지고 있는 센서가 몇개 안되서, 그중에 간단한 조도 센서를 테스트해봤다. 5V와 아날로그 INPUT 단자를 이용하면, 쉽게 값을 받을 수 있다. 코드는 #include void setup() { Serial.begin(115200); } void loop() { int light = analogRead(A0); Serial.println(light); delay(500); } 특별한 부분은 없고, analogRead 함수를 써서, 읽고자 하는 아날로그 포트를 지정해주면 된다.노트북 빼고 연결 가능하게, 외부 전원 설치방법과, WIFI 연결, HTTP REST API 호출, LCD 출력등을 좀 더 테스트 해봐야겠다.SERVO 모터를 이용해서, 조정하는 것도 해보고. 이걸 하면 로보트팔을 만들 수 있지 않..