Help us understand the problem. What is going on with this article?

groveの光センサをESP32で使用する

More than 1 year has passed since last update.

目的

懸賞であたったのでgrove のセンサをいろいろ持っていて使いたいが、
ESP32のシールドなんか持ってないので(そもそもあるのか?)、
直接ESP32に配線してgroveユニットを使用することにした

光センサの接続 (Light-Sensor-v1.2)

今回使用する光センサがアナログ出力なので、
アナログ入力ができるらしいADCと書かれている端子に接続する(今回はADC0)
ちなみに、ESP32のADコンバーターは12bitらしい
赤:電源      3.3 V
黒:グラウンド   GND
黄色:信号出力   ADC0
https://www.seeedstudio.com/Grove-Light-Sensor-v1.2-p-2727.html

ピン配置は以下の画像やサイトを参考にした
<参考:スイッチサイエンス>
https://trac.switch-science.com/wiki/esp32_tips

プログラム

grove の starter kit 用のコードを参考に温度取得をシリアルモニタで監視できるように書き換え
シリアルのセットアップを書き忘れて動かなくてびっくりした
https://github.com/Seeed-Studio/Sketchbook_Starter_Kit_for_Arduino/blob/master/Grove_Light_Sensor/Grove_Light_Sensor.ino

uint64_t chipid;  

void setup() {
    Serial.begin(115200);
}

const int pinLight = A0;

void loop()
{
    int sensorValue = analogRead(pinLight);    //the light sensor is attached to analog 0
    Serial.printf("Light Strength = %d\n",sensorValue);

    delay(2000);
}

シリアルモニタで明るさを読み取ることができるようになった
昼間の窓際で2350程度、スマホのライトを直接当てても2360程度にしか上がらなかった

電源電圧を 3.3V から 5V にすると、
暗いときは0、通常が2000程度、明るい(スマホのライト照射)時は4095となった
ADコンバーターが12ビットと考えると妥当な値である
電源電圧が3.3ボルトのときは、センサ側の出力が足りてなく、明るさ上限値が低かったと思われる

まとめ

アナログ入力の読み取りができた
I2CとかSPIの接続も比較的簡単にできそうで Arduino の便利さに感激

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away