2021年11月12日金曜日

ATmega328P-PUを最小構成で動かす

最近、空き時間にAVRマイコンで遊んでいるのですが、Arduinoボードのように周辺機器や回路を満載せず、最小構成で動かしたいと感じることがあります。

Arduinoボードには、USB-シリアル変換インターフェース、5Vおよび3.3V定電圧電源、水晶発振子やセラミック発振子、電源LEDやD13ピンの"L"と書かれたLEDなど、開発のために便利な周辺部品が多数搭載されています。
ですが、AVRマイコンの電力管理機能を試したり、電源電圧やクロック周波数を変えてマイコンを駆動させたい場合など、これらの回路が邪魔になることがあります。

そのような場合に、少なくともどのような回路構成を組めばマイコンが動作するのか理解しておけば便利です。

今回は、ブレッドボード上に以下の図のような部品配置で回路を組みました。

接続箇所のピンアサインは以下の通りになっています。
1. PC6 (PCINT14/RESET)
7. VCC
8. GND
20. AVCC
22. GND

1番ピンのPC6は、Fuse bit で特に設定しない限り、リセットピンとして使われます。(この設定を変更してしまうとマイコンにプログラムが書けなくなりそう?)
10キロオームのプルアップ抵抗を介してVCCレベルの電圧に接続され、通常はHIGHのレベルで使用します。このピンをGNDに接続してLOWレベルの電圧に落とすと、マイコンがリセットされます。通常はタクトスイッチなどをつなげてリセットできるようにします。

7, 8番ピンは電源用のピンです。本来は0.1μF程度のパスコンをつなぎます(なくても一応動きます)。

20番ピンはA/D Converter用の電源ピンです。一見、A/D変換を使わない場合は繋ぐ必要がないようにも思えますが、データシートによると "It should be externally connected to VCC, even if the ADC is not used." (意訳: 「A/D変換が使用されない場合も、この端子をVCCへ接続すべきです。」)と書かれているので、A/D変換を使用する・しないに関わらず、電源への接続が必要です。

22番ピンはよくわかりません。多分、20番ピンまたは21番ピン(AREF)と対になるGNDな気がします。私が持っている秋月のAE-ATmegaボードでは22番ピンもGNDに落としてあるので、私もそのとおりにしています。

ATmega328Pには、内部クロック源として、8MHzの校正済みRC発振回路と、128kHzのWDT用発振回路の2通りがあります。これらを利用することで、水晶発振子やセラミック発振子などを別途搭載することなくマイコンを駆動できます。また、クロックを1/8に分周する回路も搭載されており、すべてのクロック種別においてオンオフの切り替えが可能です。

マイコンにICSPでプログラムを書く際は、以下のピンアサインが使用可能です。
1. PC6 (PCINT14/RESET)
17. PB3 (MOSI/OC2A/PCINT3)
18. PB4 (MISO/PCINT4)
19. PB5 (SCK/PCINT5)
プログラムの書き込みには、AVRISPや各種USBシリアル変換IC、Arduino as ISPなどが使用可能です。

参考元(Microchip社のデータシート)
https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf

2021年10月26日火曜日

楽天モバイルのエリア・つながりやすさと今後の展望

はじめに

2020年の4月にサービスを開始し、1年半が経過した現在の楽天モバイル。エリアが充実してきた印象ですが、他のキャリアと比較すると明らかにつながりにくいのが現状です。
楽天モバイルのつながりにくさは、他のキャリアと性質が異なります。他のキャリアでの「つながりにくい」とは、いわゆる輻輳を指すことが多いように見受けられます。一方、楽天モバイルの場合、エリア展開に穴が多く、そもそも物理的に基地局に安定接続できず、「つながりにくさ」を生んでいるというのが、個人的な所感です。

自宅での接続状況

現在私が使っている端末の機種は、ソニーのSIMフリースマートフォン「Xperia 1 II」です。楽天モバイル公式サイトの対応機種一覧には記載されていませんが、楽天回線エリアで使われるBand3と、パートナー回線エリアで使われるBand18/Band26に対応しています。(5G NR n77で楽天回線エリアの5Gを利用することはできません)

