【届いた→Lチカ】Re:ゼロから始めるラズパイ ピコ(Raspberry pi pico)

こんにちは！
唐突ですがマイコンに興味を持ちラズパイ ピコを購入しました！

今年からワンちゃんを飼い始めたのですが，どうしても家を空けなければいけない時も出てくると思い，その時の為に自動餌やり器でも作れないかなーと思い，元から興味はあったけど作る物がなくて手を出せずにいたマイコンに手を出してしまいました．．．

いろいろやって**チョー楽しい**ことはわかりましたので少しずつ記事にしていきたいと思います．

(ちなみにタイトルですが,リゼロは知りません．すみません！)

## 届いた
届きました！

Raspberry pi pico 以外はすべて売り切れで，ネッ友に確認したところ私のやりたいことならピコでも十分だと思うと教えてくれたので初心者だしと思いとりあえずピコを買いました．
![6A5D0AC1-BE7F-4841-BBBA-16586F1D8009.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512282/84d1ab59-ac54-440a-2341-a17215bd75f6.jpeg)
現状半田ごてはないのでネッ友のアドバイスを元にピンヘッダ実装済みの物を購入．990円でした．

![97FF9F27-0B12-421E-AFDD-A4F1AA4C3585.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512282/e2939866-2491-6a50-2102-34b7d00fdce4.jpeg)

定規が見当たらなかったので（笑）とりあえずリップとAir Podsでサイズ比較．．．
めっちゃ小さい．．．

## どうやって起動するん？

書籍を探したのですがいい感じのものが無かったのでグーグルと友人を頼りに作っていくことにしました(笑)．ありがとう

届いたのはこのラズパイ本体のみで説明書も何もないんですね．．．公式サイトにあったのでこれを見るということなんでしょう．まあ実際そっちの方が見やすくていいね

起動の方法も公式サイトに書いてありました．
[Raspberry Pi Documentation](https://www.raspberrypi.com/documentation/microcontrollers/micropython.html)
これの下の方に
![8aaee8c6144c831f8aa97fc087dae3ea.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512282/99a37722-4909-7fa0-d9e7-b3cf9306690e.png)
こんな説明があるのでこの通りやってみましょう！

[Get Started with MicroPython on Raspberry Pi Pico](https://hackspace.raspberrypi.com/books/micropython-pico)
公式のマイクロパイソンのチュートリアルもあるんですね．

英語のPDFなのでどうにかして読みますw
(PDFダウンロードして丸ごと[deepl.com](https://www.deepl.com/ja/translator)で翻訳がいいと思います．必要に応じてAcrobat DCで5MBずつに分割してください)

## 接続
さて起動します．
上に載せたサイトの通りにやるだけですが，

1.[MicroPython UF2](https://micropython.org/download/rp2-pico/rp2-pico-latest.uf2)をダウンロードしてきます．バージョンが古いかもしれないので上の公式サイトからとってくるのがいいかもです．
2,BOOTSELと書かれている白いボタンを押しながらUSB(microUSB TypeB)を挿してパソコンとつなげます．
3,フォルダが開くはずなのでそこにダウンロードしてきたファイルを入れます．すると自動でフォルダが閉じます．
4,接続は完了

![C18D972B-7568-4BD8-8BEA-344E1E359F8B.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512282/2c0e66fe-e533-c59d-86c9-d99d884dbd26.jpeg)
一応白いボタンの位置(需要のない手でごめんね)

ラズパイに起動とかいう概念はないんですかね？
ずっと起動って書いていたけどなんか違う気がしてきた．

## Thonnyインストール
まだパソコンにつなげただけなのでここから実際にラズパイを使っていきます．

[Thonny.org](https://thonny.org/)ここからThonnyをダウンロードします．
![60ab76498faddb7e151045c588683714.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512282/e1ff9474-2c0d-eb2e-e3a5-d115debc837b.png)
この右上ですね．自分のOS用のをダウンロードしてインストールします．
特に迷うような選択肢はなく，すべてnextとinstallで問題ありません．

起動するとこんな感じです(たしか)
![b16e27e29b7af48f63a5cd4a8f035df8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512282/dfb4f90e-4b1a-9407-3367-ee4267cbd988.png)

## 初期設定
初期設定を簡単にしていきましょう．

[実行]タブの[select interpreter]をクリックすると以下のような画面が出てくると思います．
![6574c4b9607a387b17bf09a11edc27f4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512282/94f17b0f-db70-4c89-ef43-a9c8dbed6a25.png)

画像ではすでに設定している状態なのですが，デバイスをMicroPython(Raspberry Pi Pico)を選択してください．
ポートは自動で構いません．

これで初期設定は完了です．

## 実行
とりあえず定番のLチカとやらをやってみましょうか！
コードやら説明は後にして先に結果を...
![D813B09D-37F7-4DF2-84B0-B5EA72583E95.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512282/5948aabd-6def-2347-15b5-b76fce934666.jpeg)
「ホヮー...！(すげぇー！！！)」

シンプルに声出ましたw
単純なことなんですけど今までパソコン中で完結するプログラムしか組んでなかったので，光ったり動いたりは感動しますね！

では落ち着いて．．．説明．
```python:Tutorial01.py
import machine

i = 0
led = machine.Pin(25, machine.Pin.OUT)

while True:
    if i%2 == 0:
        led.value(1)
    else:
        led.value(0)
    
    if i > 10:
        break
    
    machine.lightsleep(1000)
    i+=1
```

こんな感じのコードを書きました．
どこかのサイトを参考に作ったのですが忘れてしまいました．
ライブラリのドキュメントは以下です．
[MicroPython ライブラリ](https://micropython-docs-ja.readthedocs.io/ja/latest/library/index.html)
[クラス Pin -- I/O ピンの制御](https://micropython-docs-ja.readthedocs.io/ja/latest/library/machine.Pin.html)

コードとしてはmachineライブラリをインポートして
machineのPinを作成，引数の25はGP25のLEDを示しています．([Raspberry Pi Pico Pinout](https://datasheets.raspberrypi.com/pico/Pico-R3-A4-Pinout.pdf))
``machine.Pin.OUT``で出力Pinとして設定しています．

``led.value(1)``で電圧をHighにしてLEDを点灯，``led.value(0)``で電圧をLowにして消灯しています．
一秒おきに点滅し，10秒後に終了します．

## おわりに
超絶シンプルでもはや何もしてないようなレベルなんですがやっぱり感動しますね．
ここからどこまで私が進化できるのかわからないですが，とりあえず色々試してみたいです．

今回はMicroPythonでやったけどC++でもできるのかな？
どこかでC++を触ってみたかったので機会があればそっちでもやってみようかな？
初心者なので情報量が少なそうならPythonで慣れてからC++にいきたいですね．

今回も最後まで見ていただきありがとうございました！
また記事書きますね！
それでは！