Google アナリティクスに登録してみた (8/16)

エキサイトブログのいつもトップのアクセス数のページが一体どこからリンクされているのか、調べようとして無料の「Webマスターツール(Google Search Console)」を登録すると良さそうなので、Googleアカウントで登録したが、どうやらエキサイトブログは対応していなくて、自分のサイトである証明のための必要なファイルをアップロードできないらしい。

そしてそもそも旧となっていてこれは古いようだ。

で、無料のGoogle アナリティクスに切替え、エキサイトブログとの関係を調べると対応しているようなので、下記のエキサイトブログのヘルプを参照しながらGoogle アナリティクスに登録(1000万ページアクセスまで無料とある。そんなにあるわけないが)。

登録後のGoogle アナリティクス画面がこちら。
a0034780_14453211.png
このトラッキングID(消去済み)をエキサイトブログヘルプの通りに設定するのに、[管理画面]-[基本設定]を選んでから、一番下にあるGoogle Analytics登録に追加。
いつごろ有効になるのかな~



[PR]
# by k1segawa | 2017-08-16 14:37 | Comments(0)

Japanino ArduinoISPで ATtiny13 で 100均ブザー (8/14)

100均のキッチンタイマーでちょっと作成しようとしているので、それに付いていたブザーを調べるのにATtiny13でブザーを鳴らしてみる。

ブザーには電子ブザー、圧電ブザーの2つがあって、電子ブザーなら電圧をかけるだけで音が鳴るのに対し、圧電ブザーは矩形波を発生させて音を鳴らしてやらなければならない。
どちらのブザーなのかよくわからなかったので、単三電池を繋いで見たが、接触時のみ雑音のような音が一瞬出るだけで、抵抗が必要なのか電子ブザーでなかったのかわからない。Arduinoのtone関数(IDEに存在するスケッチ例でいうtoneMelody内の関数)で鳴らして鳴るようなら、作成例からも圧電ブザーのような気がする。

ということで、ATtiny13にArduinoを載せるbitDuinoの出番。
ついでに最新のArduino IDE にする。
Arduino 1.8.3に最新のbitDuinoがいつものサイト様にある。

こちらからbitDuino_2017がArduino 1.6.x と 1.8.xに対応しているので、これを説明の通りにDocuments/Arduino/hardwareにコピー。
IDEを再起動すると有効になる。それぞれ設定は以下の通り。ボードマネージャやライブラリインクルードなどは使わない。
a0034780_22422380.png
tone関数もATtiny13に対応したものが、同じページの示すサイト様にある。

ATtiny10とATtiny13の両方に対応しているが、ATtiny10はまだ未完成だがATtiny13にはそのままで対応しているようだ。
ただし、tone関数の第3引数は削除されているようだ。その新たなライブラリは同サイト様の以下のページにある。

そこにある「toneSampleSketch.zip」をダウンロードというリンクからATtiny13のスケッチを取得。
同ページに表示されているソースはATtiny10の物なので今回は無関係。つまりtoneCycleMelody関数、メモリが少ないうんぬんはATtiny10の事なので、ATtiny13はIDEに内蔵のtoneMelodyのスケッチとほぼ同じ。

ダウンロードしたスケッチを開き、回路を組んでNew ATtiny13をセット(8分周のままなので1.2MHzを選んだ)。
抵抗は100均のチップ抵抗を見ると102なので10x10^2=1000Ω=1kΩを。ピンはソースからspk=4よりPB4をブザーのプラスにGNDをブザーのマイナスに。そのどこかに抵抗をはさむ。
コンパイルもそのまま通り書込みもOK。

「最大1024バイトのフラッシュメモリのうち、スケッチが788バイト(76%)を使っています。
最大64バイトのRAMのうち、グローバル変数が25バイト(39%)を使っていて、ローカル変数で39バイト使うことができます。」
メッセージも日本語で凄く親切。

実際鳴らすと音が小さい。100Ωにするとずいぶん大きくなる。きっとキッチンタイマーの省電力対策なのだろう。

これで圧電ブザーという事がわかった。同じようなものは 秋月電子通商のUDB-05LFPN 80円か。ボタン電池LR1130(1.5V)やレギュレータも載って液晶まで付いて凄いコスパだ。

Arduino(Japanino)ライタを使ってるのでbootloaderを使ってないので容量は788バイトで済んでるが、さらに少なくするならArduino IDEの関数を使わず直接ポートをアクセスするようIDE上で書けば削減される(pinModeなど)。この時bitDuinoの関数を使わなければbitDuinoのインストールは関係なくなる。

P.S.
書込み装置:Arduino as ISPならbootloaderは不要だが、Fuseビットを書き換える処理もしているので、9.6MHz(Internal)を選んでブートローダ書込みを実行後にマイコン書込みすれば指定のClockで動作可能。

P.S.2
今回bitDuinoをインストールしているのはATtiny13用のArduino IDE関数(pinMode,tone)がbitDuinoによって置き換えられているからで、今までの1.5.2の環境などではこれらの関数を使わず、その代わり直接ポートやレジスタをアクセスするavr-gccの関数を使用しているのでbitDuinoはインストール不要。正確にはmain関数がinit関数を呼び出しているので、多少のArduino IDE関数を使っている。
avr-gcc関数:avrの標準C/C++関数
Arduino IDE関数:avrの関数に使い勝手が良いようにどんなavr MCUでもソースが共通になるようなラッパー関数
bitDuino:そのラッパー関数をATtiny13/10でも使えるように書き換えたもの

