2016年9月7日水曜日

elementary OS Loki インストール

elementary OS とは、ubuntuベースのLinux ディストリビューションです。ちょっとオシャレな ubuntu という感じで使うことができます。


スクリーンショットでは、インストール後にアイコンなどをカスタマイズしています。私がデフォルトインストール後に行っている作業を紹介します。

パッケージの更新
ターミナルを開いて、まずは最新化。
  • sudo apt-get update
  • sudo apt-get upgrade

Google日本語入力のインストール
mozcをインストールすれば日本語も入力できるようになります。
  • sudo apt-get install fcitx-mozc

エディタとブラウザのインストール
デフォルトでもエディタ(Scratch)とブラウザ(Epiphany)は入っていますが、atom と chromeを使っています。debパッケージをダウンロードしてきてから sudo dpkg -i  xxxxx.deb でインストールしています。
2016年9月10日現在、依存関係に問題がありインストール時にエラーが発生しますが、その後  sudo apt-get upgrade -f を実行することで解消できました。

add-apt-repositoryのインストール
標準では入っていないためインストールします。

  • sudo apt-get install software-properties-common

Tweaksのインストール
アイコンやフォントをカスタマイズしたい場合、 Tweaks をインストールする必要があります。インストール後、システム設定の中の Tweaks から起動します。
  • sudo add-apt-repository ppa:philip.scott/elementary-tweaks
  • sudo apt-get update
  • sudo apt-get install elementary-tweaks

TLP(省電力設定)のインストール
ノートPCを使っているため、tlp をインストールしています。
#ただ、実際に効果があるのかは未確認。
  • sudo add-apt-repository ppa:linrunner/tlp
  • sudo apt-get update
  • sudo apt-get install tlp tlp-rdw
  • sudo tlp start

THERMALD と INTEL P-STATE (省電力設定)
http://www.webupd8.org/2014/04/prevent-your-laptop-from-overheating.html を参考に powersave モードに設定しています。

アイコンパック(numix-circle)のインストール
アイコンはお好みで。標準アイコンも綺麗ですけどね。
インストール後、tweaks から変更ができます。
  • sudo add-apt-repository ppa:numix/ppa
  • sudo apt-get update
  • sudo apt-get install numix-icon-theme-circle

アイコンパック(paper-icon)のインストール
スクリーンショットのアイコンは、paper-iconです。
  • sudo add-apt-repository ppa:snwh/pulp
  • sudo apt-get update
  • sudo apt-get install paper-icon-theme
  • sudo apt-get install paper-gtk-theme
  • sudo apt-get install paper-cursor-theme

日本語入力の問題
elementary OS は以前から scratch(標準テキストエディタ) で日本語入力ができない問題がありました。最新バージョンの Loki では fcitx-frontend-gtk3 を外すことで対処したようですが、その影響でターミナルやブラウザなどでインラインでの日本語入力ができなくなってしまったようです。
インライン入力をしたい場合、ターミナルから以下のコマンドを実行し、Fcitxの設定を起動して設定を変更してください。
  • fcitx-config-gtk3
Fcitxの設定で、[アドオン]-[拡張](チェック)-[Fcitx XIM Frontend]-[設定]-[XIMでOn The Spotスタイルを使う(起動中は変更できません)](チェック)-[OK]で、Fcitxの[再起動]をクリックすると次からインラインで表示するようになります。

フォントの変更
Noto Fonts がデフォルトでインストールされています。
tweaks をつかって、 Default と Document のフォントを Noto Sans CJK JP Lightに変更しています。

Windowsとデュアルブートしている場合
Windowsを起動したときに時計の時刻がずれる場合、以下のコマンドを実行しておくとずれないようになります。

  • sudo timedatectl set-local-rtc 1


あとは、開発言語のセットアップなどです。私は Ruby (Rails) や Postgres などを入れていますが、Ubuntu 16.04 と同じ手順で入ります。
開発環境として使う分には特に不自由ありません。

2015年6月15日月曜日

