SlideShare une entreprise Scribd logo
1  sur  42
作:ナカちゃん
ラズピコでLチカ
マイコンに光りあれ
ラズピコ? (1/2)
• ラズベリーパイピコ(Raspberry Pi Pico)のこと
• ラズベリーパイの一種
• 安い・小さい
• 親指サイズ。1000円以下で買える
Raspberry Pi Pico
(https://www.switch-
science.com/catalog/6900/ より引用)
ラズピコ? (2/2)
• 他のラズパイ(Raspberry Pi やRaspberry Pi Zero)とは異なり、ラズピコはマイ
クロコントローラ
• 他の機器やセンサーをつないで制御する目的が大半の用途になる
• PICに近い
• OSは積めないが、タイミングがシビアな割り込み制御などが
作り込みやすい
• 省電力
PICマイコンの例
(https://akizukidenshi.com/img
/goods/C/I-04430.jpg より引用
)
なにができるん? (1/4)
• いろいろできるよ!(思考停止)
・・・だとイメージわかないので、使い方を簡単に説明します。
なにができるん? (2/4)
• ラズピコにはGPIO(汎用入出力)端子というものがあり、この端子に各種機器
・電子部品を繋ぐことで外界と情報のやり取りが可能になります。
黄色の部分すべてGPIO端子
ココも
なにができるん? (3/4)
• GPIOには番号が振られており、プログラムからはこの番号を指定してGPIO
端子の入出力制御ができます。
ラズピコのピンアウト
(ピン配置)
- 緑色がGPIO。
それぞれ番号割り振られている。
- 黒色はグラウンド(マイナス極)
豆球を電池の+ーに繋ぐように、回路を作るときはグラウンドに繋ぐ。
そうでないと電流が流れない。
(その他はまたそのうち・・・)
なにができるん? (4/4)
• サンプルとかないの?
• ならばラズピコを使ってLチカしてみましょう!
Lチカって?
• LEDを点滅・点灯(チカチカ)させること
• 電子工作業界のHelloWorld
• Lチキじゃないよ
まずは準備をしましょう
Lチカ 準備編
必要なものを揃える
• ラズピコ本体
• スイッチサイエンスやアマゾンなどで、ピンヘッダ実装済みを購入しま
しょう。ピンヘッダなしだとちょっと使いにくいです。
ピンヘッダ実装済みラズピコ
(https://www.switch-
science.com/catalog/7412/より引用)
通電用の足(ピンヘッダ)がはんだ付けされている
Lチカ 準備編
必要なものを揃える
• 電子部品(LED、抵抗器、スイッチ)
• LEDは5mm砲弾型
• 抵抗器は1KΩと10KΩ
• スイッチはお好みのものをお使いください。
今回は「タクトスイッチ」を使います。
Lチカ 準備編
必要なものを揃える
• ブレッドボード、ジャンパワイヤ
• はんだ付け不要で回路を作ることができるようになります。
ジャンパワイヤ
ブレッドボード
Lチカ 準備編
IDEのインストール
• 公式がオススメしているらしい「thonny」を使います。
• https://thonny.org/
• インストール方法については割愛(インストーラをDLして実行するだけ)
Lチカ 準備編
IDEの設定
• thonnyを起動して、設定変更をします。
• [実行] > [Select interpreter…]を開き、「Thonnyはコードの実行にどのイン
タプリタ(以下略)」はMicroPython(Raspberry Pi Pico)を選択します。
Lチカ 準備編
IDEの設定
• その他、必要なペインを[表示]から選んでおきましょう。
Lチカ 準備編
ラズピコにファームウェアをインストール
• ラズピコのBOOTSELボタンを押したまま、パソコンと接続します。
(つないだらボタンを離す)
Lチカ 準備編
ラズピコにファームウェアをインストール
• 接続できるとPC上でドライブとして認識されます。
Lチカ 準備編
ラズピコにファームウェアをインストール
• Thonnyを起動すると、ファームウェアをインストールするかどうかを聞かれ
るので、「インストール」を選択します。
準備完了
ココからは実行編
Lチカ 実行編
回路の結線
• ブレッドボード上に次のような回路を作ります。
GND
GP0
抵抗(1KΩ)
LED
極性に注意!
足の長いほうがGP0
側
Lチカ 実行編
プログラムの実行
• Thonnyでプログラムを新規作成します。
Lチカ 実行編
プログラムの実行
• コードを入力します。(ひとまず以下の通りに)
from machine import Pin
import utime
#GP0端子を出力用として使うための宣言
led = Pin(0, Pin.OUT)
#出力は1(HI)か0(LOW)、初期状態では0とする
led.value(0)
while True:
#1秒スリープ
utime.sleep(1)
#0->1,1->0に切り替える
led.toggle()
Lチカ 実行編
プログラムの実行
• 保存します。
Lチカ 実行編
プログラムの実行
• 保存先を聞かれるので、今回はPCの適当な場所に保存します。
(ラズピコに保存しても実行できます)
Lチカ 実行編
プログラムの実行
• では実行しましょう。
Lチカ 解説編
何をしたのか
• GP0を出力ピンとして宣言
• その出力値(0,1)をコードでセットしている
Lチカ 解説編
何をしたのか
• このようにするとGPIO端子に電圧(3.3v)をかける、かけないを制御できる。
ラズピコ
コード
led = Pin(0, Pin.OUT)
led.value(0)
GND
GP0
0v
ラズピコ
コード
led = Pin(0, Pin.OUT)
led.value(1)
GND
GP0
3.3v
Lチカ 解説編
何をしたのか
• よって電圧がかかっているときはLEDが光る。
ラズピコ
コード
led = Pin(0, Pin.OUT)
led.value(0)
led.value(1)
GND
GP0 1KΩ
※LEDが光る
※LEDが光らない
なるほど・・・
ラズピコ完全に理解した!
・・・あれ、でもそれっておかしくねぇ?
“入”出力できるって言ったよね?
OK、入力もやりましょう(迫真)
LチカNeo 実行編
回路の結線
• ブレッドボード上に次のような回路を作ります。
GND
GP0
抵抗(1KΩ)
LED
GP1
スイッチ
(タクトスイッチ)
抵抗(10KΩ)
3V3
) (
) (
LチカNeo 実行編
プログラムの実行
• 以下のコードを入力、実行します。
from machine import Pin
import utime
led = Pin(0, Pin.OUT)
led.value(0)
#GP1端子を入力用として使うための宣言
sw = Pin(1, Pin.IN)
while True:
#GP1端子の値を取得
value = sw.value()
#LEDの出力
led.value(not(value))
LチカNeo 解説編
何をしたのか
• GP1を 入力ピン、GP0を出力ピンとして宣言
• 入力ピンの値(0,1)をコードで取得し、その否定値を出力ピンの値としてセッ
ト
LチカNeo 解説編
何をしたのか
• 入力ピン(GP1)は、端子にかかっている電圧から値(0,1)を読み取ることができ
る。
ラズピコ
コード
sw = Pin(1, Pin.IN)
value = sw.value()
GND
GP1
3v3
ラズピコ
GND
GP1
3v3
常に3.3Vの電圧がかかる
端子
スイッチOFF
※valueは0
コード
sw = Pin(1, Pin.IN)
value = sw.value()
スイッチON
※valueは1
0v 3.3v
LチカNeo 解説編
何をしたのか
• よってスイッチを押すとLEDが消える
ラズピコ
コード
led = Pin(0, Pin.OUT)
sw = Pin(1, Pin.IN)
value = sw.value()
led.value(not(value))
GND
GP0 1KΩ
3V3
GP1 10KΩ
スイッチON
消える
IN 3.3v
OUT 0v
※valueは1
※0を出力
LチカNeo 解説編
何をしたのか
• また、スイッチを離すとLEDが光る
ラズピコ
コード
led = Pin(0, Pin.OUT)
sw = Pin(1, Pin.IN)
value = sw.value()
led.value(not(value))
GND
GP0 1KΩ
3V3
GP1 10KΩ
スイッチOFF
光る
IN 0v
OUT 3.3v
※valueは0
※1を出力
以上です。
ありがとうございました。
FAQ
• Q:この配線は必要?
ラズピコ
コード
・
・
・
GND
GP0
3V3
GP1 10KΩ
これなくても動くんじゃね?
1KΩ
FAQ
• A:必要です。
• こう言った回路を”プルダウン”というのですが、値を入力値を0,1のどちら
かに安定させるために必要になります。
FAQ
• Q:なんで3.3V?
• A:ラズピコの仕様です。Aruduinoは5V(らしい)
• Q:入力端子にかける電圧って何Vかけても値=1になるの?
• A:いいえ。1.3V以上必要です。また、0.8V以下で0です
0.8を超えて1.3V未満だと不定(どちらかに定まらない)です。
• Q:出力端子ってどれくらいの最大電流を流せるの?
• A:1つのGPIOにつき16mA、複数GPIOの場合は合計50mAまで。
それ以上流すといずれ壊れます。

Contenu connexe

Tendances

SQLで身につける!初めてのレコメンド 〜 基礎から応用まで ~
SQLで身につける!初めてのレコメンド 〜 基礎から応用まで ~SQLで身につける!初めてのレコメンド 〜 基礎から応用まで ~
SQLで身につける!初めてのレコメンド 〜 基礎から応用まで ~
Naoto Tamiya
 
次世代DaoフレームワークDoma
次世代DaoフレームワークDoma次世代DaoフレームワークDoma
次世代DaoフレームワークDoma
Toshihiro Nakamura
 

Tendances (20)

Glibc malloc internal
Glibc malloc internalGlibc malloc internal
Glibc malloc internal
 
SQLで身につける!初めてのレコメンド 〜 基礎から応用まで ~
SQLで身につける!初めてのレコメンド 〜 基礎から応用まで ~SQLで身につける!初めてのレコメンド 〜 基礎から応用まで ~
SQLで身につける!初めてのレコメンド 〜 基礎から応用まで ~
 
頑張りすぎないScala
頑張りすぎないScala頑張りすぎないScala
頑張りすぎないScala
 
次世代DaoフレームワークDoma
次世代DaoフレームワークDoma次世代DaoフレームワークDoma
次世代DaoフレームワークDoma
 
IPv6マルチプレフィックスの話
IPv6マルチプレフィックスの話IPv6マルチプレフィックスの話
IPv6マルチプレフィックスの話
 
Allocators@C++11
Allocators@C++11Allocators@C++11
Allocators@C++11
 
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察
 
mTCP使ってみた
mTCP使ってみたmTCP使ってみた
mTCP使ってみた
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
HTML5 Canvas で学ぶアフィン変換
HTML5 Canvas で学ぶアフィン変換HTML5 Canvas で学ぶアフィン変換
HTML5 Canvas で学ぶアフィン変換
 
OPC UAをオープンソースやフリーのソフトで遊んでみた
OPC UAをオープンソースやフリーのソフトで遊んでみたOPC UAをオープンソースやフリーのソフトで遊んでみた
OPC UAをオープンソースやフリーのソフトで遊んでみた
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
 
Marp for VS Code で作る PowerPoint スライド
Marp for VS Code で作る PowerPoint スライドMarp for VS Code で作る PowerPoint スライド
Marp for VS Code で作る PowerPoint スライド
 
すごい配列楽しく学ぼう
すごい配列楽しく学ぼうすごい配列楽しく学ぼう
すごい配列楽しく学ぼう
 
Requirement diagram
Requirement diagramRequirement diagram
Requirement diagram
 
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...
 
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
 
UIDのことわかってますか? -フォーマット編-
UIDのことわかってますか? -フォーマット編-UIDのことわかってますか? -フォーマット編-
UIDのことわかってますか? -フォーマット編-
 
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
 

Similaire à ラズピコでLチカ

Similaire à ラズピコでLチカ (14)

SIerによるSIerのためのRaspberry Pi 入門
SIerによるSIerのためのRaspberry Pi 入門SIerによるSIerのためのRaspberry Pi 入門
SIerによるSIerのためのRaspberry Pi 入門
 
ぼちぼちぼっち開発 With raspberry pi アイデアソン 20141019
ぼちぼちぼっち開発 With raspberry pi アイデアソン 20141019ぼちぼちぼっち開発 With raspberry pi アイデアソン 20141019
ぼちぼちぼっち開発 With raspberry pi アイデアソン 20141019
 
Raspberry pi は raspbian だけのものじゃない
Raspberry pi は raspbian だけのものじゃないRaspberry pi は raspbian だけのものじゃない
Raspberry pi は raspbian だけのものじゃない
 
簡単に楽しく始めよう!Raspberry Pi入門
簡単に楽しく始めよう!Raspberry Pi入門簡単に楽しく始めよう!Raspberry Pi入門
簡単に楽しく始めよう!Raspberry Pi入門
 
rpi_handson_1
rpi_handson_1rpi_handson_1
rpi_handson_1
 
Raspberry Pi を楽しもう
Raspberry Pi を楽しもうRaspberry Pi を楽しもう
Raspberry Pi を楽しもう
 
Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会
 
Raspberry Pi and WebIOPi
Raspberry Pi and WebIOPiRaspberry Pi and WebIOPi
Raspberry Pi and WebIOPi
 
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ 「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ
 
Hannari python#27
Hannari python#27Hannari python#27
Hannari python#27
 
わんくま同盟札幌#2 Lチカ卒業後の進路
わんくま同盟札幌#2 Lチカ卒業後の進路わんくま同盟札幌#2 Lチカ卒業後の進路
わんくま同盟札幌#2 Lチカ卒業後の進路
 
JavaScriptで簡単IoT! RasPiをインターネットから制御するプラットフォームを作ったよ!
JavaScriptで簡単IoT! RasPiをインターネットから制御するプラットフォームを作ったよ!JavaScriptで簡単IoT! RasPiをインターネットから制御するプラットフォームを作ったよ!
JavaScriptで簡単IoT! RasPiをインターネットから制御するプラットフォームを作ったよ!
 
20200504 raspberrypi handson_junbi
20200504 raspberrypi handson_junbi20200504 raspberrypi handson_junbi
20200504 raspberrypi handson_junbi
 
Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)
 