[PR]
# by k1segawa | 2017-08-14 22:03 | arduino, AVR | Comments(0)

この世界の片隅に - 映画 (8/11)

「この世界の片隅に」をネットで見た。
そうかー、目が細くなって照れ隠しで笑うキャラクターだったのかー
イメージポスターに載ってる主人公の姿は、ただただ弱い姿を見せていたので好ましく思わなかったが、どんな状況でも笑ってやり過ごす姿は泣き叫ぶよりずっと強い。

そんな主人公の夫も前向きなだけでなく、すずの気持ちをおもんばかって口を閉じてしまうような面を見せている。イケイケドンドンではなかった。

後半3/4ぐらいまで戦時中なのにどこかのほほんとした雰囲気だが、急に主人公の体に戦争の魔の手が伸びる。誰でも可能性のあった事が自分に降りかかる。
そこで気が付き、憤慨するが、自分もそうだったように淡々とした日常生活と人々との反応が再び続く。しかし戦後の被害はすぐそこにありそれらを包含して生活は続いていく。
a0034780_01131787.png

[PR]
# by k1segawa | 2017-08-11 01:14 | Comments(0)

[+α] 32GBストレージのWindows 10マシンにCreators Updateを適用する : Windows Info - ASCII.jp (8/3)

タイトルの通り、ASCII.jp で連載のWindows Info (塩田紳二) で、32GB の PC は eMMCが多い。hp stream 11やIntel ComputeStickなどがあり容量がギリギリだ。
記事でも最初インストール可能になっても、途中でエラーになっている。

実は記事内で触れられていないが、奥の手として「ページングファイルの縮小」がある。

設定>システム>バージョン情報>システムの詳細設定>詳細設定タブ>パフォーマンス設定ボタン>詳細設定タブ>仮想メモリ
a0034780_00214586.png
ここで、ページングファイルのサイズが2.6GBになっている。これはシステムのデフォルトなので変更ボタン押下で1GBにする。
a0034780_00241554.png
設定ボタン押下後OKで終了。再起動後さらに1.6GB残り容量が増加する。

小さい容量のPCなので色々やってあと少しという時はこれを試して欲しい。



[PR]
# by k1segawa | 2017-08-03 00:15 | Comments(0)

Windows Creators Update で Xlib-GUI開発 - Bash on Ubuntu on Windows (8/1)

(2017/8/2 追記:BoW 64ビット環境で動作する実行形式をダウンロード可能にした。Linuxでも動作可)
a0034780_23412233.png
Windows Subsystem for Linux (Bash on Ubuntu on Windows) で コンソールCUIだけでなく、GUIも動作・開発出来る環境の構築をまとめておく。

[Windows用X Serverのインストール]
・VcXsrv

もちろんXmingでもよい。

[Bash on Ubuntu on Windowsでxterm系の端末をインストール]
・lxterminal

apt-get install lxterminal
※P.S.でWindows上で端末を用意する方法を追記。ただしCreators UpdateではBashがマルチバイトにきちんと対応しているので特にlxterminalやわざわざmsys2を立ち上げる必要はなくなった。Bashを複数起動すればよい。

[エディタ・コンパイラ]
・vi/vim/gvim
・gcc,g++

もちろんEmacs系でもいい。g++はなくてもOK。

[日本語関係]
・uim-fep
・日本語フォント(lxterminal設定-takao ゴシック)
・nkf
・LANG=ja_JP.UTF-8 定義

[X Window System開発環境]
・xserver-xorg
・xorg-dev

これだけ入れておけばとりあえずOK。
詳しくは前記事のx-windowカテゴリで。

これだけ入れて次のxlibのサイト様のソースをコンパイル。
X アプリケーション工房 Xlib 編 (2) - 68user's page

xlib-2.cをダウンロード。
(ダウンロードもfirefoxをインストールしてX Window上で行うのが簡単)

これはソースに#include <string.h>の追加が必要。
コンパイル方法もサイト様の通り、cc xlib-2.c -o xlib-2 -lX11 -I /usr/X11R6/include -L /usr/X11R6/lib
実行後、マウス左ボタン押下の様子。
xlib-2
a0034780_22571911.png
xlib-3.cの場合はソースの日本語コメントが化けるので、
cat xlib-3.c | nkf -w > xlib-3u.c
でUTF-8に変換。
実行後の様子。
xlib-3
a0034780_23085462.png
この通りマウスで描画も可能。

xlib-4-1.cは変更なし。
実行結果。
xlib-4-1
a0034780_23114185.png
Pixmap関数で画像イメージの転送を繰り返し、円が横移動しているように見える。

xlib-4-2.cはサイト様のX アプリケーション工房トップページから取得。
ちらつかないとあるが、今のPCでは速すぎて逆にわからない。
xlib-4-2

大体これでOKだが、音だけはまだsoundデバイスへのアクセスがよくわかっていない。たぶんioctrl関数の辺りはwindowsとの間でまだ鬼門のような気がする。deamon errorがfirefoxで出てるし。

Ubuntu Desktopマネージャを動かすと、せっかくのマルチウィンドウがルートウィンドウ上の子ウィンドウになってしまうので今のままのVcXsrvの設定でHide Root WindowにしてDesktopマネージャは動かさないでおく(以前は別アプリXsvr Launcherだったが、バージョン1.19.2.0 64bitではタスクトレイアイコンのカスケードメニューにある)。