Ubuntuのディスク容量が不足してきた場合

Ubuntuを長く使っていると、ディスク容量が不足してきます。
使っていないカーネルを削除するだけでかなり開放することができます。

私の場合、半年くらい使っていた環境で、3GBくらいを開放することができました。


まずは、キャッシュの開放。

$ sudo apt-get clean


次に、古いカーネルの削除。
まずは、以下のコマンドで、現在のカーネルのバージョンを確認。

$ uname -a


次に、インストールされているlinux-imageの確認。

$ dpkg --get-selections | grep linux-image


現在のバージョン以外を以下のコマンドで削除。

$ sudo apt-get remove -y linux-image-3.xx.xx-xx-generic


headersも、同様。

$ dpkg --get-selections | grep linux-headers

現在のバージョン以外を以下のコマンドで削除。

$ sudo apt-get remove -y linux-headers-3.xx.xx-xx






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月23日火曜日

ATmega 1284PをArduino化したときのピンマッピング

個人的な備忘録。
Arduino on ATmega1284P より。
                      +---\/---+
           (D 0) PB0 1|        |40 PA0 (AI 0 / D24)
           (D 1) PB1 2|        |39 PA1 (AI 1 / D25)
      INT2 (D 2) PB2 3|        |38 PA2 (AI 2 / D26)
       PWM (D 3) PB3 4|        |37 PA3 (AI 3 / D27)
    PWM/SS (D 4) PB4 5|        |36 PA4 (AI 4 / D28)
      MOSI (D 5) PB5 6|        |35 PA5 (AI 5 / D29)
  PWM/MISO (D 6) PB6 7|        |34 PA6 (AI 6 / D30)
   PWM/SCK (D 7) PB7 8|        |33 PA7 (AI 7 / D31)
                 RST 9|        |32 AREF
                VCC 10|        |31 GND
                GND 11|        |30 AVCC
              XTAL2 12|        |29 PC7 (D 23)
              XTAL1 13|        |28 PC6 (D 22)
      RX0 (D 8) PD0 14|        |27 PC5 (D 21) TDI
      TX0 (D 9) PD1 15|        |26 PC4 (D 20) TDO
RX1/INT0 (D 10) PD2 16|        |25 PC3 (D 19) TMS
TX1/INT1 (D 11) PD3 17|        |24 PC2 (D 18) TCK
     PWM (D 12) PD4 18|        |23 PC1 (D 17) SDA
     PWM (D 13) PD5 19|        |22 PC0 (D 16) SCL
     PWM (D 14) PD6 20|        |21 PD7 (D 15) PWM
                      +--------+
                     ATmega 1284p
書き込みに使うのは、本家からfolkしたこちらがおススメ。 https://github.com/JChristensen/mighty-1284p

ATmega 328PをArduino化した時のピンマッピング

個人的な備忘録。
ATmega 328pをArduino化した時のピンアサイン。
    ┏━━━━┓
rst ┃1     28┃ a15
rxd ┃2     27┃ a14
txd ┃3     26┃ a13
d2  ┃4     25┃ a12
d3  ┃5     24┃ a11
d4  ┃6     23┃ a10
vcc ┃7     22┃ gnd
gnd ┃8     21┃ aref
xt1 ┃9     20┃ avcc
xt2 ┃10    19┃ d13
d5  ┃11    18┃ d12
d6  ┃12    17┃ d11
d7  ┃13    16┃ d10
d8  ┃14    15┃ d9
    ┗━━━━┛
    atmega 328p

FT232RLのISP端子

個人的な備忘録。
FT232RLを使ってArduinoのbootloaderを書き込むときの配線。

    ┏━━┓
CTS ┃・・┃ 5V
DSR ┃・・┃ DCD
RI  ┃・・┃ GND
    ┗━━┛
      ISP
            │ 1284p│ 328p 
──────┼───┼───
CTS → MISO │   7  │ 18
DSR → SCK  │   8  │ 19
RI  → RESET│   9  │  1
DCD → MOSI │   6  │ 17

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