ラベル プログラミング の投稿を表示しています。 すべての投稿を表示
ラベル プログラミング の投稿を表示しています。 すべての投稿を表示

2016年9月10日土曜日

ubuntu 16.04 / elementary OS で Ruby + Rails インストール

rbenv + postgresql を使います。


依存ライブラリのインストール
  • sudo apt-get update
  • sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev

rbenv のインストール
  • cd
  • git clone https://github.com/rbenv/rbenv.git ~/.rbenv
  • echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
  • echo 'eval "$(rbenv init -)"' >> ~/.bashrc
  • exec $SHELL
  • git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
  • echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
  • exec $SHELL

Ruby のインストール
  • rbenv install 2.3.1
  • rbenv global 2.3.1
  • ruby -v
  • gem install bundler

Node.js のインストール
  • curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
  • sudo apt-get install -y nodejs

Rails のインストール
  • gem install rails
  • rbenv rehash
  • rails -v

Postgresql のインストール
  • sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
  • wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
  • sudo apt-get update
  • sudo apt-get install postgresql-common
  • sudo apt-get install postgresql-9.5 libpq-dev

Postgresql の認証設定
開発環境用として、postgres アカウントはローカルPCからパスワード無しで接続できるように設定します。
  • /etc/postgresql/9.5/main/pg_hba.confを開き、localのレコードを trust に変更
  • sudo /etc/init.d/postgresql reload

アプリケーションの作成と動作確認
  • rails new testapp -d postgresql
  • rails db:create
  • rails server

2015年5月20日水曜日

Arduinoでテトリス

Arduinoで簡単なテトリスを作ってみました。(正確には、移植)


https://github.com/takjn/tetris

aitendoで売られている128x64pixelのFSTN液晶を使います。

操作キーは、左右と回転の3つのみです。
接続は、tetris.inoの8〜15行目を参考にしてください。
digital pin 2, 3, 4を操作キーに使います。
digital pinをGNDに落とすと、ブロックが動きます。

回路図はそのうち書きます。

2014年12月7日日曜日

Arduino Uno互換機

秋月電子でパーツセットを買ってきて組み立ててみました。


  • 「作って遊べるArduino互換機」パーツセット
  • UncomPatino基板
これは、もともと書籍の付録基板のパーツセットのようですが、書籍は買わなくても作れますし、Arduino互換機として使えます。


この互換機の良いところは、これ単体でBootloaderの書き込みができることだと思います。完全なクローンでは無いので厳密な互換性を求める方には不向きだと思いますが、Arduinoでちょっと遊びたい方には良いと思います。


組み立て自体は簡単です。
パーツの向きがあるのは、ATMEGA328P(のソケット)、FT232RL、LEDの3つだけ。部品の切り欠きを基板の切り欠きマークに合わせてはんだ付けすれば大丈夫です。 背の低い部品から背の高い部品の順にはんだ付けしていくと楽です。



FT232RLは普通のハンダと、ハンダ吸い取り線を使ってハンダづけしました。
初めに両面テープを使ってFT232RLを基板上に張り付けて位置決めをします。次に足をブリッジするようにはんだ付けした後に、はんだ吸い取り線を足の上に軽くおいてブリッジしたハンダを吸い取ります。足と足がショートしていないことを最後に確認しておしまい。


大変なのは、Bootloaderの書き込みです。以下のサイトなどを参考にさせていただきました。
基本的には、参考サイトにあるとおりで問題無いのですが、気を付けないといけない点が2点ありました。

1点目は、書き込むBootloaderのファイル。
optiboot_atmega328.hex を使う必要があります。書き込むファイルを間違えると、Arduino IDEでArduino Unoとして認識してくれず、作ったプログラムのマイコンボードの書き込み時に失敗します。

2点目は、Bootloaderの書き込み時の待ち時間。
書き込みには40分程度かかりました。avrdude-GUIが応答無しの状態となっても、基板のLEDがチカチカしている間は辛抱強く待つ必要があるようです。avrdude-GUIの問題だと思いますので、私はコマンドプロンプトから以下のとおり直接avrdude.exeを実行しました。
avrdude.exe -c diecimila -P COM3 -p m328p -P ft0  -u -e -U flash:w:optiboot_atmega328.hex

