esp32 spi OLED 돌리기

 

Esp32 Dev 에 SPI OLED 를 연결했다.

 

H/W 연결을 위해 보드 pin map 을 정했다.

 

 

위 pin map 을 아래와 같이 연결 했다.

 

 

참고 : 내부의 정의된 pin map

 

 

static const uint8_t SS    = 5;

static const uint8_t MOSI  = 23;

static const uint8_t MISO  = 19;

static const uint8_t SCK   = 18;

 

 

사용된 SOURCE

 

#include "Arduino.h"

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

 

//PIN define

#define OLED_PCLK     18
#define OLED_PDATA    23
#define OLED_PRESET   17
#define OLED_PCMD     16
#define OLED_PCS     5

#define LED 2

 

//Graphic define
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2

#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH  16

static const unsigned char PROGMEM logo16_glcd_bmp[] =
{ B00000000, B11000000,
  B00000001, B11000000,
  B00000001, B11000000,
  B00000011, B11100000,
  B11110011, B11100000,
  B11111110, B11111000,
  B01111110, B11111111,
  B00110011, B10011111,
  B00011111, B11111100,
  B00001101, B01110000,
  B00011011, B10100000,
  B00111111, B11100000,
  B00111111, B11110000,
  B01111100, B11110000,
  B01110000, B01110000,
  B00000000, B00110000 };


//SW SPI : (MOSI, CLK, DC, RESET, CS)
//Adafruit_SSD1306 display(OLED_PDATA, OLED_PCLK, OLED_PCMD, OLED_PRESET, OLED_PCS);  


//HW SPI : (DC, RST, CS)
Adafruit_SSD1306 display(OLED_PCMD, OLED_PRESET, OLED_PCS); 

 

//The setup function is called once at startup of the sketch

void setup()
{
 // Add your initialization code here
 pinMode(LED, OUTPUT);

 Serial.begin(115200);
 delay(10);

 

 // display.begin(SSD1306_SWITCHCAPVCC, 0x3D); //I2C

 display.begin(SSD1306_SWITCHCAPVCC); //SPI


 display.display();  //diplay output
 delay(2000);
 display.clearDisplay(); // Clear the buffer.

 

 Serial.println("Start..");
}

 

 

// The loop function is called in an endless loop
void loop()
{
 //Add your repeated code here
 digitalWrite(LED, 1);
 delay(1000);
 Serial.println("LED OFF");

 digitalWrite(LED, 0);
 delay(1000);
 Serial.println("LED ON");
}

 

 

 

 

 

 

ttgo esp32 보드를 sloeber 에서 돌렸다.

 

기존에 esp32 sloeber 에서 설정한 내용이 있다. 참고 해야 한다.

 

http://bigwavek.tistory.com/entry/Esp32-%ED%99%98%EA%B2%BD-Sloeber-Eclipse-Arduino-%EC%98%B4%EA%B8%B0%EA%B8%B0?category=742263

 

1. 환경 구축 1

 Arduino > Preferences 에서 라이브러리를 다운받아야 한다.

 

 

 

 

Adafrult GFX Library , Adafrult SSD1306 을 설치 한다.

 

2. 환경구축 2

 Arduino > Add Select the Arduino libraries 에 해당 라이브러리를 사용하도록 선택 한다.

 주의) Project Explorer 창에서 메뉴에 진입 해야 한다.

 

 

 

3. 소스 입력

#include "Arduino.h"

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

//The setup function is called once at startup of the sketch

//Pin map define
//SDA = pin 4, SCL = pin 15, RESET = pin 16

//internal led is on pin 2

#define OLED_RESET 16
#define LED 2

 

//Graphic define
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2

#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH  16

static const unsigned char PROGMEM logo16_glcd_bmp[] =
{ B00000000, B11000000,
  B00000001, B11000000,
  B00000001, B11000000,
  B00000011, B11100000,
  B11110011, B11100000,
  B11111110, B11111000,
  B01111110, B11111111,
  B00110011, B10011111,
  B00011111, B11111100,
  B00001101, B01110000,
  B00011011, B10100000,
  B00111111, B11100000,
  B00111111, B11110000,
  B01111100, B11110000,
  B01110000, B01110000,
  B00000000, B00110000 };


Adafruit_SSD1306 display(OLED_RESET);

 