今のデスクトップはこんな感じ。昔もこんな風にtwmで、縦長のvi用端末とコンパクトなコンパイル・実行用端末を開いていた。
a0034780_23342246.png
上記のダウンロードできるファイルは、Linux elf形式 64bit 版 実行ファイル。なのでBoW 32ビット環境では動かないかも。スタティックリンクでないので、xserver-xorgでインストールされるライブラリが最低でも必要かも。
またstripしてないので実行ファイルのシンボルは見れる。
readelf -s オブジェクトファイル

P.S.
lxterminalなどのLinuxの端末が使いづらいと感じるWindowsユーザは次のサイト様からBashを動かすWindowsアプリをインストールするといい。


[PR]
# by k1segawa | 2017-08-01 23:14 | X-Window | Comments(0)

exiteモバイル と IIJ の格安SIM SNS付き高速データ通信専用SIMの比較 (8/1)

(2017/8/2 修正:13ヶ月目にキャッシュバック→8月13日までにメールアドレス確定。口座登録は15日から。8月29日までに口座登録した方に29日以降に順次キャッシュバック。およびP.S.追加)
(2017/8/2 修正:1分1MB→10MB)
8/1からexiteモバイルがキャッシュバックキャンペーンを行なっている。
エキサイトモバイル | 自分にも家族にもぴったりの格安SIM・格安スマホ
データ通信専用なら7,000円、電話番号もしくはSNS付きなら10,000円だ。
ただし、13ヶ月目にキャッシュバック(指定口座振り込み)なので、電話番号付きのみ途中解約料が9,800円(データ通信専用とSNS付きは無料)の場合は特に注意。
最初の事務手数料は普通の3,000円。

いわゆる従量課金制の最適料金プランと、定額高速データ通信プランがあるが、極端に使わない月と使う月はシッカリ使う場合のみ従量課金制がお得だが、せいぜい0.5~4GB の間の使用量の違いなら、500円~1,170円なので500円差なら、繰越しが出来る定額高速データ通信の方が使わなかった月の分も増えてお得。これ以上の使用量(従量課金制は5GB、高速データ通信は9GB)なら1,500円以上になって月1,000円以上の差になるので普段は余り使わず、超がっつり使う月がたまーにある人(例:2ヶ月に1・2日ほど数ギガ必要な社内スマホ - デザリング)には従量課金制もいいかも。

まあ、前提としては定額高速データ通信プランなのだが、"SNS付き"だとキャンペーンが10,000円にアップし、途中解約料が無料なのが超重要。

3GBのケースだと、exiteモバイルもIIJも900円で同じで、IIJも途中解約料は無料だし、SNS付きも140円で同じ。低速通信になってからの366MB/3日の通信制限も同じ。
IIJmio

exiteモバイルの利点は、キャッシュバックと追加高速データ通信料が1GB 580円で安い事。
IIJの利点は、低速通信時も通信制限になってからも、最初のブースト転送があってそれほど遅くない事。逆に100MBで200円で割高。そして3GBのプランではMAX3GBまでしか追加できない事。大きい容量のプラン変更は翌月からしか出来ず、2,100円で別SIMになる。

例えばYoutube閲覧が月に20時間(平均1分で10MBだと平日5日往復で1時間閲覧で20時間=20x600=12GB)だと、全く足りない。2時間以上や休日外出使用、または家にWi-Fiがないならダウンロードで簡単に20GB越え。そうすると3GB前後のコース(繰越しで6GB)は、月合計2時間程度しか閲覧できない(2時間=2x600=1.2GB)。
YouTube:動画のデータ通信量の目安・1時間でどれくらい? - よぅつべぇのYouTube講座

今すぐ10,000円キャンペーンを使っても、今回の手数料3,000円を引いて7,000円は手に入る。最悪、みんなが一斉に契約して遅くなっても、12か月間我慢すれば再契約でさらに3,000円引かれて4,000円。ひどければ12ヶ月経たずに6,000円勉強代とするかは、神のみぞ知る。

そこまでひどくはならないとは思うが、SIMサイズ交換でnanoSIMにすると2,000円(現在IIJのmicroSIM)かかると考えると次機種のためにexiteモバイルでもいいか~
ブースト転送も通信制限まで使ったことないしな~

おっと、キャッシュバックは8月13日までにメールアドレス確定。口座登録は15日から。8月29日までに口座登録した方に29日以降順次キャッシュバックするのか。結構短い期間で29日以降振り込まれるのか。

(8/2 8:00頃までは以下の通りだった。13ヶ月目のメールで外部決済代行業者「株式会社イーコンテクスト」に委託していて、メール送信後2週間以内に「CASH POST」という送金サービスに口座情報を登録しないと受け取れない。うーん、忘れそうだな~)

CASH POST自体はコンビニ決済で最近聞くメールアドレスのみで入金送金できるサービスらしい。
昨年ぐらいから話題になっていた。それ自体はどうか知らないし、それほど大きい会社でもないらしいが、決済代行会社自体は古くからありまだ数社でやっている感じかー
システムに強い!ベリトランスの評判と考察 - 元決済代行会社のプロが教える決済比較ブログ

econtext - コンビニ決済

CASH POST - econtext

口座情報を7,000円で売る事になる感じかなー。出来るだけ個人情報の拡散は少ない方がいいなー
キャッシュバックしなくても追加高速データ通信料が安くて有利は有利なんだが、3GBの範囲で使うなら安くても関係無いしなー