自宅付近(TAで推測するにおよそ1km以内の圏内)に2~3カ所の楽天自社基地局があるようですが、自宅内ではアンテナピクトの「4G」がついたり消えたりを繰り返し、時には圏外になるといった動作をします。
おそらくですが、基地局への接続を試みるも失敗している、という動作を繰り返しているのか、それとも接続成功するも不安定で、ハンドオーバーを繰り返すという動作のどちらかを行っているものと思います。

自宅に最寄りの基地局が直線距離で150~200m程度の距離にありますが、障害物が多いからか、電波がかなり減衰して自室内まで満足に届かないようです。基地局から送信される基準信号の受信電力レベルを示すRSRPは、自宅のすぐ外で-104dBm~-110dBmを示すのに対し、自宅内だと-118dBmと大きく減衰しています。家の壁などの構造物による減衰を受けていることがわかります。
基地局までの見通し範囲にも家屋などの障害物が多く、それによる減衰の影響を大きく受けているのではないかと疑っています。

また、あまり意識されませんが、セル通信では下りと上りで送信出力が異なります。下りでは数十ワット程度、ときには100ワットを超える送信出力で運用されることもあるのに対し、端末から基地局に向かう上りリンクでの送信出力は1ワットにも満たない小さなものです。そのために、基地局からの下りリンクが十分に掴めたとしても、端末からの上りリンクが十分に基地局まで届くとは限らないのです。
実際、自宅で楽天回線を運良く掴めた場合、下りの通信速度は実測値で30Mbpsを超えますが、上りの通信速度は0.2Mbps程度と遅く、パケットロスも多いようです。このことから、上りリンクが基地局まで十分に届いていないのではないかと推測しています。

さらに困ったことに、どうも楽天自社回線の電波が多少弱くても、パートナー回線ではなく自社回線を優先して使う制御がなされているような挙動をします。パートナー回線で通信していても途中で自社回線へ切り替わることがありますし、自社回線への接続が失敗すると、パートナー回線に切り替わることなく圏外表示になることがあります。この挙動にはウンザリしています(楽天モバイルが公式で販売している機種ではないため、そうした細かい挙動まではサポートされていませんが...)

こうしたローミングまわりの挙動が怪しいことから、なるべくなら楽天が自社でローバンド(1GHz以下のバンド)を運用してほしいよね~とつくづく思います。

現在のエリア展開

楽天のつながりにくさを生んでいるのは、エリア展開の穴が多すぎるからだと考えています。穴が多すぎるというのは、一見エリアマップ上では提供エリア内に見える場所でも、実際には電波が弱い場所、届きにくい場所といった「穴」が非常に細かく点在している、と言い換えられると思います。

エリア展開の穴が多すぎるという仮説は、基地局数によって裏付けられると考えます。
こちらの2021年9月27日の日経クロステックの記事では、既に楽天回線として電波を発射している基地局が3万局近いとあります。
一方、2021年8月4日のASCII.jpの記事では、ソフトバンクがプラチナバンド(1GHz以下の周波数帯)の割当以前にエリア展開で苦労したことについて触れ、「総務省に「(プラチナバンドの割当は2GHz帯を)使うだけ使ってから」と言われた」「2GHz帯で15万局、最終的には18万局と基地局を立ち上げた」とコメントしています。

2年にも満たない期間でこれだけの基地局を立ち上げた楽天モバイルのスピード感には脱帽ですが、他のキャリアと比較すると絶対数では未だにお話にならないのが現状です。

また、楽天モバイルには、サービスが提供されていないエリアも広く残されています。既存エリアでのつながりやすさを高めることだけではなく、新規エリアを開拓していくことも重要な課題です。

今後の展望

楽天モバイルは現在世界的な半導体不足の煽りを受けて基地局整備計画に遅れが出ています。
2021年10月4日のケータイWatchの記事では、建設が完了しているが半導体不足の影響で開局が遅れている基地局が1万局程度あるとしています。半導体部品の到着予想が年末頃とされており、人口カバー率96%を達成するのは2022年3月頃と予想されています。

一方、上記で挙げた、楽天モバイルが既にサービスを提供しているエリア内の「穴」問題について、楽天がどう捉えているのか、一人のユーザーとしては分からない部分もあります。エリア内にも電波が届かない場所があるという現象そのものは楽天モバイル側も認識しているはずですが、具体的にどこに電波が届いていないのかについて把握を進めているのかは不明です。そのうえ、今の楽天モバイルにとって、こうした細かな「エリアの穴」に対して対処する体力があるかというと、それも期待できないのが正直なところです。