void setup()
{
 // Add your initialization code here
 pinMode(LED, OUTPUT);

 Serial.begin(115200);
 delay(10);

 

 // initialize with the I2C addr 0x3D (for the 128x64)
 // initialize with the I2C addr 0x3C (for the 128x32)
 display.begin(SSD1306_SWITCHCAPVCC, 0x3C);


 display.display();  //diplay output
 delay(2000);
 display.clearDisplay(); // Clear the buffer.

 //drawPixel
 display.drawPixel(10, 10, WHITE);
 display.display();  //diplay output
 delay(2000);
 //display.clearDisplay(); // Clear the buffer.

 Serial.println("Start..");

}

 

// The loop function is called in an endless loop
void loop()
{
 //Add your repeated code here
 digitalWrite(LED, 1);
 delay(1000);
 Serial.println("LED OFF");

 digitalWrite(LED, 0);
 delay(1000);
 Serial.println("LED ON");
}

 

위와 같이 수정해서 입력 했다.

주의 사항은 OLDE 가 128x32 의 해상도이기 때문에

display.begin(SSD1306_SWITCHCAPVCC, 0x3C) 로 선언해야한다.

 

 

 

4. pins_arduino.h 수정

ttgo 보드가 기본 pin map을 따르지 않기 때문에 pin map 을 수정해야 하는데 이 부분을

기존 아두이노 스케치면 수정하기가 어려웠을것 같다.

 

아래와 같이 수정했다.

 

//TTGO
static const uint8_t SDA = 4;
static const uint8_t SCL = 15;

//orignal
//static const uint8_t SDA = 21;
//static const uint8_t SCL = 22;

 

 

5. 다운로드

sloeber  가 기존 아두이노 스케치와 다른 부분이 스케치에서는 Upload 를 누르면 컴파일과정을 한후

진행이 되는데 sloeber 는 컴파일을 하지 않는다. 꼭 수정후 Verify 과정을 진행해 컴파일을 해야한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'공부 > arduino' 카테고리의 다른 글

esp32 아두이노 라이브러리 업그레이드  (0) 2018.04.12
esp32 spi OLED 돌리기  (0) 2018.04.09
esp32 ttgo 보드  (0) 2018.04.06
Esp32 환경 Sloeber Eclipse Arduino 옴기기  (0) 2018.04.05
arduino Eclipse 에서 사용하기  (0) 2018.04.05

esp32 ttgo 보드 관련 정보..

 

 

pin map

 

 

 

 

TTGO 제품중 LORA 가 들어간 제품에 대한 github

https://github.com/osresearch/esp32-ttgo

 

 

TTGO 제품중 LORA 가 들어간 제품에 대한  제품정보에 대한 다운로드 link :

https://drive.google.com/file/d/1L8ll-DeAC2SATBZn0-KbSaZsrinbnXkF/view

https://eyun.baidu.com/s/3hsiTNgg

 

 

LORA 참고 소스

 

 ## Hint

Sometimes to program ESP32 via serial you must keep GPIO0 LOW during the programming process

 

For example One

(1)LoRaSender

#include <SPI.h>

#include <LoRa.h>

#include<Arduino.h>

// GPIO5  -- SX1278's SCK

// GPIO19 -- SX1278's MISO

// GPIO27 -- SX1278's MOSI

// GPIO18 -- SX1278's CS

// GPIO14 -- SX1278's RESET

// GPIO26 -- SX1278's IRQ(Interrupt Request)

 

#define SS      18

#define RST     14

#define DI0     26

#define BAND    433E6  

int counter = 0;

 

void setup() {

  pinMode(25,OUTPUT); //Send success, LED will bright 1 second

  

  Serial.begin(115200);

  while (!Serial); //If just the the basic function, must connect to a computer

  

  SPI.begin(5,19,27,18);

  LoRa.setPins(SS,RST,DI0);

//  Serial.println("LoRa Sender");

 

  if (!LoRa.begin(BAND)) {

    Serial.println("Starting LoRa failed!");

    while (1);

  }

  Serial.println("LoRa Initial OK!");

}

 

void loop() {

  Serial.print("Sending packet: ");

  Serial.println(counter);

 

  // send packet

  LoRa.beginPacket();

  LoRa.print("hello ");

  LoRa.print(counter);

  LoRa.endPacket();

 

  counter++;

  digitalWrite(25, HIGH);   // turn the LED on (HIGH is the voltage level)

  delay(1000);                       // wait for a second

  digitalWrite(25, LOW);    // turn the LED off by making the voltage LOW

  delay(1000);                       // wait for a second

  

  delay(3000);

}

 

