WeMos (2) 3色LED表示

3色LEDをつないて、順次点滅する。

 

#define LEDR 12
#define LEDG 13
#define LEDB 14

void setup() 
{
  pinMode(LEDR, OUTPUT);
  pinMode(LEDG, OUTPUT);
  pinMode(LEDB, OUTPUT);
}

void loop() 
{
  digitalWrite(LEDR, HIGH);
  delay(1000);
  digitalWrite(LEDG, HIGH);
  delay(1000);
  digitalWrite(LEDB, HIGH);
  delay(1000);
  digitalWrite(LEDR, LOW);
  delay(1000);
  digitalWrite(LEDG, LOW);
  delay(1000);
  digitalWrite(LEDB, LOW);
  delay(1000);
}

 

WeMos (1) Blink

About WeMos

WeMosはESP8266モジュールを利用した、Arduino互換ボード。

WeMosには「D1 Mini」と「D1 R2」の2種類がある。使い方が同じ。

Macbook Air で実験する。

Arduino IDEのインストール

Arduino IDEがまたインストールしてないの場合、普通に、Arduino IDEのインストールする。

CH340のドライバー

UNO互換機を使っている方は、特に何も必要ないが、今まで互換機を使ったことが無い方はWeMosのホームページからCH340のドライバー(CH341SER_MAC.ZIP)をインストールする必要がある。

http://www.wch.cn/download/CH341SER_ZIP.html

http://www.wch.cn/download/CH341SER_MAC_ZIP.html

AddOn

Arduino-IDEを使ってスケッチを書き込むには、こ ち らを参考にESP8266用のAddOnを追加する必要がある。

  1.  [Arduino]-[環境設定]に、[ボードマネージャーURL]を追加
    http://arduino.esp8266.com/stable/package_esp8266com_index.json
  2. ボードマネージャーに、ESP8266を検索して追加

インストールは、結構大量のファイルをダウンロードするので、ココは時間が掛かる。

Blink

動作確認のため、まずLちか(Blink)をする。

参考

Arduino UNO (1) Lちか

接続図

ArduinoのGNDとD13の間に赤色LEDとカーボン抵抗330Ωを接続しましょう。

Arduino IDEのインストール

Arduino IDEがまたインストールしてないの場合、普通に、Arduino IDEのインストールする。

以下URLから、ArduinoのウェブサイトからIDEをダウンロードして、インストールする

https://www.arduino.cc/en/Main/Software

CH340のドライバー

UNO互換機を使っている方は、特に何も必要ないが、今まで互換機を使ったことが無い方はWeMosのホームページからCH340のドライバー(CH341SER_MAC.ZIP)をインストールする必要がある。

以下江苏沁恒股份有限公司のHPから
CH341SER.ZIP をダウンロードして解凍し、ファイルが展開されるので setup.exe を実行。

http://www.wch.cn/download/CH341SER_ZIP.html

http://www.wch.cn/download/CH341SER_MAC_ZIP.html

Blink

動作確認のため、まずLちか(Blink)をする。

プログラムを実行してみましょう。接続した赤色LEDが1秒間隔で点滅したら成功です。

// led_blink_sample1

const int led_pin = 13;           // LED connected to digital pin 13

void setup() {
  pinMode( led_pin, OUTPUT );     // sets the digital pin as output
}

void loop() {
  digitalWrite( led_pin, HIGH );  // sets the LED on
  delay( 1000 );                  // waits for a second
  digitalWrite( led_pin, LOW );   // sets the LED off
  delay( 1000 );                  // waits for a second
}

LのLEDをBlink する様子

Arduino 101 (4) LED on/off

Lちか

締めに、App Inventor + IoT: LEDを参考して、Android のアプリから、Lちかをやる。

http://iot.appinventor.mit.edu/#/arduino101/arduinoled

LED接続

LEDをD5に接続してください

Arduinoプログラム

ARDUINO (2) INSTALLのArduinoのプログラムを修正する。

先頭の定義部分に、LED を ENABLEDに、その他全てを
DISABLEDにセットしてください

スクリーンショット 2017-09-04 15.38.13

App Inventorプログラム

Arduino (3) BluetoothのIoT_BaseConnectプログラムに、LED操作する部品とプログラムを追加する。

http://iot.appinventor.mit.edu/assets/resources/edu.mit.appinventor.iot.arduino101.aix