また、エリア改善要望を伝えても、具体的な対応策が示されないことについても、ユーザーの立場としては不満があります。my 楽天モバイルアプリのエリア改善要望フォームで自宅に電波が届かないことを伝えても「Rakuten Casaの設置をおすすめします」の一点張りです。Casaはフェムトセルに分類される基地局で、利用には高速インターネット回線の契約が必要。店舗やオフィスに設置して客や従業員に楽天回線エリアを提供するならともかく、個人が自分で使うためにCasaを利用するメリットはほとんどありません。

その他に気になることですが、楽天モバイルは4G用として全国で使える1.7GHz帯(20MHz幅×2)のほかに、東名阪以外の全国で5Gエリアを構築するための1.7GHz帯(20MHz幅×2)の新規割当も2021年4月に受けています。こちらに関しては現在動きが見られません。4Gを20MHz幅×4で運用しているという情報も見られません。東名阪で使えず、周波数帯も既に展開しているものとほとんど同じという不利な条件で、かつ割当を受けてまだ日が浅いとはいえ、今後の動向が不明です。

所感

最初は新しいおもちゃのつもりで軽い気持ちで楽天モバイルを契約。当時はインターネット回線としてUQ WiMAX2+を契約していたので、サブ回線としてもほとんど使っていませんでしたが、WiMAXを解約してからはデータ通信用に頻繁に利用しています。楽天の通信品質を未だに信用していないので、メイン回線としてdocomoのシェアパック契約も併用し、双方の長所を良いとこ取りする使い方をしています。

私自身が情報系専攻でネットワーク構築に興味があることから、楽天モバイルのエリア拡大は大いに応援したくなる立場です。既存の3キャリアによる独占や癒着を崩すという意味でも楽天モバイルに期待しています。

しかし、自宅が楽天回線エリアになるまでは、やはりお金を落とすことはできないなと感じています。私の楽天モバイルの契約時期が2021年2月なので、無料期間終了が2022年の2月末。同年3月1日からは月額3000円弱の課金が始まりますが、それまでに自宅でスムーズに利用できるようになるとは到底思えません。

半導体不足によるエリア整備の遅れが来年度までに解消されるかというと怪しい気がしていますし、楽天モバイル側が自宅周辺の通信状況を認識しているかというと、それも怪しいです。
どうしようかなあ。課金開始までに自宅周辺で繋がらなさそうなら解約するなり他のキャリアを追加契約するなり検討しないといけないかなと感じています。

2021年10月8日金曜日

Linuxサーバーの近況

ちょうど10ヶ月くらい前に、 Ubuntuサーバーの現状と今までにやったこと、今後のToDo という記事を書きました。あれからもう一年経とうとしてるんですね。はえーもんだわ。

その当時は自宅サーバーやりてえなあって思ってたんですが、今では普通に某石狩県のVPSを契約してそこをWebコンテンツ置き場にしています。自宅のLinuxマシン(昔買ったNEC Mate)は実験とお遊び用です。ラズパイ3Bも手元にあるんですが、ちゃんとしたPCのほうがサクサク動いて使い勝手がいいので、今はラズパイは電源切ってあります。
(つーか、このラズパイ、借り物なんだよなあ。どうしよ...)

VPSですが、今はnginxとMkDocsとRedmineが動いてます。nginxは静的Webコンテンツの配信とリバースプロキシを担当し、MkDocsとRedmineはDockerコンテナ上で動作し、nginxのリバプロを経由して外から通信できます。サーバー運用で一番手間掛かってるのがnginxのコンフィグファイルの作成と調整だったりしますが、それを除けばDockerのおかげでホイホイとサービス建て放題になっててめっちゃ楽です。そのうち自己紹介ページをテコ入れして、Webアプリ開発の勉強しつつ、片手間でおひとりMastodonサーバーもやりたい。

