LoginSignup
0
0

Milk-v duoにDHT22センサをつないで気温と湿度を測定

Last updated at Posted at 2023-12-04

はじめに

秋葉原ロボット部の有志で、milk-v duoを購入し、個々人が様々な実験を行って、勉強会内で報告しています。

Milk-v duoは9ドルのrisc-vコンピュータとして知られています。
ハードウェアは以下の通りです。

  1. CPUはCVITEKのCV1800B (C906@1Ghz + C906@700MHz)
  2. 最高1 GHzで動作するデュアルRV64コア
  3. 64 MBのラム
  4. オプションのアドオンボードを接続すると10/100Mbpsの速度でイーサーネットに接続可能

Milk-v duoのビルド環境では、WiringXがサポートされているので、様々なセンサ類をGPIOに接続可能です。

この記事では、DHT22をつないで、気温と湿度を測定します。

DHT22の接続

DHT22の3端子は、それぞれ、VCC、GND、SIGNALです。
VCCはDHT22を動作させるのに必要な電源を接続しますので、Milk-v duoの3V3端子に接続します。
GNDはMilk-v duoのGNDに接続します。
SIGNALはGPIOA15に接続します。

SIGNALの接続箇所は、「dht22.c」の「static int DHTPIN = 15;」で指定しています。

dht22.c
// Ref: https://github.com/technion/lol_dht22/blob/master/dht22.c
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <unistd.h>
#include <wiringx.h>
#define MAXTIMINGS 85
static int DHTPIN = 15;
static int dht22_dat[5] = {0, 0, 0, 0, 0};
static uint8_t sizecvt(const int read)

気温と湿度の測定プログラム

まず、Milk-v duoアドベントカレンダー
https://qiita.com/advent-calendar/2023
の3日の
「Milk-v duoのクロスコンパイル環境をWSL上に作成して、Gitで公開されているプログラムを動かしてみる」
に従って開発環境を構築してください。
使用するプログラムは
https://github.com/milkv-duo/duo-examples
にあります。
「duo-examples」ディレクトリに移動したら、以下のコマンドで「dht22」ディレクトリで、プログラムをビルドします。

$ cd dht22
$ make it

「dht22」と「dht22.o」が生成していることを確認します。

$ ls
dht22 dht22.c dht22.o Makefile

「dtt22」をmilk-v duoに転送します。
milk-v duoのコマンドプロンプト上で先ほど転送された「dht22」を実行します。

# ./dht22
Humidity = 42.00% Temperature = 18.5 *C
Humidity = 42.00% Temperature = 18.5 *C
Humidity = 42.00% Temperature = 18.5 *C

現在の湿度と気温が表示されます。

他のセンサを接続したい場合、以下のページが参考になります。
https://milkv.io/docs/duo/application-development/wiringx

参考 https://milkv.io/docs/duo/application-development/sensor-demo

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