Plus de iPride Co., Ltd.

AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
iPride Co., Ltd.
 

Plus de iPride Co., Ltd. (20)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
 
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
 
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
 
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
 
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
 
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
 
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものですAWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
 
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
AWS SAM入門  2024/01/26の勉強会で発表されたものです【アイ・プライド】AWS SAM入門  2024/01/26の勉強会で発表されたものです【アイ・プライド】
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
 
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
 
ChatGPTを用いてCDKを勉強
ChatGPTを用いてCDKを勉強ChatGPTを用いてCDKを勉強
ChatGPTを用いてCDKを勉強
 
OpenID Connectについて
OpenID ConnectについてOpenID Connectについて
OpenID Connectについて
 
画像生成AIの問題点
画像生成AIの問題点画像生成AIの問題点
画像生成AIの問題点
 
AI入門
AI入門AI入門
AI入門
 
MVCになぞらえて理解するReact
MVCになぞらえて理解するReactMVCになぞらえて理解するReact
MVCになぞらえて理解するReact
 
AIについて学んだこと ~ 生成AIとは? ~
AIについて学んだこと ~ 生成AIとは? ~AIについて学んだこと ~ 生成AIとは? ~
AIについて学んだこと ~ 生成AIとは? ~
 
OAuth2.0について
OAuth2.0についてOAuth2.0について
OAuth2.0について
 

ラズピコでLチカ