P.S.
ん~、exiteモバイルの従量課金制を見ると、同じギガで定額高速通信と比べて逆に安い!なぜだー!
なら2ヶ月に1・2日ほど数ギガ必要な社内スマホ - デザリングとして使ったり、離月でYoutube閲覧が必要になる人だけでなく、(もちろん青天井になるので)普通に使い過ぎない人は従量課金制で節約できるのか。定額高速通信にも繰越しがあるのでメリットはあるが。
ここの基本説明事項(PDF)の4ページ目によると、

(ここから引用)
・最適料金プランは 1 ヶ月あたりの高速データ通信の使用量に応じて月額料金が毎月変動します。3 枚コースの場合は、
ご利用の SIM カードすべてのデータ通信量の合算値に応じて月額料金が決まります。追加 SIM をご利用になられる場
合は、追加 SIM も含めたすべての SIM カードの高速データ通信量の合算値に応じて月額料金が決まります。
(例)1.3GB(1 枚目)+2.3GB(SIM2 枚目)+3.3GB(SIM3 枚目)=6.9GB ⇒ 7GB の月額料金が適用
・1 ヶ月あたりの高速データ通信量の上限(1 枚コースは上限 10GB、3 枚コースは上限 15GB となります)を超過した場
合、当月末日まで通信速度が低速データ通信(送受信最大 200kbps)になります。低速通信の 3 日あたりの通信量が
366MB を超えた場合、当該 SIM カードを使った通信の速度を制限する場合があります。
(ここまで)

となっており、従量課金制といってもMAXの高速データ通信容量は決めておいて、それ以下のギガしか使わなければ表にあるような価格で済み、自分で決めたMAXを越えると、低速通信になるので、追加高速通信1GB 580円で増やしていくのか~。ならMAXをSIM1枚の時の上限の10GBにしとけば、ほぼ高速データ通信を使わない時は0GBじゃないので、630円で済み、沢山使うときは10GB 2,380円でIIJ 2,560円(しかしこちらは毎月定額かかる)より安く使える。10GBはYoutube10時間/月 分程度しかないが。

正確には2か月連続でMAXまで使うなら、定額の繰越しがある方がexiteモバイルでもIIJでも安いが、ほぼ使わない月やMAXの半分の料金までしか使わない月が2か月あれば、2か月分の損を取り返せる。

てか、最適料金プランってMAXのギガを選ぶ必要ないのかな。

これを選ぶ人は、毎月ほぼ回線使わずに630円払ってくれて、使っても10GBの壁があるからBitTorrentのような極端な高速大容量通信は出来ず、10GBまでは定額高速データ通信と同じ価格なので、ユーザにも優しく、繰り越しできないから割増料金(1GB 580円で安いと言っても定額よりは高い)を払ってくれ、定額高速データ通信のユーザには繰越しという形の最適料金プランには無い救済サービスが用意されている。

よく考えられてるな。


[PR]
# by k1segawa | 2017-08-01 16:51 | Comments(0)

PWAの解説 - Web App モバイルファースト (7/29)

PWAというWeb技術があるそうな。
こちらのサイト様で詳しく説明している。

App Shell と content

App Shell = カードメニューGUI(用意された固定のモノ:ユーザが既存のモノから選んで配置する)
content = view領域(ユーザカスタマイズ:上のGUIは配置できない)

つまり、App Shell はWindows GUIのような物で、メニュー、ダイアログ、リストボックス等で、
contentはイメージ画像やドキュメントを置く場所。

App Shell領域には画像(一定の位置に一定の大きさで)が表示できるが、それほど自由度は無い。
contentでは逆にApp Shellで使えたGUI部品が使えない。

一定の制限をかけたカードメニューみたいなものだ。
ただし、App Shellとcontentでネットワークを分けているので固定表示のApp Shell部分のキャッシュ再読み込みを無くし、content部分の自由領域の再読み込みを軽減させる働きがある。

モバイルの設定画面のメニューがApp Shellと思えばよく、設定画面の先にイメージ画像や本文がある構成になる。

モバイルの設定画面は深くなると何をやっているか、どこにあるか、どうやって戻るかがわかりづらくなり、使いづらいと感じてしまう。そしてGUI部品のそっけなさからどうしてもやらされてる感じがぬぐえない。

だからモバイルファーストなら、2画面ぐらいの深さならそれでいいが、飽きられやすいのではないか。
App Shellにもcontentと同じイメージを置けて、カードメニューの階層ごとの機能差を無くした方がいいような。

Web Appがアプリ化するのに、今の設定画面のようなGUIになると、せっかく解像度の高いモバイル画面をつまらないGUI部品で覆ってしまうのは、悪手だと思う。

PWAは流行らない。ユーザーの立場からそう思われる。


[PR]
# by k1segawa | 2017-07-29 17:35 | Comments(0)

フェイクニュースの元4chanは日本のふたば☆ちゃんねるが発祥 - 2ちゃんねると同時期の掲示板 (7/29)

インターネットをNECの文豪mini 5Eで初めて繋いだ頃、どうやってCP/Mのソフトを文豪mini 5Eに持っていくか、Turbo Pascalを動かすかなどで、2ちゃんねるのモバイル板に情報を求めてROMっていた。モバギやCASIOPEA、TeliosなどWindows CE関係でモバイル板や機種板を覗く事も多々。

他にもふたば☆ちゃんねるなどのBBSもあったが、そこには行ったことが無かった。

最近、ネットのウソ情報を見抜けないジャーナリストが問題になっているが、海外でも 4chanなどのサイトを、嘘を嘘と見抜けない人が悪質サイトだと騒いでいる。