For example Two

(2)LoRaReceiver

#include <SPI.h>

#include <LoRa.h>

 

 

// GPIO5  -- SX1278's SCK

// GPIO19 -- SX1278's MISO

// GPIO27 -- SX1278's MOSI

// GPIO18 -- SX1278's CS

// GPIO14 -- SX1278's RESET

// GPIO26 -- SX1278's IRQ(Interrupt Request)

 

#define SS      18

#define RST     14

#define DI0     26

#define BAND    433E6

 

void setup() {

  Serial.begin(115200);

  while (!Serial); //if just the the basic function, must connect to a computer

  delay(1000);

  

  Serial.println("LoRa Receiver");

  

  SPI.begin(5,19,27,18);

  LoRa.setPins(SS,RST,DI0);

  

  if (!LoRa.begin(BAND)) {

    Serial.println("Starting LoRa failed!");

    while (1);

  }

}

 

void loop() {

  // try to parse packet

  int packetSize = LoRa.parsePacket();

  if (packetSize) {

// received a packet

    Serial.print("Received packet '");

 

    // read packet

    while (LoRa.available()) {

      Serial.print((char)LoRa.read());

    }

 

    // print RSSI of packet

    Serial.print("' with RSSI ");

    Serial.println(LoRa.packetRssi());

  }

}

 

 

For example three

(3)LoRaReceiverCallback

#include <SPI.h>

#include <LoRa.h>

 

 

 

// GPIO5  -- SX1278's SCK

// GPIO19 -- SX1278's MISO

// GPIO27 -- SX1278's MOSI

// GPIO18 -- SX1278's CS

// GPIO14 -- SX1278's RESET

// GPIO26 -- SX1278's IRQ(Interrupt Request)

 

#define SS      18

#define RST     14

#define DI0     26

#define BAND    433E6

 

void setup() {

  Serial.begin(115200);

  while (!Serial); //if just the the basic function, must connect to a computer

 

  SPI.begin(5,19,27,18);

  LoRa.setPins(SS,RST,DI0);

  

  Serial.println("LoRa Receiver Callback");

 

  if (!LoRa.begin(BAND)) {

    Serial.println("Starting LoRa failed!");

    while (1);

 }

 

  // register the receive callback

  LoRa.onReceive(onReceive);

 

  // put the radio into receive mode

  LoRa.receive();

}

 

void loop() {

  // do nothing

}

 

void onReceive(int packetSize) {

  // received a packet

  Serial.print("Received packet '");

 

  // read packet

  for (int i = 0; i < packetSize; i++) {

    Serial.print((char)LoRa.read());

  }

 

  // print RSSI of packet

  Serial.print("' with RSSI ");

  Serial.println(LoRa.packetRssi());

}

For example four

#include <Wire.h>  // Only needed for Arduino 1.6.5 and earlier

#include "SSD1306.h" // alias for `#include "SSD1306Wire.h"`

#include "images.h"

 

//OLED pins to ESP32 0.96OLEDGPIOs via this connecthin:

//OLED_SDA -- GPIO4

//OLED_SCL -- GPIO15

//OLED_RST -- GPIO16

 

SSD1306  display(0x3c, 4, 15);

 

#define DEMO_DURATION 3000

typedef void (*Demo)(void);

int demoMode = 0;

int counter = 1;

 

void setup() {

  pinMode(16,OUTPUT);

  digitalWrite(16, LOW);    // set GPIO16 low to reset OLED

  delay(50);

  digitalWrite(16, HIGH); // while OLED is running, must set GPIO16 in high

  

  Serial.begin(115200);

  Serial.println();

  Serial.println();

 

 

  // Initialising the UI will init the display too.

  display.init();

 

  display.flipScreenVertically();

  display.setFont(ArialMT_Plain_10);

 

}

 

void drawFontFaceDemo() {

    // Font Demo1

    // create more fonts at http://oleddisplay.squix.ch/

    display.setTextAlignment(TEXT_ALIGN_LEFT);

    display.setFont(ArialMT_Plain_10);

    display.drawString(0, 0, "Hello world");

    display.setFont(ArialMT_Plain_16);

    display.drawString(0, 10, "Hello world");

    display.setFont(ArialMT_Plain_24);

    display.drawString(0, 26, "Hello world");

}

 