最近導入したのがCloudflareです。DDoS対策に必須と聞いていたので早く導入すべきでしたが、つい数週間前くらいにようやく導入しました。実際やってみると簡単なんですけどね。
CF導入と同時にセキュリティも見直し、TLSバージョンを1.2-1.3のみにし、HSTS有効化。もちろん、オリジン-エッジ、エッジ-クライアントのすべてでhttpsが使われるようにしています。

サーバーをいじっていて思うのですが、どんな便利な技術も、右も左もわからないところから最初の一歩を踏み出すまでが大変です。一度理解してしまえば「なーんだ、こんなに簡単なことだったのか」と思うんですが。
自分の場合、サーバーをいじるときは事前学習と実作業の時間配分はだいたい8:2くらいだと思います。情報収集に一番時間をかけて、何をすればいいかの段取りを掴まないと作業に取りかかれないタイプです。

2021年5月16日日曜日

普通車教習で仮免試験に一発合格してきたレポート

こんにちは。たかみやです。
先月、普通車教習ではじめてマニュアル車に乗ってみたレポートという記事を書きました。それから約1ヶ月、ようやく仮運転免許が取得できたので、第一段階の教習から修了検定までの流れを書いてみたいと思います。

■第一段階の教習の振り返り
第一段階では、所内で基礎的な運転技術を身につけ、路上に出るための仮免許を取得することが目標になっています。第一段階の教習の難関ポイントとしては、S字、クランクなどの狭路の走行、坂道発進あたりが鉄板だといわれています。
わたしの場合ですが、クランクと坂道発進は、第一段階を終えるまで一度もまだ失敗したことがないです。ですが、S字の通行では何度か失敗しました。日によって成功する日もあれば失敗する日もあり...という状況。
そして、それ以上に教官から指摘されたのは、交差点の通行や左折です。交差点の通行速度が速く、特に徐行すべき状況で速度が作れていないという点が一つ。それから左折時の巻き込み確認が遅く、「あなたは巻き込み確認の動作をしたふりをしているだけで、それは巻き込み確認になっていない」という指摘を耳にたこができるほど頂きました。みきわめ前にも、みきわめでも、修了検定でも言われました。
人によって苦手な点は色々あると思いますが、わたしの場合、右左折や進路変更時の安全確認が最も苦手としているようです。これらの項目が教習課題に入ってきてから、上達が止まってしまい、スランプに入ってしまったような感じがあります。
運転中の危険予知は得意なほうだと思っていたのですが、どうも安全確認の仕方というのがしっかりと身につかず苦労してしまっている感じがあり、さらに安全確認の不足を何度も教官に指摘されているうちに疑心暗鬼になってしまい、必要ない場所の安全確認を行ってしまい、一つ一つの動作が稚拙になってしまっていた節があります。

■修了検定の振り返り
第一段階の項目を終了して仮免許を取得するために、指定自動車教習所内で行う技能試験のことを、修了検定と呼びます。ちなみに、本免許を取得するときに受けるのは卒業検定といいます。
この修了検定は結構落ちる人も多くヤバいと聞いていたので、すごくビクビクして、過度に緊張しながら受けました。
検定内容は説明するまでも無いですが、100点を持ち点とした減点方式で、70点未満で不合格であること、運転操作にミスがあれば、そのミスの重大性に応じた点数が減点されていくこと、大事故に繋がりかねない致命的なミスがあれば一発で検定が中止され、点数の如何によらず不合格となること、などがその概要です。
わたしの場合、かなり過度に緊張して受けていたので、クラッチを踏む足がガタガタし、きちんとクラッチを繋げず、終始不安な気持ちで受けていました。クラッチをずっと踏んでいるのがキツかったので、交差点で止まるたびにニュートラルに入れていましたが、途中一度だけローギアに入れることができず、発進に手間取ってしまいました。エンストも1回してしまったし、左折時の巻き込み確認もスムーズにできず減点されています。
ですが、結果は一発合格でした。噂に聞いていたとおり「脱輪しなければ受かる」「検定中止にならなければ大体受かってる」などの話は本当なんだろうなあ、と思いました。

