본문 바로가기

ESPRESSIF/ESP8266

(13)
#ESP8266 I2C SSD1306 OLED 테스트 ESP ArduinoEXP 보드에는 I2C 인터페이스의 SSD1306 OLED 모듈을 연결하여 디스플레이 할 수 있다. SSD1306 OLED를 제어 하기위한 라이브러리로 Adafruit_SSD1306, Adafruit_GFX 를 많이 사용한다. 용량은 좀 크지만 간한히 사용할 수 있으니 일단 설치 해 보자 설치 후 예제를 적당히 수정하면 간단히 OLED에 텍스트를 표시 할 수 있다. #include #include #include #include #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for an SSD130..
#ESPArduinoEXP - ESP8266 SPI 테스트 (40Mhz) ESP8266의 SPI는 IO12(SO), IO13(SI), IO13(CLK) 에 HSPI으로 할당 되어 있다. 특징으로 ESP8266의 SPI 클럭속도는 80Mhz로 상당히 빠르다고 하니 한번 테스트 해 보았다. ESP8266 SPI 테스트 코드 #include void setup() { pinMode(15, OUTPUT); digitalWrite(15, 1); Serial.begin(115200); SPI.begin(); SPI.setFrequency(40000000); } int i = 0; void loop() { Serial.println(i); SPI.transfer(i++); delay(500); } 40Mhz로 설정하고 SPI.transfer() 함수를 호출 하면 SCLK 핀으로 출력되는 ..
ESP8266 I2C 테스트 - PCF8574 제어 ESP8266 데이터 시트를 보면 IO14(SCL), IO2(SDA) 로 설정되어 있다. SPI 와 겹치기 때문에 다른 핀으로 할당 할 필요가 있다. ESP8266 Arduino 핀 설정(pins_arduino.h)을 보면 디폴트로 IO5(SCL), IO4(SDA) 로 할당 되어 있다. 물론 소프트웨어 I2C라 변경 하능은 한데 디폴트를 사용하면 초기화 시 별도로 지정해 주지 않아도 된다. #define PIN_WIRE_SDA (4) #define PIN_WIRE_SCL (5) static const uint8_t SDA = PIN_WIRE_SDA; static const uint8_t SCL = PIN_WIRE_SCL; ESP8266 I2C 초기화 #include void setup() { Wire.b..
#ESP ArduinoEXP - ESP8266 PWM 테스트(3색 LED제어) #ESP ArduinoEXP - ESP8266 PWM 테스트(3색 LED제어) ESP8266의 데이터 시트를 보면 4개의 PWM을 제공하고 소프트웨어 타이머로 구동이 된다고 나와 있다. 최소 레졸루션이 44ns 이고... PWM 주파수는 100hz ~ 1khz 로 되어 있다. 아주 정밀하지는 않을것 같고... 일단 테스트 해 보자 #ESP Ardunio EXP 보드에는 PWM 테스트를 위해 3색 LED가 연결되어 있고 JP13에서 LED의 전원을 공급할 수 있다. PWM을 이용하여 LED색상 변경 테스를 해 볼 수 있다. analogWriteFreq() 함수로 주파수를 설정 할 수 있고 analogWrite() 함수로 출력 핀과 PWM 주기를 설정 할 수 있다. 스펙상에는 IO12, 14, 15, 4가 ..
#ESP ArduinoEXP - ESP8266 LED 테스트 중 다운 되는 현상 #ESP ArduinoEXP - ESP8266 LED 테스트 중 다운 되는 현상 ESP8266 Xbee 모듈 테스트를 위해 ESPArduinoEXP 확장 테스트 보드에서 확인 중 ESP8266이 다운되는 현상이 발생 한다. 시리얼 포트로 아래와 같은 메시지가 출력 된다. ets Jan 8 2013,rst cause:4, boot mode:(3,6) wdt reset load 0x4010f000, len 3584, room 16 tail 0 chksum 0xb0 csum 0xb0 v2843a5ac ~ld 전에 잘 동작 했던 보드인데... 설정이 잘못 되었나? 사용하는 ESP2866모듈은 ESP-WROOM-02D 이다. ESP-WROOM-02D and ESP-WROOM-02U currently integra..
#ESP Arduino EXP 테스트 보드 제작 - ESP8266 XBee 모듈 테스트 다양한 XBee 형태의 표준 핀맵을 가진 보드를 테스트 할수 있는 통합 테스트 보드를 제작 했다. 기본적으로 ESP8266, EXP32의 펌웨어 다운로드 가능이 있고 포트 상태를 확인 할수 있는 LED, 스위치, 부저, SSM 모듈 소켓 등이 있어 간단히 여려 기능들을 쉽게 테스트 해 볼 수 있도록 했다. Arduino 핀맵을 유지 하고 있어서 Arduino 쉴드를 연결하여 테스트 할 수 있다. Arduino 보드에 연결되어 WiFi 로 받은 데이터를 송수신 할 수도 있다. 각종 LCD(SSD1306) 모듈 및 SSM EVM 모듈등을 연결 하여 간단히 테스트 가능하다.
#ESP8266-XBEE 모듈 보드 제작 #ESP8266-XBEE 모듈 보드 제작 엔지니어 실험실의 주된 목적은 다양한 칩셋들을 실험해 보고 추후 사용하게 될지 모를 프로젝트에 쓰기 위해 사전에 다양한 실험들을 해 보는것이다. 그래서 기능별로 표준화 된 핀맵으로 다양한 모듈을 제작해 두면 쉽게 교채 하면서 장단점을 비교 할수 있다. 그런 이유에서 최대한 표준화 핀맵을 선호 하는데 무선 기능을 가진 모듈은 XBee 형태의 핀맵으로 만들어 오고 있어서 ESP8266도 XBee 핀맵으로 제작해 보았다.
[ESP8266-SSM EVM] 웹서버 테스트 [ESP8266-SSM EVM] ESP8266 웹서버 테스트 ESP8266의 가장 강점은 저렴한 가격의 WiFi 를 구현 할 수 있는것이 아닐까...우선 가장 간단하게 테스트 해 볼 수 있는 웹서버 예제를 돌려 보자 Arrduino설치시 기본으로 제공하는 웹서버 예제를 다운로드 해서 테스트 해 보았다.#include #include #include #include const char* ssid = "****";const char* password = "*****"; ESP8266WebServer server(80); const int led = 13; void handleRoot() { digitalWrite(led, 1); server.send(200, "text/plain", "hello from e..