Raspberry Piでマイコン超入門

Standard

@k13styleさんとRaspberry Pi超入門ハッカコンをしてきたので備忘録。
 

セットアップ

 
OSはRaspbianをインストールした。↓がよくまとまってる。
Raspberry Pi初心者のためのOS別セットアップガイド
 
RaspbianにはデフォルトでGUIのWifi設定ツールがインストールされているのでこれを使って無線LANにつないだ。使い方は↓にまとまっている。
Raspberry Piで遊ぼう [No.6:無線LANを接続しよう]
 
いろんなケーブルを抜き差しして非常にじゃまなので、極力すっきりしておいた方がいいと思う。Raspbianはインストール時にSSHサーバーの設定もできるので、Wifiの設定が終わったらHDMIケーブルとマウス・キーボードも抜いてOK。電源ケーブルのみの最スマート構成がおすすめ。
 
とりあえずいつも使ってる環境とRubyをインストールしておく。RVMで1.9.3はインストールできたけど、ビルドに1時間ぐらいかかって泣いた。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vim zsh git
sudo apt-get install build-essential
sudo apt-get install curl
sudo apt-get install zlib1g-dev
sudo apt-get install libreadline6-dev
sudo apt-get install libssl-dev 
sudo apt-get install libyaml-dev
curl -L https://get.rvm.io | bash -s stable
rvm install 1.9.3
rvm use 1.9.3 --default
sudo ln -s /home/pi/.rvm/rubies/default/bin/ruby /usr/local/bin/ruby
sudo ln -s /home/pi/.rvm/rubies/default/bin/irb /usr/local/bin/irb

 
ちなみにRuby 2.0.0はインストール中にコケてめんどくさくてやめたけどたぶん必要なライブラリを全部入れれば普通に入るはず。
 
 
 

LEDチカチカ

 
マイコンと言えばまずはこれが登竜門らしい。最初はGPIOすら使わずピンから電源を供給してみる。ここにGPIO用のチートシートがあったのでこれを見ながら作業した。LEDを3.3Vのピンとグラウンドに繋ぐと
 
20130506-001

20130506-001

 
ペカッ
“GOGO”って透かしを入れたくなる。
 
 
次にGPIOからLEDを制御してみる。
富豪マイコンらしくRubyを使ってみる。Pi Piperっていうかっこいい名前のライブラリがあるのでそれを使う。
https://github.com/jwhitehorn/pi_piper
サンプルがたくさんあっていい感じ。こんな感じになった。

上のチートシートの11番、GPIO 17番ピンを使う。モールス信号のサンプルとか試して人生初GPIO制御を堪能した。
https://github.com/jwhitehorn/pi_piper/wiki/Project-1:-Morse-Code
 
あとこういう

LEDテープを光らせたりしたんだけど、オームの法則も忘れてるような文系クソ野郎だったせいで、いい歳したオッサンがテープ光らせるのに2時間ぐらいかかった。トランジスタとか使うの難しすぎて笑ったw工業高校1年生ぐらいの回路が組めるようになったので
http://www.adafruit.com/products/420
これでクラブでモテるiPhoneカバーを作ろうと思う。

Facebook comments:

2 thoughts on “Raspberry Piでマイコン超入門

  1. Pi初心者

    こちらを参考にさせてもらっているPi初心者です。
    質問ですがテープLEDを光らすためにはどうしたらいいですか?
    テープLEDは基本的に12Vなのかな・・・

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>