スクリーンショット 2017-09-04 16.47.06

スクリーンショット 2017-09-04 16.58.15

アプリのLED On/Off テスト

 

Arduino 101 (3) Bluetooth

Bluetooth連携する環境のセットアップ

次に、App Inventor + IoT: Basic Bluetooth Connection Setup を参考して、Arduino 101とApp InventorをBluetooth通して連携する環境のセットアップ。

プロジェクト新規作成

http://ai2.appinventor.mit.edu/を開いて、BasicIoTSetupというプロジェクトを新規作成してください。

BluetoothLE extensionをインストールする必要があり、edu.mit.appinventor.ble.aixをダウンロードし、Paletteの底に、Import extensionから、インポートしてください。

スクリーンショット 2017-09-04 15.49.06

画面デザイン

下記の様式を参考して、部品を並べてください。

底のBluetoothLE extensionは、先ほどインポートしたもの。

スクリーンショット 2017-09-04 15.45.10

ブロックエディタ

スクリーンショット 2017-09-04 15.57.02

アプリのBT接続テスト

Arduino 101 (2) Install

Arduino IDEのインストール

まず App Inventor + IoT: Setting Up Your Arduinoを参考して、セットアップを進める。

Arduino IDEのインストール

Arduino IDEがまたインストールしてないの場合、普通に、Arduino IDEのインストールする。

以下URLから、ArduinoのウェブサイトからIDEをダウンロードして、インストールする

https://www.arduino.cc/en/Main/Software

App Inventorと連携するファイル

AIM-for-Things-Arduino101.inoをダウンロードし、解凍して、Arduino IDEで開いてください。

次は、ライブラリを追加する。

“DHT-sensor-library”ライブラリの追加

スクリーンショット 2017-09-04 15.21.34

“Adafruit Unified Sensor”ライブラリの追加

スクリーンショット 2017-09-04 15.24.15

”Grove LCD RGB Backlight”の追加

Grove LCD RGB Backlightをダウンロードして、Sketch > Include Library > Add .ZIP Library順に追加する

“Grove LCD”で検索して、インストールしたことを確認

スクリーンショット 2017-09-04 15.28.01

101ボードの選択

ボード一覧に”Arduino/Genuino 101″あれば選択して、なければ、ボードマネージャを開き、101を検索してください。

“Intel Curie Board by Intel”を見つけ、インストールしてください。

スクリーンショット 2017-09-04 15.33.31

Portの選択

/dev/cu.usbmodem…らしいものを選択する

スクリーンショット 2017-09-04 15.36.06

ここで、右矢印➡️を押して、プログラムをArduinoボードに書き込み、実行してみてください。

PIXEL (2) Screen resolution

PIXEL (Raspberry OS)は、USBメモリに書き込んで、古いi386のPCでも活用でするもの。

静音PCでPIXELを動かすと、800×600の解像度になってしまう。ちと狭い。変更する方法はあるのかな…。

_PIXEL for PC and Mac – Raspberry Pi のコメント欄で、xrandr とやらを使って解像度を変更する例が紹介されてる。

sudo xrandr --output Virtual1 --mode 1024x768

上記のように打ってみたら、エラーになり、困った。

pi@raspberrypi:~ $ sudo xrandr --output Virtual1 --mode 1024x768
warning: output Virtual1 not found; ignoring

なぜだろう!試しに引数なしでコマンド送ったら、ステータスとオプションが表示してくれた。

pi@raspberrypi:~ $ sudo xrandr
Screen 0: minimum 320 x 200, current 640 x 480, maximum 2048 x 2048
LVDS1 connected 640x480+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
640x480 63.10*+ 59.94
VGA1 connected 640x480+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
1280x1024 60.02 + 75.02
1024x768 75.08 70.07 60.00
800x600 72.19 75.00 60.32
640x480 75.00 72.81 60.00*
720x400 70.08

これて、output を推測し、下記のコマンドを送る。

pi@raspberrypi:~ $ sudo xrandr --output VGA1 --mode 1024x768

解像度が変更できた。

これでは次回起動時にはまた元に戻ってしまって。さて、どうしたら…。

更に arandr なるツールをインストールしたらGUIでも解像度を変更でき;~/.config/autostart/ に.desktopファイルを置くと、Xセッション起動時に自動起動が走るらしいので、時間があったらまた試してみる。

 