これだと、進捗が見えますので安心です。

補足)
単純ミスでした。Command line Optionに "B 115200" を追加したら一瞬で書き込むことができました。Arduinoをインストールしたフォルダの中にある/hardware/arduino/boards.txtの中に、書き込み時に指定すべきパラメーターが書かれています。

  • uno.upload.speed=115200
  • uno.bootloader.low_fuses=0xff
  • uno.bootloader.high_fuses=0xde
  • uno.bootloader.extended_fuses=0x05
  • uno.bootloader.file=optiboot_atmega328.hex
  • uno.bootloader.lock_bits=0x0F



2014年6月8日日曜日

算数のゲーム

さんすう(たしざん、ひきざん、かけざん、わりざん)の練習をするゲームを作りました。

スマートフォンの場合、ここをクリックしてください。(別ウィンドウで表示されます)



もちろん無料です。ご自由にどうぞ。

2014年3月19日水曜日

BeagleBone Black 入門 その1

BeagleBone Blackを購入しました。
カードサイズのLinuxが動くコンピューターです。

ちょっとマイナーな感じはしますけど、RasberryPiとArduinoの良いところ取りをした感じで扱いやすいですし、標準でなんでも使える(HDMI、USB、SDカード、LAN)のでお奨めです。

■BeagleBone Blackの良いところ
  • Linuxが動く
    • 無線LAN、カードリーダーなどのUSB接続周辺機器が動作します。
    • 同時に複数のプログラムを動かせるのもメリット。
  • Arduino的な使い方もできる
    • プログラミングは簡単です。
    • RasberryPiと比べて圧倒的にI/Oピンが多いので、いろいろつなげたい時も安心。
  • HDMI出力がある
    • テレビに接続すれば画面が写ります。PC無しでもプログラミングとか動作確認ができます。
  • ネットワークポートが付いている
    • インターネットと連携したプログラムが簡単に作れます。
■BeagleBone Blackの悪いところ
  • 起動が遅い
    • Linuxが起動するのにそれなりに時間が掛かります。
    • Arduinoのように、電源ONで即実行とはいかないです。
  • リアルタイム処理は(たぶん)苦手
    • Linuxの上で動くので、リアルタイム処理は難しいと思います。

■始めるのに最低限必要なもの
  • BeagleBone Black本体
    • 秋月で購入しました。
  • HDMI入力に対応したテレビ
    • 無くても動きますけど、あればPCが無くてもプログラミングや動作確認ができます。
  • mini-HDMIケーブル
    • テレビにつなぎたい場合、必要になります。
  • USB接続に対応したキーボード、マウス
    • PC用の普通のUSBキーボード、マウスならなんでも大丈夫だと思います。
    • USBポートが1つしかないのでマウス機能付きのキーボードが良いと思います。

■購入しなくても良いもの、あったら便利なもの
  • USBケーブル
    • 本体に同梱されているので不要です。
  • ACアダプター (5V 1A)
    • USBから電源が取れますので、ACアダプターは不要です。本体に同梱されているUSBケーブルをテレビやPC、スマフォの充電器などにつなげばOK。
    • ACアダプターは必要になった時にあとから購入で良いです。
    • 周辺機器をつなぐ場合はACアダプタが必須になると思います。周辺機器によっては、周辺機器をつないだ状態では本体の電源が入らないものがありました。
    • ACアダプターを接続する場合、電圧が高すぎると電源が入らないようです。電源が入らない場合はACアダプタではなく、USBから電源をとってみると良いと思います。
  • USBハブ
    • USBポートが1つしかないため、マウスやキーボードなどの周辺機器を複数つなげたい場合に必要になります。
    • ACアダプターが付属のものをお勧めします。
  • ケース
    • カードサイズコンピューターなので、名刺入れのプラスチックケースなどが使えると思います。