海外の4chanが日本のBBSを参考にして作られたことは知っていたが、それが2ちゃんねるではなく、ふたば☆ちゃんねるだとは知らなかった。

なるほど、こちらのサイト様が言っているようにサイトの構成やトップのFAQを見ると確かにそう。

LINEの一方通行のような感じで、画像を伴ってコメントを投稿する形式。今でも活動は盛んのよう。

4chan -orgで見つけたMusicは確かに系統がそれっぽい。でもまた日本とはちょっと毛色が違って面白い。






[PR]
# by k1segawa | 2017-07-29 13:53 | Comments(0)

Xlib での UI開発 を Windows 10 Creators Update上で - Bash on Ubuntu on Windows (7/28)

Windows 10 Creators Update後に、Xlibのソースをコンパイルできるようになるかと思ったら全然違った。
単に必要なライブラリが入っていなかっただけ。

こちらのサイト様で気が付いた。
xorg-devをインストールする。

sudo apt-get install xorg-dev

関連ライブラリも含め、100MBもいかない。

たったこれだけで、Xlib関数を使ったUI開発が可能になった。

ソースはこちらのサイト様から。

[簡単なソース]
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
Display *display;
Window w;

/* ディスプレイサーバに接続 */
display = XOpenDisplay(NULL);
if(display == NULL){
fprintf(stderr, "Cannot open display.\n");
exit(1);
}

/* ウィンドウを生成 */
w = XCreateSimpleWindow(display, DefaultRootWindow(display),
50, 50, 400, 300, 1,
BlackPixel(display, 0), WhitePixel(display, 0));

/* ウィンドウを表示 */
XMapWindow(display, w);

/* リクエストを強制的に送信 */
XFlush(display);

/* ウィンドウ表示を確認のため5秒間スリープ */
sleep(5);

/* ディスプレイサーバとの接続を解除 */
XCloseDisplay(display);

return 0;
}
[コンパイル]
cc sample.c -lX11 -o sample
[実行]
./sample
[結果]
どうよ、これで何でもできるぜ~

[PR]
# by k1segawa | 2017-07-28 22:38 | X-Window | Comments(0)

Japanino ArduinoISPで ATtiny13 で 色々 - 海外の電子工作 (7/28)

ATtiny13をメインに電子工作していたが、特に何か作りたい物がネットを徘徊してもなかったのだが、海外に目を向けると色々あって面白い。
前の記事 Pinterest と 電子工作 (6/17)もそうだが、下記のサイト様はATtiny13のマイコンとしての基本機能をいくつか網羅していてマイコン初心者に便利。

a0034780_17395410.png
Links

というリンクに100個色んなプロジェクトをやってみるというのがあり、ここにATtiny13による「ソフト UART」や「ウォッチドック」、「dance lights with FFT」 など基本から応用がまとまっている。

100個はないがそれでも回路図が簡単で、プログラムもCソースが短くて、簡単にArduino IDEに流用できる。

例えば「ウォッチドック」の「[005] ATtiny13 – blinky with Watchdog Timer」なんかは、
[回路図]
a0034780_17202373.png
[元ソース]
#include <avr/io.h>
#include <avr/wdt.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>

#define LED_PIN PB0

ISR(WDT_vect)
{
PORTB ^= _BV(LED_PIN); // toggle LED pin
}

int
main(void)
{
/* setup */
DDRB = 0b00000001; // set LED pin as OUTPUT
PORTB = 0b00000000; // set all pins to LOW
// set prescaler to 0.5s and enable Watchdog Timer
wdt_enable(WDTO_500MS);

// enable Watchdog Timer interrupt
WDTCR |= _BV(WDTIE);
sei(); // enable global interrupts

/* loop */
while (1);
}

となるのだが、
/* setup */をsetup()内に移植し、/* loop */がwhile(1);なので単にloop()を呼び出す。それ以外はそのまま記述するだけ。

[Arduino IDE用 新ソース]
#include <avr/io.h>
#include <avr/wdt.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>

#define LED_PIN PB0

ISR(WDT_vect)
{
PORTB ^= _BV(LED_PIN); // toggle LED pin
}

void setup() {
/* setup */
DDRB = 0b00000001; // set LED pin as OUTPUT
PORTB = 0b00000000; // set all pins to LOW
// set prescaler to 0.5s and enable Watchdog Timer
wdt_enable(WDTO_500MS);

// enable Watchdog Timer interrupt
WDTCR |= _BV(WDTIE);
sei(); // enable global interrupts
}

void loop() {
}


色々まとまってて面白いわー

[相互変換]
Cソース → Arduino IDE ソースは上のような感じで。
Arduino IDE ソース → Cソースは以下の記事のように。


[PR]
# by k1segawa | 2017-07-28 17:01 | arduino, AVR | Comments(0)

ブレッドボードを卒業して、エッチング無しで最小限の半田付けで基板を作る (7/16)

ブレッドボードで作った回路を恒久的に使いたい時、振動や錆びによる接触不良を無くすため、ユニバーサル基板やプリント基板で半田付けするが、ユニバーサル基板だとドット間を導線で繋いだり、プリント基板なら半田付けの前に廃棄に困るエッチング液でパターンを腐食させなければならない。

昔100万円であった切削型のCNCが、今なら10万円まで下がってきた。これならエッチングいらずでプリント基板が作れるが、騒音と切り屑の処理が大変。

そこで、ちょっと手軽にサンハヤトのワイヤード・ユニバーサル基板やブレッドボードパターンのユニバーサル基板、銀箔テープ、EジスPenで作成する方法がある。
それぞれサイト様の代表的な画像とリンクを示す(画像の著作権はサイト様にあります)。

