0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

安いWi-Fi機能付きのESP8266マイコンを試す(準備編)

Last updated at Posted at 2025-03-09

最初に

ESP8266マイコンとは

スペック表
項目 内容 備考
プロセッサ ESP8266 32ビットRISC CPU
MODEL ESP-8266 D1 mini HW-350 フラッシュメモリ4MB
メーカー Espressif
DIO 11
ADC 1 AD:0.0V-1.0V (10bit)
I2C 1
SPI 1
PWM - ソフトウェアPWM
Arduiono 互換 追加のボードマネージャーURL [ESP8266]
http://arduino.esp8266.com/stable/package_esp8266com_index.json
USB形状 microB
USBシリアル CH340G シリアルポート
ポート表
本体シルク(SLK)とポートとの対応 | | | 本体SLK | 本体SLK | | | |:-:|:-:|:-:|:-:|:-:|:-:| | | RST | RST | TX | GPIO1 | TX | | | ADC0 | A0 | RX | GPIO3 | RX | | WAKE | GPIO16 | D0 | D1 | GPIO5 | SCL | | SCLK | GPIO14 | D5 | D2 | GPIO4 | SDA | | MISO | GPIO12 | D6 | D3 | GPIO0 | FLASH | | MOSI | GPIO13 | D7 | D4 | GPIO2 | | | CS | GPIO15 | D8 | G | GND | | | 3.3V | 3V3 | 5V | |

使うまで

下準備
1.CH340ドライバのインストール
Nanjing Qinheng Microelectronics Co., Ltdからダウンロード
CH341ドライバ: https://www.wch-ic.com/downloads/CH341SER_ZIP.html
2.Arudion IDE準備[追加のボードマネージャー]
ファイル→基本設定→追加のボードのマネージャーURLに入力
http://arduino.esp8266.com/stable/package_esp8266com_index.json
を入力
3.Arudion IDE準備[ボード]
ツール→ボード→ボードマネージャー
ボードマネージャー:ESP8266 で検索
esp8266 by ESP8266 Community を選択
インストールボタンがある場合は、未インストールなのでインストール
ツール→ボード→[esp8266]→メニューから[Generic ESP8266 Module]
4.Arudion IDE準備[ポード]
ツール→ポード→USB COMポートを選択

Arudiono IDEで使う

ボード上LED点灯
スケッチ
const uint8_t TARGET_PIN = LED_BUILTIN;
const uint8_t LED_ON     = LOW;
const uint8_t LED_OFF    = HIGH;
const unsigned long DELAY_TERM = 1000;
const unsigned long DELAY_BLINK = 100;

// setup
void setup() {
  // ボード上のLEDを指定
  pinMode(TARGET_PIN, OUTPUT);
}

// ループ
void loop() {
  //  消灯
  digitalWrite(TARGET_PIN, LED_OFF);  // 消灯
  delay(DELAY_TERM);                  // 待ち
  //  点灯(ちょっと消灯)
  digitalWrite(TARGET_PIN, LED_ON);   // 点灯
  delay(DELAY_TERM);                  // 待ち
  digitalWrite(TARGET_PIN, LED_OFF);  // 消灯
  delay(DELAY_BLINK);                 // 待ち
  //  点灯(ちょっと消灯)
  digitalWrite(TARGET_PIN, LED_ON);   // 点灯
  delay(DELAY_TERM);                  // 待ち
  digitalWrite(TARGET_PIN, LED_OFF);  // 消灯
  delay(DELAY_BLINK);                 // 待ち
}

LOWが点灯、HIGHが消灯。ちょっと、間違えやすい…

アナログ値入力
スケッチ
const  uint8_t AD_PIN = A0;
const  unsigned long SERIAL_SPEED = 115200;
const  unsigned long DELAY_TERM = 1000;
const  float CALC_OFFSET  = 0;
const  float CALC_RATE    = 1;
const  float CALC_RESOL   = 1024;

// setup
void setup()
{
  Serial.begin(SERIAL_SPEED);

  pinMode(AD_PIN, INPUT);
}

// ループ
void loop()
{
  int input_val = 0;
  float volt = 0;

  input_val = analogRead(AD_PIN);

  volt = ((float)(input_val) / CALC_RESOL) * CALC_RATE + CALC_OFFSET;
  Serial.printf("ADC = %d , %fV \r\n", input_val, volt);

  delay(DELAY_TERM);
}
PWM制御
スケッチ
#include <Ticker.h>

const uint8_t TARGET_PIN  = LED_BUILTIN;
const unsigned long DELAY_TERM = 500;
const unsigned long SERIAL_SPEED = 115200;

const uint8_t PWM_ON      = HIGH;
const uint8_t PWM_OFF     = LOW;
const int     PWM_HZ      = 50;

Ticker    pwm_ticker;
uint32_t  pwm_cycle_ms;
float     duty_rate;

// setup
void setup() {
  Serial.begin(SERIAL_SPEED);

  // ボード上のLEDを指定
  pinMode(TARGET_PIN, OUTPUT);

  pwm_cycle_ms = 1000.0 / PWM_HZ;
  duty_rate = 0;

  //  msec
  pwm_ticker.attach_ms(pwm_cycle_ms, pwm_dest);
}

//  PWM
void pwm_dest() {
  unsigned int microSec;

  microSec = ((float)pwm_cycle_ms * duty_rate * 1000);

  digitalWrite(TARGET_PIN, PWM_ON);
  delayMicroseconds(microSec);
  digitalWrite(TARGET_PIN, PWM_OFF);
}

// ループ(ここでは出力せず、PWMの大きさを変えているだけ)
void loop() {
  
  duty_rate += 0.05;
  if (duty_rate > 1.0)
  {
    duty_rate = 0;
  }
  Serial.printf("cycle = %d duty_rate = %f \r\n", pwm_cycle_ms, duty_rate);

  delay(DELAY_TERM);
}

最後に

スケッチコードはCC BY-SA 4.0(著作者の情報とCCライセンス継承はお願いします。商用利用・改変・再配布は問題なし)です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?