■学科試験の振り返り
学科試験は実はほとんど苦労していません。効果測定も5回受けて4回合格ラインに達していましたし、その割に学科の授業は話すら聞いていなかったし......。特段勉強していたわけではないですが、高校の時から暇さえあればスマホのアプリで原付学科とか普通車仮免の学科とか解いて遊んでた時期があったので、たぶんそのせいだと思います。まあ、普通はちゃんと真面目に学科試験の勉強しといたほうがいいと思います。
学科教習ですが、集中力があるなら真面目に聞いた方が良いと思います。教官がたまにさらっと超重要なこと喋ったりするので、それ覚えるだけで難しい問題が一気に簡単に解けるようになったりします。でも、はっきり言って学科教習はつまらないし、退屈するし、話聞くだけだし、演習とかないし。学科を1時間受けるより自主勉強を30分やるほうが試験対策としては手応えがあるように感じました。
なので、学科は1日に4コマとかまとめて適当に受けて、あとは効果測定受けたり苦手分野を自分で対策したり、そんな感じで学科試験をクリアしました。
効果測定より本番の問題のほうが簡単だったりもするので、効果測定に1回落ちたくらいで心配しなくていいと思います。傾向と対策を掴むことと、一度間違えた問題をもう一度間違えたりしないように復習することに注意したほうがいいと思います。

■余談
GW明けから生活リズムが崩壊して、いわゆる五月病みたいな状態になっていました。そんな状態だったので、みきわめにも修了試験にも、徹夜明けで一睡もしていないというエクストリームなコンディションで挑んでしまいました。学科教習の第1教程「運転者の心得」では、過労運転をしてはならないということが教えられますが、わたしはその過労運転を教官の目の前で2度もやってしまったことになります。そんな追い詰められている状況のわたしでさえ、みきわめにも修了検定にも一発で受かってしまったので、まあこれから修了検定を受ける人は、極度に怖がることはないんじゃないかなあと思います。普段通りの運転をいかにこなせるかが合格への鍵です。あと、睡眠はきちんと取ることをおすすめします。いやマジで。

2021年4月11日日曜日

普通車教習ではじめてマニュアル車に乗ってみたレポート

たかみやです。
普通車MT免許の取得を目指して先月から自動車学校に通っていますが、3月中は教習所が繁忙期だったようで、全く教習を受けることができませんでした。
今日になってようやく、初めての実車教習を受けることができたので、ブログに軽くまとめたいと思います。

■自分のスペックなど
車の教習は人によって進み具合の遅い早いがあると思うので、参考までに自分の情報も書いておきます。
・年齢: 20歳
・所持免許: なし
・運転経験: なし(私有地含め)
・車への興味: 若干あり
ちなみに頭の回転が遅く、咄嗟の反応が鈍く、マルチタスクはかなり苦手。
ODテストの結果は2Dでした(読み方わからんが...)。

■乗車から発進まで
初めての実車教習ということもあり、MT車が普段止まっている場所だったり、荷物の載せ方、前方と後方の安全確認などを教わり、車内に乗り込みました。
荷物を載せるのは左側の後部座席で、車の近くを通る時は車の後ろではなく前を通ることなど、細かいですが教習所内での決まり事などを確認。
車内では教習を受けるスケジュールなどを話し合ったり、軽い雑談をした後、いよいよ車の操作に入っていきます。
シート位置の調整や、ミラーの角度調整なども教わりながら、クラッチ操作、シフト操作、パーキングブレーキの操作についておさらいしました。

その後、教官から「自分で運転するのと運転の様子を見るのはどっちが良いか」と聞かれます。早く運転したかったので、自分で運転するほうを選びました。自信はなく、心臓がどっきどきです。

イメージトレーニングした通りに、「ブレーキを緩め、アクセルを煽って、半クラッチを入れて...」とするわけですが、これが難しいのなんの。

まずアクセル。ちょんと軽く踏むだけでも、ブオーンと威勢よく吹き上がってしまいます。教官から「それは回しすぎ」と注意されますが、なかなかうまく調整できず苦労。
それからクラッチですが、半クラッチに入れること自体は難しい事ではないのですが、そこから滑らかにクラッチを繋ぐのが難しいというのが一つ。また、足の感覚だけでは半クラッチに入ったかどうかよくわからず、クラッチを早く繋げすぎちゃうことも。

それが合わさった結果、ブオンブオンと脈打つようなエンジン音をけたたましく鳴らし、ギクシャクギクシャクとぎこちなく加減速を繰り返して発進する、という有様になってしまいました。