ワイヤード・ユニバーサル基板 UB-WRD01 - サンハヤト株式会社
(リューターは滑るので刃の鈍ったカッターで削る)
a0034780_02184902.jpg

秋月電子のユニバーサル基板(ブレッドボードタイプ)
片面ユニバーサル基板(ブレッドボード配線パターンタイプ) Dタイプ(47x36mm) ガラスコンポジット
a0034780_02194053.jpg
銀箔テープ
2010年01月18日 物の無い時代に育った - 第九研究室だより:電子工作
(幅広のままドット型のユニバーサル基板に貼ってカットする)
a0034780_02205691.jpg
プリント回路基板の簡単製作手順
a0034780_02513572.jpg
EジスPenを使ってみる_1/3
(何回か上塗りしすぐに20分ぐらいドライヤーで乾かす)
a0034780_02221475.jpg
それぞれ少しコストはかかるが、部品の半田付け以外に高熱を必要としないので割と手軽に作れる。
簡単な回路なら初心者がブレッドボードを卒業していきなり玄人っぽく半田付けするよりは敷居は低いだろう。

[PR]
# by k1segawa | 2017-07-16 02:39 | arduino, AVR | Comments(0)

arduinoによるオシロスコープ4 - arduino基板の スペーサ代わりにホットメルトを使う (7/15)

arduinoやIchigoJam、RaspberryPiなどのむき出し基板は、裏の金属部分が床から少し離れるように「スペーサー」というものを取り付ける。
プラスチックや金属製のものがあるが、長さや値段から買うのを忘れてしまいがち。

そこで、100均で買えるグルーガンの溶かす棒(ホットメルト接着剤)を、切ってくっつける。そしてくっつけるにはグルーガンで表の穴に少しホットメルトをたらしてやればいい。

常温でべたべたする事もなく、しっかりとくっつく。

以下はオシロスコープで使ったびんぼうでいいの、の基板に取り付けた様子。
a0034780_10572653.png
12MHzクリスタルの背が高いのが横向いてるのはご愛敬ということで。
a0034780_10573276.png
a0034780_10573944.png
そこそこ綺麗なんじゃない?
長さも自由だし、値段も100円で何十回もとれるし、全然安い。
また熱してやれば取り外しも簡単。

太いのと、長いと強度が下がる欠点はあるけど、単に床に設置させないためにはこれで十分。

100均使えるわー

[PR]
# by k1segawa | 2017-07-15 11:08 | arduino, AVR | Comments(0)

ボードコンピュータの液晶制御が高速処理のピークな理由 (7/11)

arduino や Raspberry Pi などのボードコンピュータが液晶の表示を性能のリトマス試験紙としているのはなぜかわからなかった。
より高性能なCPUにしたりクロック数を上げたりして高精細液晶画面を制御しているのを競っているのが、なぜPCから画像データを液晶へ直接送信せずにわざわざボードコンピュータに送って(または書換可能メモリに保存して)表示させるのか、今の高速なPCならどんな大きいデータでも簡単に液晶に送れてすいすい画像を書き換えられるのだと思っていた。

ところでPCから外部にデータを送信するためには現在はシリアル通信であるUSBやRS-232C、バスであるPCI Express、表示と音声データに特化したHDMIがある。
これらで、ユーザが直接制御出来るのはUSBやRS-232Cであり、それ以外はドライバやOSのライブラリを介して間接制御するしかない。

ボードコンピュータは液晶を制御できるのだから、PCだってUSB2.0や3.1などの高速な通信を使えば軽々液晶を書き換えられる(例えばマスクやグラフィック描画)のではないか。

USBはなかなか難しいので市販のUSB制御ボードを使うとすると、以下のようなものがある。

これのソフト仕様を調べる(ヘルプファイル参照)と、1ビット書き換えに10000回/2500msecぐらいの時間がかかる。8ビット(1バイト)でも10000回/5000msecぐらい。
これはデジタルポートをON/OFFする速度と仮定すると、10000/2.5秒=4000Hz、10000/5秒=2000Hzで書き換え出来る。
USB2.0が480Mbps(1.0が12Mbps)なので、480M/10ビット(8n1)=48Mバイト/sec。プロトコルなので上のON/OFFに変換するとざっくりだが48000000バイト:2000バイトをどうにかできるとして2万4千分の1のデータ効率。

赤外線 搬送波が37kHz程度なのだが、これが上の制御ボードでは全然間に合わない。
でも赤外線のコントロールは昨今のボードコンピュータでは当たり前に出来ている。

USBシリアル変換ケーブルなどを使って、RS-232Cの最大速度115200bpsだと、約1万バイト/sec。8ビット送信できるとして80kHz程度(もう単位とか転送速度とかぐちゃぐちゃだが)は処理できるとしてギリギリ赤外線の制御が出来るかなという所。

USB2.0でハードディスクへのデータ転送が可能になったのだから相当速いのかと思ったが、プロトコル負荷によって赤外線の制御程度がやっとなのか。

PCからUSBで画像データを液晶に直接転送しても4000Hzだと8x8マトリクスLEDのON/OFFでさえも64個のLEDをせいぜい1個当たり4000/64=62.5Hzでしか書き換えられない。秒間62回だ。24fpsが秒間24コマなのに、こっちはLEDをON/OFFするだけにこんなにかかってたら、1コマの画像転送なんてとんでもない。