void drawTextFlowDemo() {

    display.setFont(ArialMT_Plain_10);

    display.setTextAlignment(TEXT_ALIGN_LEFT);

    display.drawStringMaxWidth(0, 0, 128,

      "Lorem ipsum\n dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore." );

}

 

void drawTextAlignmentDemo() {

    // Text alignment demo

display.setFont(ArialMT_Plain_10);

 

  // The coordinates define the left starting point of the text

  display.setTextAlignment(TEXT_ALIGN_LEFT);

  display.drawString(0, 10, "Left aligned (0,10)");

 

  // The coordinates define the center of the text

  display.setTextAlignment(TEXT_ALIGN_CENTER);

  display.drawString(64, 22, "Center aligned (64,22)");

 

  // The coordinates define the right end of the text

  display.setTextAlignment(TEXT_ALIGN_RIGHT);

  display.drawString(128, 33, "Right aligned (128,33)");

}

 

void drawRectDemo() {

      // Draw a pixel at given position

    for (int i = 0; i < 10; i++) {

      display.setPixel(i, i);

      display.setPixel(10 - i, i);

    }

    display.drawRect(12, 12, 20, 20);

 

    // Fill the rectangle

    display.fillRect(14, 14, 17, 17);

 

    // Draw a line horizontally

    display.drawHorizontalLine(0, 40, 20);

 

    // Draw a line horizontally

    display.drawVerticalLine(40, 0, 20);

}

 

void drawCircleDemo() {

  for (int i=1; i < 8; i++) {

    display.setColor(WHITE);

    display.drawCircle(32, 32, i*3);

    if (i % 2 == 0) {

      display.setColor(BLACK);

    }

    display.fillCircle(96, 32, 32 - i* 3);

  }

}

void drawProgressBarDemo() {

  int progress = (counter / 5) % 100;

  // draw the progress bar

  display.drawProgressBar(0, 32, 120, 10, progress);

 

  // draw the percentage as String

  display.setTextAlignment(TEXT_ALIGN_CENTER);

  display.drawString(64, 15, String(progress) + "%");

}

 

void drawImageDemo() {

    // see http://blog.squix.org/2015/05/esp8266-nodemcu-how-to-create-xbm.html

    // on how to create xbm files

    display.drawXbm(34, 14, WiFi_Logo_width, WiFi_Logo_height, WiFi_Logo_bits);

}

 

Demo demos[] = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};

int demoLength = (sizeof(demos) / sizeof(Demo));

long timeSinceLastModeSwitch = 0;

 

void loop() {

  // clear the display

  display.clear();

  // draw the current demo method

  demos[demoMode]();

 

  display.setTextAlignment(TEXT_ALIGN_RIGHT);

  display.drawString(10, 128, String(millis()));

  // write the buffer to the display

  display.display();

 

  if (millis() - timeSinceLastModeSwitch > DEMO_DURATION) {

    demoMode = (demoMode + 1)  % demoLength;

    timeSinceLastModeSwitch = millis();

  }

  counter++;

  delay(10);

}

 

---------------------------------------------------------

 

관련 : 아두이노는 아니고 esp32 를 이용한 블루투스 스피커

https://github.com/kodera2t/ESP32_OLED_webradio

 

 

기존 esp8266 소스를 esp32 ttgo 로 변경시 pin map 변경 내용

https://gist.github.com/gabonator/402e09eb1b5afce1e7be228483138071

 

 

 

 

 

 

 

TR FET 안전하게 사용하는 방법에 대한 웹사이트 공유 합니다.

 

https://www.rohm.co.kr/electronics-basics/transistors/tr_what6

 

 

https://www.rohm.co.kr/electronics-basics/transistors/tr_what5

 

 

 

캡쳐한 PDF 파일 입니다.

 

 

MOSFET의 특성 _ 전자 기초 지식 _ 로옴 주식회사 - ROHM Semiconductor - korea - Rohm.com.pdf

 

 

안전하게 사용하기 위한 선정 방법 _ 전자 기초 지식 _ 로옴 주식회사 - ROHM Semiconductor - korea - Rohm.com.pdf

 

 

'공부 > 전자회로_부품' 카테고리의 다른 글