とはいっても、最初からMT車をちゃんと発進させられる自信は全くなかったので、車がこうして動いてくれただけでもすごく感動してしまいました。

■コース走行
初日では、発進と停止だけをひたすら練習するのかと思っていましたが、コースの外周も軽く走ってみることになりました。
まずは1速に入れたまま、外周を20km/h程度で流します。このシフトポジションでは非常にトルクフルな走りをしますが、同時にアクセル操作に対して加速度が非常にシビアに反応してしまうため、ギクシャクとした走りになってしまい、運転が難しいと感じてしまいます。

そこで「2速に入れてみよう」と指示を受けます。クラッチを踏み、2速に入れて戻す。加速チェンジでは、クラッチの操作が多少雑でもスムーズに繋げちゃいます。
2速では、アクセルを少しくらい強く踏んでしまっても、1速の時ほどギクシャクした走りにはなりません。シフトポジションによってアクセル操作はこんなに変わるんだなあという感じです。

2速に入れたまま坂を登ったり、今度は1速で坂を下りたり、前を走るほかの教習車についていったり、コース内の色々なところを走って、最後に駐車場内で低速域での走行を練習して終わりです。

■初エンスト
駐車場内で発進と停止の練習をしていたところ、クラッチを早く繋げすぎてしまいエンストしてしまいました。エンストは実はこれが初めて。意外にもエンストの時の衝撃や振動は小さく、車内が静かになってしまって初めて「あ、エンストしたのか~」と気づく、そんな感じです。
慣れるまでは、MT車でのエンストについては通過儀礼だと捉えていたので、特に慌てることもなかったです。クラッチとブレーキを踏んでエンジンを再始動して、教官が指示する場所に車を停めました。
その後の駐車は、教官にお任せ。まだ低速域で確実に速度を調整できない段階なので、駐車を任せるのは危険だと思われたのかも。もっと上手かったら駐車もさせてもらえたんかなあ。

こんな感じで、初回の教習は無事に車を動かせてとても楽しかったです。

■レビュー
今回気づいたことはいくつかあります。
まず、実際に自分が運転をしてみると、他人が運転するとき以上に、車の体感速度は速く感じてしまいます。そのために焦りも生じ、余裕を持った視界確認や運転操作ができないということ。

また、カーブでうまくハンドルを切れなかった時に、ついブレーキではなくアクセルを踏もうとし、危険な操作をしたとして教官に注意されたこと。車を安全に動かすことよりも、エンストをなんとか回避したいという意識が働いたのかな?と思うんですが、人間は焦ると正常な判断ができないということをよく理解しました。アクセルとブレーキの踏み間違えはよく事故の原因にもなりますが、無意識のうちに踏み間違える以外にも、こうした判断の誤りによって踏み間違えるケースもあるのではないかと気づきました。

そのほか、ペダル操作については事前にある程度イメージトレーニングをしていたのでなんとかなりましたが、ハンドル操作は練習が足りず、ぎこちなさについて指摘されました。なかなか練習が難しいんですよね。いい練習方法があれば教えてください。


というわけで、今回はこの辺で終わりです。
まだまだ初めてなので今後もスムーズに進めるのかは分かりませんが、できれば今後も教習を受けた体験などをブログに残していけたらなと思います。
ここまでお読みいただきありがとうございました。

2021年3月31日水曜日

メガネからコンタクトに変えてみて気づいたコンタクトのメリット・デメリット

 私は小学3~4年生の頃に視力を悪くして以来、ずっとメガネを着用して暮らしてきました。裸眼視力はかなり低く、今ではもう0.1を切っているはず。中学生の頃からメガネなしでは生活もままならないほどの視力になっていたので、周囲には「メガネの人だ」と認識されていたでしょう。

しかし、メガネを付けているとどうしてもメガネが曇ったりして視界が悪く、集中力の妨げになったり、道路を歩いているときなどに危険を回避するのが困難になったりします。特に近年は感染症対策でマスクを着用するため、普段からずっとメガネが曇るようになってしまいました。
そのほか、見た目上の印象を変えてみたいなあと思ったのも、コンタクトに切り替えようと思ったきっかけの一つです。

■コンタクトを買うまでの流れ
コンタクトレンズは、眼科で医師の診察を受けてからレンズを購入するのが一般的だと思います。眼科での診察はお医者さんによって違うと思います。私の場合は以下のような流れでした。