PCから高精細液晶を制御するのはUSBでは夢物語なのか。USBケーブルのサブモニタは差分データ送信でうまくやってるのかな。

USB2.0 480Mbps=0.48Gbps(ざっくり)
USB3.0 10Gbps
PC Express 3.0 8Gbps
HDMI 2.0 18Gbps

HDMIを直接PCが制御する訳では無くWindowsならDirectXでコマンドをGPUが受け取って膨大なピクセルをCPUコアが書き換えている。

ボードコンピュータが液晶を書き換えられるのは、PCのUSBのプロトコル負荷で通信スピードが上がらないという部分が無いから現実に出来るのであり、ボードコンピュータじゃなければユーザは直接液晶を操作できないのだ。HDMIの転送速度を生かして表示を制御するにはGPUのコマンドをプログラムすればいいが、そこに力を入れるのはちょっと違う気がする。少し前にCUDAとかで流行ったけど。

という事で、PCから外部にデータを高速転送する手段がないため、大量のデータである液晶(表示)書換は、今の所PCからは無理で、そのため液晶を自分でコントロールする気になるためには、ボードコンピュータに制御させるのが手っ取り早いのだ。で、高負荷なのでボードコンピュータはどんどん高性能になって行く。でも痛し痒しでどうしても「ボードコンピュータ」というワンクッションが入ってくる。

ああ、液晶(表示)制御を高精細で極めようとするとPCでは現在のインターフェースでは無理(OSもRTOSにならないと)で、ボードコンピュータでも高性能なちょっと敷居の高い事になってしまうのだ。

やっぱり「表示器」はPC上で行ない、ボードコンピュータはリアルタイムでは表示機能を持たないのが最善手(単体のボードコンピュータはそれはそれで完結していてもいいが)だな。つまりボードコンピュータのネット上での役割はセンサーと物理制御(サーボ出力、リレーON/OFF)だ。

備忘録、備忘録。

すぐボードコンピュータに液晶をつなごうとしてしまうが、単体で完結するもの(ゲームコンソールやなんらかの指標器)を作るとき以外は上の事を思い出して、踏みとどまろう。
まあ、もう128x48のグラフィック液晶買ってきちゃったんだけどね。


[PR]
# by k1segawa | 2017-07-11 22:15 | arduino, AVR | Comments(0)

1995年当時宮崎駿監督がチャゲアスを知らなかった話 - Gigazine : 「宮崎駿」さん - aska_burnishstone’s diary (6/30)

どこかで見た記憶があったが思い出せない、「1995年にチャゲアスの楽曲 On Your Mark のプロモーションビデオとしてアニメとコラボした動画」の説明がGigazineさんに記事にされていた。当時はまだ新しい手法でチャレンジしていく様子が語られている。

最初断った理由が記事タイトルのような事であってその後、発注費用がうなぎ上りになっていっても、発注者はOKを出していって、最後にはジブリから支援を取り付けるぐらいになった様子が、作成した動画と何か共通する物がある感じがして、動画自身にその意味がよくわからなかったのに熱意が乗り移ったような気がする。

a0034780_07105654.png
やっぱり名作だなぁ。


[PR]
# by k1segawa | 2017-06-30 07:12 | Comments(0)

stylebot で Google Chrome を ユーザカスタマイズ (6/28)

大分周回遅れなのだけど、Google Chrome で ブラウザのCSS表現を検出して置換・アクションできるアドオン stylebot を使っている。

自分の場合の使い方は、画像がただの画像なのかリンクなのかを判別して、むやみにリンクを踏まないように太破線の枠で囲ったり、またリンク先のサーバが重くてブラウザの表示完了を遅延させているWeb要素を非表示にしたりしている。

ずいぶん前に作者は開発を停止しているとの記事があったのだが、今の所ストアでも高評価だし、GitHubでソースも公開されている。

同じ様な物に、stylishとかあるが、最近あまり良くない動きがあるのと、UIがちょっとなのでこちらがおススメ。

iframeで分割されたエリアごとどうにかする事はできないがCSS要素で囲まれていれば大体どうにかなる。

広告ブロックが問題となっているが、手間はかかるが同じような使い方が出来る。広告サーバが重かったり大きすぎたりちらついたり配置が悪い広告だけで、マナーを守った広告は問題ない。だからユーザが広告の表示を取捨選択できるのは必要だ。もちろん極端な事を言うわけではない。

使い方は以下のサイト様を参考に。

表示を変えるのも、CSSをちょっとかじっていれば、リンクの枠をbold表示にしたりも簡単。

非表示にするのならGUIでHidenにする。

Adblockはサイトによっては「広告ブロッカーをはずしてください」と表示されるのでこれによって使わなくなった。

[PR]
# by k1segawa | 2017-06-28 14:07 | Comments(0)

流行りの漫画を買ってみた - とある新人漫画家に、本当に起こったコワイ話 | 佐倉色 (6/25)

一部で話題となっているタイトルの本を買ってみた。
a0034780_11571444.png
真面目な人は騙されるまたは騙される方が悪いとか揉めそうな感じだが、内容は213Pで余計なページが差しはさまれていなくてシンプルでいい。
最初の20Pくらいで胃が痛くなる。逆に最後まで読む時は、軽い気持ちでチビチビと読んだ方がいい。

全然絵柄もとっつきやすいし、話し方も普通の常識人だ。軽めに話題を流しているので、重くならなくてこの方、作家の方が向いてる気がする。

さてゆっくり時間をかけて読もう~
たまには紙の本もいいね。