SSR 관련 참고 문서  (0) 2018.03.05
광전송으로 구현한 OPAMP  (0) 2015.04.03
Metrix LED 드라이버 IC  (0) 2015.04.03
AC 용 isolated ADC  (0) 2015.03.26
Magnetic Buzzer  (0) 2015.03.26

기존 아두이노 스케치에 esp32 관련 내용을 설치 한적이 있다.

 

이전 참조글 : http://bigwavek.tistory.com/entry/esp32-%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8%EC%97%90-%EC%84%A4%EC%B9%98-%ED%95%98%EA%B8%B0

 

 

이걸 Sloeber Eclipse Arduino 에 옴기는 작업를 진행 했다.

 

아두이노 스케치에 설치 되어 있는 esp32 디렉토리를 복사해서 Sloeber Eclipse Arduino 아래 디렉토리로 복사한다.

 

 

예 : C:\Users\xxx\Documents\Arduino\hardware\espressif\esp32

 

         ->  C:\sloeber\arduinoPlugin\packages\esp32

 

 

 

Sloeber 를 실행한다.

 

프로젝트의 오른쪽 마우스를 눌러 Properties 를 실행한다.

 

 

환경값을 Esp32 에 맞추어 준다.

 

 

 

빌드후 다운로드 하면 정상적으로 작동하는 것을 확인 할수 있다.

 

 

 

 

 

 

 

'공부 > arduino' 카테고리의 다른 글

ttgo Esp32 보드 sloeber 에서 돌리기  (0) 2018.04.09
esp32 ttgo 보드  (0) 2018.04.06
arduino Eclipse 에서 사용하기  (0) 2018.04.05
esp32 아두이노에 설치 하기  (0) 2018.04.03
esp32 arduino 보드 설명  (0) 2018.04.02

Sloeber, Eclipse Arduino IDE 를 사용해서 Arduino 를 사용할수 있다.

 

원래 사용하던 아두이노 스케치를 깔필요 없이 Sloeber 자체에 설치 된다.

 

(Atmel Studio 7.0을 깔아보니 아두이노 스케치 환경을 가져 오는것 같다.)

 

 

Sloeber 사이트 : http://eclipse.baeyens.it/

 

해당 사이트 에서 다운로드 받으면 된다.

 

최신버전에 OS 에 맞추어 받으면 되고 windows 64bit 버전을 이용했다.

 

 

다운로드 받으면  " V4.2_win64.2017-11-20_02-16-52.tar.gz" 와 같은 파일이 저장 된다.

 

해당 파일을 압축을 풀어서 원하는 디렉토리에서 사용하면 되는데 디렉토리를 길게 하니

실행시 에러가 발생되었다.

 

그래서 C:\sloeber 디렉토리로 사용하였다.

 

 

 

그외에 초기 실행시 에러가 발생했는데 메세지나 나온 옵션을 제거하니 에러가 사라졌다.

 

설치가 완료된 이후 아두이노 사용 옵션을 설정해야 한다.

 

 

 

Arduino > Preferences 옵션에서 하용하고자하는 보드를 선택 해야 한다.

사용을 esp8266 으로 선택 했다.

 

 

 

설치 완료후 신규 프로젝트를 만들어 TEST 를 진행했다.

 

신규 생성된 프로젝트에서 오른쪽 마우스를 누르면 Properties 를 선택 하면 옵션을 선택 할수 있다.

 

 

 

 

연결된 모드 파일을 볼수 있었서 사용하기 편할것으로 보인다. 이것은 자동으로 설정 되었다.

 

 

친숙한 버튼을 이용해서 다운로드 실행해보니 잘된다.

문제는 upload 속도를 115200 으로 했는데 계속 19200 으로만 진행되었다.

그래서 다운로드 속도가 느려서 답답했다.

 

기타 설정 및 하드웨어 디버깅 관련해서 설정하는 방법은 아래 링크된 유투브 동영상을 참고 하면 좋을것 같다.

 

 

 

 

링크 주소 : https://www.youtube.com/watch?v=WFzVzgEA8Fo

 

 

그외 참고 사이트

 

http://blog.naver.com/PostView.nhn?blogId=opusk&logNo=220986318100

 

http://blog.naver.com/PostView.nhn?blogId=opusk&logNo=220990061816

 

 