1. 眼の屈折度と眼圧を機械によって測定する。この間、メガネのレンズの度数も測ってもらいました
2. 裸眼、および矯正用レンズを付けて視力を測定
3. 医師によっていろいろ診察を受ける(何を検査してるんだろう?)。特に痛みを伴う検査はありませんでした。私の場合、アレルギー性結膜炎の疑いを指摘されました。
4. レンズを装着してもらう。はじめての人は片目にレンズを入れるのに15分弱かかるかも?
5. 両目にレンズを入れたら、眼に適合しているかを医師に検査してもらう
6. 目に合わない場合、レンズの種類を変えて再び医師の検査を受ける
7. 適合するレンズが見つかれば、装着練習を受ける。片目にレンズを入れて外すことができればレンズの購入許可が出るらしい。はじめての人は片目で10分くらいは苦戦すると思います。多分
8. レンズが買えたよやったね!

私の場合は適合するレンズがなかなかなく、5と6の間を何度も繰り返していました。また、はじめてレンズを入れるのも非常に苦戦しました。大変でした...
ちなみにですが、私が行った眼科はコンタクト販売店と隣り合わせになっていたので、特に処方箋のような物は受け取ることなく、コンタクトの購入までスムーズに進みました。

■コンタクトの付け外しと付け心地について
コンタクトレンズには色々種類があり、種類によって扱い方も付け心地も違うと思います。私が買ったのは「ワンデータイプのソフトレンズ」なので、他のレンズの場合はあまり参考にならないかも。
レンズを付ける場合、外す場合のどちらとも、痛みを伴うことは通常ありません。
ただ、レンズを外すのがすごーく難しいです。コンタクトレンズって、目にめちゃくちゃくっつこうとするので、はずそうとしてもなかなか外れてくれないので。しかも、正しく外さないと目を傷つけることになります。コンタクトレンズをはじめて付けてから1週間くらい経つんですが、まだまだ慣れません。というか、上手に外すの無理なんですけど❗❗って心の中で絶叫してます。
付け心地ですが、まるでレンズを付けていないかのような楽な付け心地です。レンズが大きくズレるということもなく快適です。ただ、乾燥はどうしても気になります。ほとんどの人は、目を潤すための目薬を携行しているのでは。私も買いました。

■コンタクトレンズを使って感じたメリット
・夜の景色がめちゃくちゃ綺麗
夜の街を歩くたびに毎回感動しています。メガネの場合だとどうしても、レンズ表面の微小な汚れによって曇ったように見えたり、光源の光芒が綺麗には見えなかったり、くすんだような色になって見えたりします。
ですが、コンタクトレンズだと、暗いところはしっかり暗く、明るいところはしっかり明るく見えるのでコントラストが高く感じられ、イルミネーションの色も原色に近いハッキリとした色に見えます。光芒もとても綺麗。

・レンズが曇らない
メガネの場合はマスクを着用していると曇るんですが、コンタクトレンズの場合はこれがないので、マスクとの相性は抜群です。また、メガネは使ってるとすぐに汚れますが、コンタクトレンズでは、見え方に影響するような汚れは起こらないと思います。

・がんばれば垢抜けるかも(きっと)
私見ですが、コンタクトに変えただけで垢抜けるかというとそう簡単な問題ではなく、髪、眉、服装全部見直して整えなければきびしそうです(多分)。イメチェンしてえ

■コンタクトレンズのデメリットとか弱点とか
・水に弱い
これはもしかしたらソフトレンズかワンデーレンズだけの話かもしれないんですが、涙液によって保護されているレンズなので、外部からの水の浸入とかには弱いらしいです。コンタクトをつけたまま入浴とか水泳とかはちょっとダメそう。水濡れしたレンズはすぐに交換する必要があるらしいです。
普段の入浴でも使えるかなあと思ってましたが考えが甘かったです。

・付け外しに時間がかかる
慣れると多分一瞬で付け外しできるはずなんですけど、慣れないうちはキビシいです。とはいっても付けるのは外すのに比べて難しくないので、朝の貴重な時間が奪われずに助かってます。