Arduino 101 (1) Guidance

App Inventor IoT の発表に伴い、実験しながら体験する予定。

対応機種は今現在Arduino 101とBBC micro:bitしかない。BBC micro:bitについて、あまり聞いたことがない、イギリスの小学校では無料配布らしい。早速Arduino 101を注文から始まる。

Arduino とは

Arduino(アルドゥイーノ[1])は、AVRマイコン入出力ポートを備えた基板、C++風のArduino言語とそれの統合開発環境から構成されるシステム。Arduino LLC および Arduino SRL が設計・製造を行い、登録商標を持っている。

Arduino 101

Genuino 101(米国ではArduino 101)は、米国のArduino LLCがインテルと共同で設計した、Intel Curie搭載のマイコンボードです。Arduino Uno R3と同じ形状の基板ですが、BLE(Bluetooth Low Energy)に対応し、3軸加速度センサ・3軸ジャイロセンサを搭載しています。

Arduino 101とApp Inventor連携する環境

Arduino 101とApp Inventor一緒にすると、いろいろIoT実験ができる。

その前に、Arduino 101とApp Inventor連携する環境のセットアップする必要。

Arduino IDEのインストール

まず App Inventor + IoT: Setting Up Your Arduinoを参考して、セットアップを進める。

 

Bluetooth連携する環境のセットアップ

次に、App Inventor + IoT: Basic Bluetooth Connection Setup を参考して、Arduino 101とApp InventorをBluetooth通して連携する環境のセットアップ。

Lちか

締めに、App Inventor + IoT: LEDを参考して、Android のアプリから、Lちかをやる。

http://iot.appinventor.mit.edu/#/arduino101/arduinoled

 

参考:

App Inventor + IoT Setup tutorial

Raspberry Pi (10) Nokia 5110 LCD

Nokia 5110 LCD表示するための設定

最初の参考文献で、下記のコマンドを実行

cd /home
sudo apt-get update
sudo apt-get install python-pip python-dev build-essential
sudo pip install RPi.GPIO
sudo apt-get install python-imaging
sudo apt-get install git
sudo git clone https://github.com/adafruit/Adafruit_Nokia_LCD.git
cd Adafruit_Nokia_LCD
sudo python setup.py install
Adafruit examples programsを実行:
pi@raspberrypi:~/Adafruit_Nokia_LCD $ cd examples/
pi@raspberrypi:~/Adafruit_Nokia_LCD/examples $ python shapes.py
Traceback (most recent call last):
  File "shapes.py", line 60, in <module>
    disp = LCD.PCD8544(DC, RST, spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE, max_speed_hz=4000000))
  File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/SPI.py", line 42, in __init__
IOError: [Errno 2] No such file or directory

困りました!

もしかしてと、昨日のRaspberry Pi (9) Red LED Matrix Moduleを見直し、spi->> Onが必要と気づいた。

  • spi ->> On

これて、Adafruit examples programsを実行に問題なく表示できた。

参考文献

  1. http://projects.privateeyepi.com/home/home-alarm-system-project/nokia-5110-lcd-project

Raspberry Pi (9) Red LED Matrix Module

Raspberry Pi用赤いLED Matrix Moduleを購入したので、まずためす!

セットアップ

このように、GPIOに差し込むタイプ。何かできるかと思うと、流れ文字、テトリスゲームはいいかもしれません。

ちょっと初期のPiで試したが、OSが古いため、パッケージインストールエラーなど、問題発生する。仕方なく、別SDに最新版のOSを導入して進む。

起動したら、下記の3点設定する。

pi@raspberrypi-256M:~ $ sudo raspi-config
  • Video Momory 64M ->> 16M
  • ssh ->> On
  • spi ->> On

ドライバーインストール

ドライバーの C library for Broadcom BCM 2835 インストール.

wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.49.tar.gz
tar xf bcm2835-1.49.tar.gz
cd bcm2835-1.49
./configure
make
sudo make check
sudo make install

サンプルコード

サンプルコードの取得

cd ~
git clone https://github.com/leon-anavi/raspberrypi-matrix-led-max7219.git

C言語サンプルコードのビルド

cd ~/raspberrypi-matrix-led-max7219/c
make

実行する

sudo ./led-max7219-text hello

参考ビデオ