ESP32 Sloeber 사용 동영상

 

 

 

링크주소 : https://www.youtube.com/watch?v=xJyNLcoG7Q0

'공부 > arduino' 카테고리의 다른 글

esp32 ttgo 보드  (0) 2018.04.06
Esp32 환경 Sloeber Eclipse Arduino 옴기기  (0) 2018.04.05
esp32 아두이노에 설치 하기  (0) 2018.04.03
esp32 arduino 보드 설명  (0) 2018.04.02
여러 참고 사이트  (0) 2018.03.27

정식 사이트인 https://github.com/espressif/arduino-esp32/  에 접속해서

 

esp32 설치 메뉴얼을 보면 git용 프로그램을 설치 해서 사용하는 방법이 있는데 방법대로 하니

 

설치가 안된다.

 

그래서  http://lucid0sky.blogspot.kr/2018/02/esp32-arduino-ide.html  사이트에 있는 방법으로 설치 했다.

 

해당 사이트의 내용그대로 이미지로 올려 본다.

 

 

 

 

 

통신 속도는 115200으로 변경 하라고 합니다.

 

 

이후 사용하고자 보드로 선택을 하니

 

잘못된 라이브러리가 Arduino\hardware\espressif\esp32\libraries\BLE …. 라는 메세지가 나옵 니다.

 

화면을 보면 아래와 같습니다.

 

 

 

 

해결방법은 일본 사이트에서 찾았습니다.

 

일본 사이트 : https://www.mgo-tec.com/arduino-core-esp32-install

 

주요 내용은 해당 디렉토리에 라이브러리가 없으며, BLE 관련 된 부분은 다른 사람이 개발 하니 그쪽에서 받아서 사용해야 하다는 것입니다.

 

ESP32 BLE 라이브러리 사이트 :

https://github.com/nkolban/ESP32_BLE_Arduino/tree/6bad7b42a96f0aa493323ef4821a8efb0e8815f2

해당 사이트에서 zip 파일을 다운받습니다.

 

ZIP 파일을 열어서 설치 되어 있는 Arduino\hardware\espressif\esp32\libraries\BLE 디렉토치에 풀어 넣으면 됩니다.

 

 

주)

https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/ArduinoBLE.md 

 

사이트의 내용을 보면 라이브러리에서 esp32 ble arduino 로 검색해서 설치가 가능하다고 되어 있는데

해보지는 못했습니다. 


주)  정식 URL 이 있다.( 20190509)

https://dl.espressif.com/dl/package_esp32_index.json, 
http://arduino.esp8266.com/stable/package_esp8266com_index.json


 

 

 

 

 

'공부 > arduino' 카테고리의 다른 글

Esp32 환경 Sloeber Eclipse Arduino 옴기기  (0) 2018.04.05
arduino Eclipse 에서 사용하기  (0) 2018.04.05
esp32 arduino 보드 설명  (0) 2018.04.02
여러 참고 사이트  (0) 2018.03.27
아두이노 멀티 소스 프로젝트  (0) 2018.03.27

esp32 관련 보드 2가지를 찾았다. PIN MAP 이 약간 다르다.

사용되는 USB 시리얼이 다르다.

아두이노에 설치 자체는 FireBeetle ESP32 IOT Microcontroller  이 편하다.

 

1. Espressif ESP32 dev boards

 

Espressif 사에서 나온 원본 이다.

설치는 수동으로 이루어진다.

 

참고 사이트 : https://www.esp32.com/viewtopic.php?t=344

 

아두이노 코아 소스 : https://github.com/espressif/arduino-esp32

 

설치 방법 1: http://lucid0sky.blogspot.kr/2018/02/esp32-arduino-ide.html

 

설치 방법 2: http://alexyun.tistory.com/288

 

회로도 :

ESP32-Core-Board-V2_sch.pdf

 

핀맵 :

 

2. FireBeetle ESP32 IOT Microcontroller 

 

참고 사이트 : https://www.dfrobot.com/product-1590.html

 

설치 방법 : https://www.dfrobot.com/wiki/index.php/FireBeetle_ESP32_IOT_Microcontroller_(Supports_Wi-Fi_%26_Bluetooth)_SKU:_DFR0478

 

회로도 :

[DFR0478]FireBeetle Board-ESP32(V1.0).pdf

 

핀맵:

 

 

 

 

 

 

 

+ Recent posts