・付け外しで目を傷つける可能性がある
レンズを付けるのはそんなに難しくないので良いですが、レンズを外すのが難しいです。どうしても指が目の表面に触れるので、手こずると目を傷つけちゃいそうです。ぼくも取り外しに苦戦してるので、目が傷ついてるかも

・つけたままうっかり寝るとヤバい
電車やバスで移動中にコックリコックリしてしまう程度なら正直そんなにマズい自体にはならないですが(経験済み)、割とガッツリ目に睡眠してしまうと目にレンズが張り付いて大変よろしくないらしいです(未経験)。
眼科にGO! しなくて済むように、少しでも寝る場合はレンズを外しましょう。「寝ないから平気平気...ちょっとだけ...」とか言いながらベッドに横になったりすると悲劇の始まりなので、少しでも横になる場合は必ずレンズを外すというマイルールを作って守るようにしています。

■コンタクトを買ってよかったか?
結論から言うと、買って満足しています。
私の場合、マスクをしている間にメガネが曇るという大きな不満点を抱えていたので、その不満が解消されたのも大きいです。
ランニングコストが今のところ気になります。まだコンタクトに慣れていないので、ワンデーレンズを毎日使い捨てていますが、これが最もコストがかかります。今後は2週間交換タイプのソフトレンズに移行すると思うので、今後はコストの負担は下がりそうです。

2021年3月21日日曜日

ArduinoでLEDテープを光らせる

 最近大学の研究室に顔を出したら、このようなものを発見しました。


よくわからないLEDテープ。フルカラーLEDが144個繋がっています。
聞いたところによると、5V駆動で、割と大電流を消費するとのこと。

持ち帰って動かしてみてもよいということなので、しばらくお借りすることに。

今のところ分かっている情報は、「5V駆動であること」「3ピンで、うち1ピンが制御用端子であること」「PWM制御?らしいこと」「フルカラーでアドレサブルであること」などの情報のみ。
なんだか、パソコン用のARGBテープみたいですよね。

ですが、どうやら、Adafruit社のNeoPixelというLEDテープの同等品みたいで、NeoPixel用のライブラリを使用して、簡単に制御できることが分かりました。

回路を組んでみます。

5Vで大電流を流せる電源は、選択肢が限られます。例えば、ArduinoやRaspberry Piから取れる5V電源では電流が足りません。
今回は、以下の写真に示すようなケーブルを作り、パソコン用のATX電源の5V系統から電源をもらいました。PS_ON端子とGND端子をクローズしてATX電源をONするスイッチと、5VラインとGNDラインから電源をもらう線をつけています。
電線1本あたり5A程度流せると見積もったので、まあ十分でしょう。このLEDテープが何アンペア消費するのか、結局測定できていませんが...。

制御回路は適当につなぎました。外部電源のGND電位と、制御に使うマイコンボード(Raspberry PiやArduino等)のGND電位は揃うようにします(そうしないと制御端子の電位が浮いてしまうため)。5Vの電位は揃えていません。

まずは研究室からお借りしているRaspberry Pi 3Bで点灯させてみました。

綺麗に光っているように見えますが、光り方がまばらで、端のほうは点灯していません。どうやらこのLEDテープは制御端子の信号レベルが5V必要で、Raspberry Piの3.3Vレベルの制御信号ではうまく光らないみたいです。
レベル変換回路を組めば光らせられるのでは無いかと思いますが、部品の手持ちが無かったので今回はパス。

次は、手持ちのArduino互換機で点灯させてみました。

部屋を暗くして撮ったので肝心のマイコンが写っていませんが、端から端まで綺麗に点灯しています。この写真は、144個すべてのLEDチップをそれぞれランダムな色で点灯させている様子です。


今回書いたプログラムはこのようなものです。
NeoPixelおよびその同等品のLEDテープを制御可能な、FastLEDというライブラリを用いて簡単にコードを書けます。FastLEDはArduino IDEの「ライブラリを管理」という画面から導入できます。

ATmega328P-PUを最小構成で動かす

最近、空き時間にAVRマイコンで遊んでいるのですが、Arduinoボードのように周辺機器や回路を満載せず、最小構成で動かしたいと感じることがあります。 Arduinoボードには、USB-シリアル変換インターフェース、5Vおよび3.3V定電圧電源、水晶発振子やセラミック発振子、電源...