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

More than 1 year has passed since last update.

栽培ロボットをブロックプログラミングでコントロール

Last updated at Posted at 2023-09-18

基本構成

左が水タンク、右に4つのプランターがあります。

栽培ロボットには給水ポンプ、排水ポンプ、バルブ1〜4があります。
image.png

バルブ1をON→給水ポンプON でプランター1に給水。

そのままだとあふれるので、センサ連動か、タイマーで給水ポンプを止める必要があります。

給排水の1単位。センサとパイプを手動で位置を決めます。
image.png

バルブ1をON→排水ポンプON でプランター1から排水、水タンクに戻します。

ワークショップ

プログラムワークショップをやってみました。

image.png

プログラム例です。
まず、ブザーを鳴らしてみましょう。

image.png

次に、ブザーを鳴らしたり止めたりするプログラムです。

image.png

ブザーをバルブとポンプに変えて、給排水してみましょう。
image.png

センサ連動の例です。
image.png

設定する

必要なもの

  • Arduino 開発環境
  • ESP32開発環境
  • ドライバインストール
  • 栽培ロボット版 ArduBlock

Arduino 開発環境

動作確認は Ver.1系で行っています。

2023/09/18 現在の最新のVer.1系は、Arduino IDE 1.8.19 となります。

ESP32開発環境

ドライバインストール

使用している ESP32 DevKit の USB シリアルドライバをインストールします。

USBシリアルチップは CP210x または CH341 となります。

OS標準ドライバーで動作しない場合は、以下からドライバーをダウンロードし、インストールします。

CP210X
https://jp.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads

CH341
https://www.wch-ic.com/downloads/CH341SER_ZIP.html

Ubuntu22.04 の場合は、ドライバはOSに入ってますが設定が必要となります。以下を参照して設定してください。
「USBシリアルモジュールを Ubuntu22.04 で使用する」
https://qiita.com/nanbuwks/items/dd251aab3a8047a47a50

栽培ロボット版 ArduBlock

ardublock-all.jar をこちらからダウンロードします。

Arduinoのスケッチなどを保存するディレクトリ( Ubuntuでは ~/Arduino/ ) に、
./tools/ArduBlockTool/tool
というフォルダを作ります。
そのフォルダに

ardublock-all.jar をコピーします。

Arduino IDE から、「ツール」-「ArduBlock」で起動します。

CUI で制御するには?

IO割当が以下のようになります。

バルブ1 GPIO27 High で 開(デフォルト閉)
バルブ2 GPIO14 High で 開(デフォルト開!!)
バルブ3 GPIO13 High で 開(デフォルト閉)
バルブ4 GPIO21 High で 開(デフォルト閉)
ポンプ1(給水ポンプ) GPIO25 High で給水(デフォルト停止)
ポンプ2(排水ポンプ) GPIO26 High で排水(デフォルト停止)
リレー1 GPIO12 High で J20-Pin1Pin2間に12V(デフォルトインアクティブ)
リレー2 GPIO13 High で J20-Pin3Pin4間に12V(デフォルトインアクティブ)
水位センサ1 GPIO34 水検出でLow(デフォルトHigh)
水位センサ2 GPIO35 水検出でLow(デフォルトHigh)
水位センサ3 GPIO32 水検出でLow(デフォルトHigh)
水位センサ4 GPIO15 水検出でLow(デフォルトHigh)
ブザー GPIO2 High で鳴動(デフォルトLow)
GROVE1 GPIO22 NeoPixel用
GROVE2 VN センサ入力用
スイッチ入力・サーミスタ入力 VP (サーミスタ未接続時)LowでSWプッシュ(デフォルトHigh)
スイッチ入力・サーミスタ入力 VP (サーミスタ接続時)サーミスタアナログ分圧入力(R1とぶんあt)
1
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
1
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?