[PR]
# by k1segawa | 2017-06-25 12:07 | Comments(0)

TVの新しいバラエティが最近面白い (6/24)

TVがつまらなくなって全然見なくなって久しいが、AbemaTVをずっと見るようになり、ついでにバラエティにもチャンネルを変えて見てたら意外に面白い。

芸人が新しいバラエティで何が受けるかを試行錯誤して番組の方針を色々探っている感じが、とてもいい。

何か悟り切ったり、ひねくれて斜に構えたり、内輪請けで盛り上がったりせず、ちょっとまずいかな~と少し不安になりながらやっている。

そこに怠慢はなく、騙しやいじめもない。少々の自虐があるだけでスタッフもゲストも含め正直。

見ている視聴者側が、不正やパワハラに敏感で、サイレントマジョリティの圧力がSNSで強くなっている。ネット弁慶の広く薄い人々の意見が拡散されて、そこに受ける番組として今のバラエティが作られつつある感じがある。

ドラマやドキュメントより、芸人を使った何が起こるかわからないニュース番組や、訳の分からない内容だがしかし芸人が必死な情報番組などがとっても面白い。

TOKYO MXとか今まで深夜枠でしか試していないようなセンスの番組を昼に持ってくるのがいい。そして受けなければ次は無い感じで新陳代謝が激しいのがいい。

ライブ感のある番組がやはりネット時代受けるのだろう。

決まったレールに乗ったような手法はもう受けない。それならビデオで検索してやればいいし。

やべー、ネットコンテンツもうかうかしてられないな。

[PR]
# by k1segawa | 2017-06-24 13:38 | Comments(0)

Pinterest と 電子工作 (6/17)

Pinterest という画像によるブックマーク共有SNSサイトがある。
SNSの形態をとっているが、気になった写真をピンでとめてそれを皆で共有・公開するサイトで、同じ興味のある人を繋ぐ感じ。

トップページの検索で、興味のあるキーワードで他の人がピン止めした写真を検索して、自分も共感すればピン止めする。

するとそれ以降トップページでおススメのピンナップが表示される。

これに対して「電子工作」「arduino」「ATtiny」「電気回路」「Raspberry Pi」などと検索すると、

おすすめに電子工作の色々な画像が表示される。

Pinterestのおすすめが秀逸で、ちょっとgoogle検索では出てこないような突飛なケースが発見できて面白い。

google:独自の検索アルゴリズムでページに得点を与え、キーワードと関連付ける
twitter:#ハッシュタグでツイート者が付けるタグで検索する
Pinterest:画像に対してピン止めした人が付けたコメントで検索する

全ての情報を把握するgoogleという勢力に対して別のデータベースを持ち、フラットな検索ルールで情報を提供していて、面白い。
googleではいつも同じになってしまう検索結果が、Pinterestやtwitterではどんどん変化しており、リアルタイムの情報が取り出せるような気が。

新しい事が見つからない時ぜひ。
(自分は日本の電子工作の行き詰まりで使ってる)

google一極の検索世界に風穴が空いた。


[PR]
# by k1segawa | 2017-06-17 01:26 | arduino, AVR | Comments(0)

google cloud platform まず起動 (6/11)

google cloud platform で マストドン - Qitta を起動がうまくいかなかったので、入門本買ってみた。

2014年発行のと、最近出たやつ。

最初Qitta の通りリソースを設定したら、アクセスできなくて詰む(フェッチできないうんぬん)。

2014年の方はCygwinインストールだったので、Qittaの方とちょっと違うので、最近のやつを参考に。

無料枠だったのでf1-micro(0.6GB)じゃないとダメかと思ったら、サンプルの掲示板に必要なpython関係インストール中にディスク容量不足。

んー、しゃあーないからサンプル通りにn1-standard-1(vCPU x 1、メモリ 3.75 GB)10GB固定ディスクで作成してやる。

おお、入った。

GUIはまた少しずつ違っているのでネットワーキングとかトップメニューに出ない(下位のカスケードメニュー内)。

掲示板はうまく動いた。

VMインスタンス名はサンプル通りではなく「instance-1」になってしまったが。

a0034780_21563764.png
インスタンス起動後、フェッチ出来なかったのは、インスタンス作成時に「ストレージ」がデフォルトで「読み取りオンリー」になっていたから。サンプルの手順では読み取り書込み可。

上記のインスタンス作成でもなんか無料っぽかったので、Qittaでも10GBで読み取り書込み可で作ってみるかー。

インスタンスは削除・再作成はこれまでさくっと何回かやってる。1個なら無料だったような気がするのでまた再作成から。

12ヶ月 300ドル(33,000円)分が与えられ、us-central1だと12ヶ月後も残るらしい。
インスタンス1個をさらに追加すると33,000円から1か月25ドル引かれるので、どうしてもインスタンス2つ以上欲しかったら、33,000円の中から気を付けて使えばオーケー。また有料サービスも33,000円の中から消費されるのである程度は使える。



[PR]
# by k1segawa | 2017-06-11 22:02 | パソコン | Comments(0)

NASA Live - Earth From Space (HDVR) ♥ ISS LIVE (6/3)


NASA による 国際宇宙ステーションISS(International Space Station) の ライブカメラ映像が配信されている。


たまにメンテナンスで宇宙飛行士が修理したりするので、本当にその場で60fpsぐらいのLive感で動いている。
a0034780_02073758.png

やばいわー


[PR]
# by k1segawa | 2017-06-03 23:37 | Comments(0)