3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

秋葉原ロボット部Advent Calendar 2024

Day 8

Milk-v Duoで環境モニタ

Last updated at Posted at 2024-12-07

はじめに

 Milk-v DuoはCPUとしてRisc-vを搭載したLinuxボードで、秋葉原ロボット部で積極的に活用しているボードです。秋葉原ロボット部の勉強会の成果は、各種展示会での成果物の展示や書籍の販売として公表されています。
 2024年に開催されたNT京都とつくろがや!の秋葉原ロボットのブースで行った展示内容を紹介します。

Milk-v duo上のpython

Milk-v duo上のpythonでは、pingpongライブラリを使うことで、GPIOに接続されたセンサを制御可能です。
 シリアルコンソールを使って、Milk-v duo上でpythonプログラムを作成してもいいのですが、Mind+でpythonプログラムを作成します。

image.png

 「pinpong」ボタンをクリックすると、使用できるデバイスが表示されます。
image.png

dfrobot用の基板に接続されたデバイスが表示されますが、ピン配置がわかれば、汎用のデバイスでも利用可能です。

image.png

 「DHT11/22 Temperature a…」と「OLED Display」を選んで、「戻る」ボタンをクリックします。
 「DHT」と「OLED」のブロックが利用可能となります。
image.png

プログラムが完成したら、Milk-v duoにpythonプログラムを転送して、動作確認を行います。
 動作中の写真を以下に示します。
image.png

今回のプログラム例

 今回使用したプログラムを以下に示します。
 DHT22の取得した数値を、OLED一定時間ごとに表示します。

# -*- coding: utf-8 -*-

import time
from pinpong.board import Board, Pin
from pinpong.libs.dfrobot_ssd1306 import SSD1306_I2C
from pinpong.libs.dfrobot_dht20 import DHT20

Board("MILKV-DUO").begin()

dht20 = DHT20()
oled=SSD1306_I2C(width=128, height=64, bus_num=0)
led = Pin(Pin.A15, Pin.OUT)

# oled.set_font(font="default", width = 15, height = 15)

for index in range(3):
  oled.show()
  led.value(1)
  print("Temperature: {} 'C".format(dht20.temp_c()))
  print("Humidity: {} %".format(dht20.humidity()))
  oled.text("Temperature: ",0,0,8)
  oled.text("{} 'C ".format(dht20.temp_c()),64,16,8)
  oled.text("Humidity: ",0,32,8)
  oled.text("{} %".format(dht20.humidity()),64,48,8)
  led.value(0)
  time.sleep(10)
  oled.show()

おわりに

 Milk-v duoのGPIOに接続したデバイスの制御をpythonで行いました。さらに、pythonのプログラミングは、Mind+のブロックプログラミングで作成しました。他のLinuxボードのGPIOでも、pinpongライブラリを介してpythonプログラムを用いた制御ができるかと思います。

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?