RustでLチカ!ラズベリーパイで試してみた

Rust

RustでLチカしてみました。ラズパイにSWとLEDを接続しています。

接続方法からプログラムまで紹介していきます。

プログラミング初心者の方でも、誰でも同様にテスト可能です。

 

スポンサーリンク

RustでLチカ!ラズベリーパイで試してみた

プログラミング言語のRustでLチカを試してみました。

ラズベリーパイのGPIOにスイッチとLEDを接続してテストしています。

 

Rustのプログラム、ラズベリーパイの回路図含めて紹介していきます。

下記動画でもテストの一連の流れを紹介しています。是非一緒にご覧ください。

RustでLチカ!ラズパイでテストしてみた

 

Rustのインストール

Rustのインストール方法からプログラム実行方法を別記事で紹介しています。

 

Rust初心者・未経験の方でもラズパイで簡単に始めることが可能です。

是非一緒にご覧ください。(リンクはこちら)

Rustにラズパイで入門!Hello Worldしてみた

Rustにラズパイで入門!Hello Worldしてみた
プログラミング言語のRustをラズベリーパイで始めてみました。 Rustのインストール方法からプログラム実行まで、一から手順を紹介します。 初心者の方でもRustで簡単にHello Worldできます。

 

Rustのプログラミング

Rustのインストール後にプロジェクトを作成します。

下記コマンドではフォルダ名を「led_test」としていますが、各自好きな名前でOKです。

作成後はプロジェクトのフォルダに移動します。

cargo new led_test
cd led_test/

 

RPPAL(ラズパイ用のライブラリ)

ラズパイ用のGPIOが使えるライブラリをRustに設定します。

Rustの設定ファイル(Cargo.toml)にRPPALというライブラリを使う旨を記載します。

筆者はVimで編集しました。各自好きなエディタで対応すれば大丈夫です。

vim Cargo.toml

 

Cargo.toml内の[dependencies]の下に「rppal = "0.12.0"」を追記します。

[dependencies]
rppal = "0.12.0"

 

RPPAL(ラズパイ用のライブラリ)はGPIO,I2C,SPI,UARTなど多くのIFに対応しています。

詳細は下記の公式ページを参考ください。

 https://crates.io/crates/rppal#gpio

 

Rustのプログラム(main.rs)

Rustのプログラム(main.rs)はプロジェクト内のsrcフォルダに入っています。

各自のエディタでプログラムを編集します。

cd src/
vim main.rs

 

今回作成したRustのプログラムの概要です。

一つのLEDは常時点滅して、もう片方のLEDはスイッチを押下中は点滅します。

点滅周期は2秒周期(1秒ON→1秒OFF)としています

 

実際のプログラムは下記です。

ライブラリRPPALの公式ページ内のサンプルに若干追記・修正したレベルです。

 

ラズベリーパイの回路

ラズベリーパイの回路としてはスイッチ(SW)一つとLEDを2つ接続しています。

ジャンパー線とブレットボードで接続していますので。誰でも同様にテストできます。

汎用的な電子工作セットの部品で対応可能です。

 

LEDの制限抵抗は330Ωで、SWのプルダウン抵抗は10kΩを接続しています。

GPIOは17,27,22を使用しています。回路図としては下記形です。

 

RustのLチカのテスト

プロジェクト直下に戻り、プログラムをビルド+実行します。

cd ..
cargo run

 

冒頭でも紹介しましたが、動画で見るとテストの一連の流れが分かります。

是非一緒にご覧ください。

RustでLチカ!ラズパイでテストしてみた

 

プログラムが実行されると緑LEDが点滅します。

SWが押されていないので「SW_OFF」の表示がされています。

 

SWを押下すると、赤LEDが点滅して「SW_ON」の表示がされます。

無事ラズパイでRustからLチカをすることが出来ました。

 

まとめ

今回はラズパイ環境下でのRustのLチカに関して紹介させていただきました。

記事をまとめますと下記になります。

RPPAL(ラズパイのライブラリ)を使うことで、RustでのLチカが簡単です。
スイッチを条件にして、Lチカさせることが出来ました。

 

ラズベリーパイ(raspberry pi)で簡単にRustのLチカを始めることが可能です。

皆様もぜひ試してみてください。

コメント