「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



そうそう。Arduino Uno R4 Minimaで、double型の実装
が、ちゃんとdoubleになっているか、dtostrf関数を使って
確認をしたわけなんだけど、もし、同じ計算をfloat型を
使ったらどういう結果になるのかな?と思って、
追試をしてみた。

想像では、7桁くらいまで3が並んで、それ以降はゼロに
なるんじゃないかな?と。



実際の結果はというと、3が7桁並んだ後に、不明な値が
ずらっと並んだかたちに。

1/3を無理やり2進数で表示したものを、さらに10進数に
変換掛けるときに、換算誤差が溜まったみたいだな。
まぁ、これならこれでもいい。

というわけで、やっぱりfloat型だと7桁あたりまで値が
正しくて、それ以降は信用できないっていうのが見て
とれた。よかったよかった。



あと、クリスタルの精度(50ppm)で周期的にタイマ
割込み掛けたいんだけど、このR4 Minimaはどうやら
CPU内蔵のRC発振の精度っぽいので、外部からピン
チェンジ割込みを掛けたいっていうところまで、こないだ
触れたわけだけど、どうやら、ピンチェンジ割込みの
場合、タイマ割込みと違って、CPU内蔵の分周器使う
みたいなことはできなんだな。

外付けのロジックIC(Dフリップフロップ)なんかを
使って、いい感じに周期を落としてから、それ以降の
実際に行いたい割込み周期は、ソフト的に実現するって
感じになるかな。

簡単な分周器

74HC74とか74HC273なんて感じのDフリップフロップ、
もしくは、74HC393みたいなバイナリカウンタ使えば、
まぁ簡単に実現はできそうではある。(あまり外付け部品
使いたくはないんだけどな)

最近の32ビットマイコンチップとかもそうなんだけど、
インテル系のPC用CPUとかも、クロックが最近内蔵タイプ
になっちゃってるの、なんか理由があるのかな?

クロック源が外に出てれば、発振精度なんかが簡単に
調整できたりするのに。

インテルのCPUなんかは、歩留まりをよくするために、
上位グレードのCPUには適さないものを、下位グレード
用として設定して出荷してたりするだろうから、その際
にクロックもそのグレードに合わせて固定して…なんて
ことはしてたりする気がするんだけど、マイコン用なんて、
どっちかといえば、クロック外付けの方が都合がいい気が
するんだよなぁ。

あと、R4 MinimaをArduino IDEに繋いで動かしてみて、
ふと気づいたことがあったんだよな。

リセットボタン。ぽちっと押すと、どうやら一旦USBの
接続が切れてるみたい。R3までのArduino Unoは、CPU
がMega328でUSB接続周りは別チップっていう形だった
から、リセットがかかるCPU側はともかく、USB側は
リセットかかってなくて、当然USB接続はつながったまま。

R4 Minimaは、CPUチップ内にUSB機能入ってるんだろう
なぁ。それで、リセット押すとUSBの接続も切れちゃうん
だろうな。
(画面見てるとエラーっぽい表示がでてドキッとするけど、
 実害はないみたい)




Raspberry Pi財団が2023年9月28日に新製品「Raspberry Pi® 5」を発表、工事設計認証の取得・表示手順完了次第、スイッチサイエンスウェブショップでも販売予定

株式会社スイッチサイエンスのプレスリリース(2023年9月28日 15時05分)Raspberry Pi財団が2023年9月28日に新製品[Raspberry Pi(R) 5]を発表、工事設計認証の取得・表示手...

プレスリリース・ニュースリリース配信シェアNo.1|PR TIMES

 


Raspberry Pi 5がいよいよ発表になった。CPU、GPUともに
性能がだいぶ良くなってるみたい。新しいスマホ用チップ
みたいのが入ったりしてるのかなぁ?
特に、CPU性能が4に比べて2~3倍って、すごい進歩。

あと、M.2タイプのストレージがつなげるようになったり
(HATを介する必要があるっぽい)、PCIe2.0が使える
ようになったりと、もはやARMコアを搭載したPCと化して
来たな。
電源ボタンが付いたっていうのも、地味だけど何気に
重要な進歩な気がする。

これ、長い目で見ると、本当にPCになって行ってしまう
んじゃないかな?ベンチ掛けても、最新のインテルコア
と肩を並べるような値をたたき出すRaspberry Piが
そのうち出てきたりして。

Windowsに匹敵するようなユーザ層の広いPCの1つとして、
Windows、Mac、Raspberry Pi…という三つ巴の世界線が
やってくるかもしれん。
(それはそれでなかなかに面白い)

あまり馬鹿でかくなっては欲しくない気もするけど、
フルスペックのPCとしてばっちり使えるマシンに進化
するのもいいよなぁ。





駄菓子屋で売ってたような、薄い発泡スチロール板でできた
飛行機をラジコンかしたら飛ぶか、というお話。

これ面白いなぁ。

オイラは、ヘリコプターやドローンとかよりも、なんと
言っても飛行機が好きなんだよな。飛行機のラジコンは、
いつか本気で遊んでみたいと、子供のころから思っている
んだよな。

というか、そもそもオイラが今クルマオタクでいる、
最初のきっかけっていうと、中学生のころに、飛行機に
興味を持って、特に、「ウルトラライトプレーン」って
いう、一人乗りの小さい飛行機にいつか乗って空を自由に
飛び回りたいなぁって思って、そこから飛行機のラジコン
に興味を持って、ラジコン技術(雑誌)を買いあさるように
なって、そこに載ってたエンジンのスペックを眺めたり
していたら、エンジンに興味を持って、そこからさらに
模型用じゃないエンジンに興味を持って、それに加えて
中学時代のクルマ好きの友達の影響もあって、徐々に
クルマに興味を持って行ったんだよな。

免許取ってクルマ乗るようになったころには、気づいたら
モータースポーツ全般好きになってたんだよな。
小学生の頃は、クルマ酔いしやすかったから、実は
クルマが嫌いだったんだけどな。






これはすごいな。188km/hでも死人が出なかったボデー
フレーム。
まぁもちろん、当たり所が良かった、みたいな話があった
んだろうけどな。

それにしても、軽い接触事故から、なんでこんなことに
なっちゃうんだろうねぇ?怖いよな。


コメント ( 0 )




とりあえず、ArduinoをPCに繋いでごにょごにょできる
環境を作ったので、ようやく、Arduino Uno R4 Minima
のdouble型がどういう実装になっているのかを試して
みることに。

とりあえず、double型で変数2個ほど作って、片方に
割られる数、もう片方を商にして、そいつをSerial.
printlnで出力すればいいんだろうとか思ってスケッチを
サクッと書いてみると…

いくつか落とし穴。

まずは、Selial.beginの後に、
while (!Serial) {
;
}
を入れないと、どうやらうまく表示できないみたいだった。

あとSerial.println関数では、直接double型を出力する
ことはできないっぽいな。
調べてみたら、

Arduinoでsprintfの書式とfloatの扱い方、0埋めとか

Arduinoで文字列に変換する関数sprintfを使用する場合のフォーマット指定子一覧の解説と浮動小数点の扱い方(Arduinoでは浮動小数点の指定子が使えません)の紹介記事です。そ...

くろべこblog

 


dtostrf関数っていうのを使って、double型を一旦文字列
(Stringオブジェクトではなく、char配列でいいみたい)
に変換してやる必要があるみたい。

で、出来上がったスケッチがこれ。



void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
double a = 1.0;
double b = a / 3.0;
char buf[20];

Serial.println("start!");
dtostrf(b, 20, 15, buf);
Serial.println(buf);

}

(あぁ、最近のArduino IDEって、html形式でコピー
するっていう編集機能がなくなってしまったみたい。
あれ、何気に便利で愛用していたのに…テキストとして
ブログ記事に貼り付けちゃうと、インデントがなくなって
全部左寄せになっちゃうんだよな。なにかいい方法は
ないかな)

とりあえず、小数点以下15桁表示させてみたんだけど、
ちゃんとでてるみたい。
(実装が、float型だと約7桁。double型だと約15桁)

というわけで、およそ倍の桁が使えるようになった
ので、まぁ精度不足で困ることはないってことだろう。



あとは、R4 Minimaに実装されているクロック源なんだ
けど、IC内蔵のRC発振だろうと思うので、多分精度が低い。

調べてみると、




NJU6319AEっていうのがあるみたい。

水晶発振器用IC(クォーツクリスタル発振器) NJU6319AE (4個入): 半導体(モジュール) 秋月電子通商-電子部品・ネット通販

秋月でも売ってるし、Aliexでも売ってる。結構汎用に
使われているものみたいだな。入手性は悪くなさそう。
しかも、3段までの1/2倍分周期も入ってるやつもある
みたい。(秋月で扱ってるのは「A」なので分収なしの
やつみたい)

このICの出力バッファをトライステートにする端子
(/CONT)って、オープンでいいのかな?これ。内部で
プルアップされてるし。
それにしても、上記のtwitterの使用例の基板。なかなかに
便利そうで欲しいなこれ。

最大で50MHzまでってなってるんだけど、遅い方はどこまで
行けるんだろう?時計用の遅いクロックとかもいけちゃう
のかな?
まぁ、16MHzとかで発振させて、割り込み入力ピンからの
入力を、Arduino側で分周してから割込み掛けさせればいい
んだろうけどな。

とりあえず、Arduino Uno R4 Minimaを使って、double型
で割り算の結果を扱ったり、水晶発振子の精度(50ppm)
で正確な割込みを発生させることが比較的簡単にできる
ことはわかった。

ちょっとブレッドボードで、テスト動作させられる回路
を作って動かしたいところだな。
(その前に、そもそも素のR4 Minimaの発振精度がどの程度
なのかがわかるといいんだけど、計測器持ってないからな)


なんにしても、ちょっと実験してて、R4 Minimaはやっぱり
32ビットコアのおかげか、double型がちゃんとdoubleで計算
されているのでよかった、よかった。
(公式のリファレンスページが古くて、dueではdoubleとして
実装されているよ、っていうことしか書いてないんだよな)





【速報】ホンダが「モトコンパクト」を発表! 電動でモトコンポが再来、価格は1000ドル(約15万円)以下!【東京モーターショー2023】 | Webikeプラス

ホンダがアメリカで「Motocompacto(モトコンパクト)」を発表した。1981年のMOTOCOMPO(モトコンポ)と同じように折り畳み式のボディを採用した電動バイクは、キャリーケー...

Webikeプラス

 


ホンダ・モトコンパクト。

これ、軽くていいんだけど、航続距離が短いな。
車載用としての用途を考えた結果なんだろうけど、できれば
普段使いもできるように、もうちょっと航続距離を長く
できるオプションでも欲しいところなんだよなぁ。

それにしても、かなり軽量に作られているな。これなら、
一人でクルマに載せられそう。


コメント ( 0 )




こないだスイッチサイエンスで注文してたArduino Uno
R4 Minimaが届いた。



あれこれ弄り回す前に、いくつか調べ事とかしておかないと
いけないなと思ってるんだけど、まずはArduino IDEの
アップデートしておかないとなと。

どうやら6月に今のWindows環境をごにょごにょしてた時に
Arduino IDEをインストールして以来だと思うので、当然
アップデート来てるはず。…来てた。



IDEをアップデートして、ファイルメニューからボード
マネージャで、Arduino Uno R4 Minimaをインストール。

アップデートしたのはいいんだけど、最近Arduino IDEを
久しくいじってなかったので、浦島状態になってる。
画面左側に並んでるアイコンなんだろう?と思って1個1個
クリックしていく。ほほう。上から2個目がボードマネジャ
なんだな。アクセスしやすくなっているんだな。ほほう。

で、気になったのは上から4つ目の虫さんマーク。
開いてみると、



変数とかブレークポイントとかコールスタックとか、いろいろ
出てくる。ほほう。
もしかして、R4 Minimaって、USBケーブル1本でデバッガまで
使えるようになっちゃったの?とか期待してたら、さすがに
そうではなかったみたい。

https://docs.arduino.cc/tutorials/uno-r4-minima/debugger

「Segger J-Link」「Ozone」を用意して、SWD経由でデバッガ
の機能を使うみたい。そうなのか。

「Segger J-Link」は結構高いみたいなので、なにか汎用の
ものが使えないものかなぁ?とか思ってるところ。

https://garretlab.web.fc2.com/arduino.cc/docs/software/ide-v2/tutorials/ide-v2-debugger/

まだちゃんと調べきれてないけど、ほかのものを使っても
デバッグができそうな感じはある。

そういえば、

https://www.switch-science.com/products/8708

Raspberry Pi Picoデバッグプローブとかは使えないのかな?




で、まぁデバッグ環境もできれば整えて使えるようにしたい
ところではあるんだけど、今やりたいのはそういうことでは
なく、R4 Minimaが32ビットコアになっているので、これなら
もしかしたらfloat型とdouble型がちゃんと違う実装になって
いたりして、doubleが倍精度で計算してくれているんでは
ないのかなぁ?ってとこ。

ちゃんと倍精度で実装されているなら、いろいろと捗る
ことになりそうなので。

あとでちょこっとテスト用のスケッチ書いてみて、
計算結果を表示させて眺めてみよう。

これまでの8ビット版Arduino Unoとかって、なんでfloat型
しか実装されてなかったんだろうね?

処理速度云々であれば、単に処理が終わるまで待つだけ
だからあまり実装から外す意味はないだろうと思うん
だよな。
Serial.print関数とかキャスト演算子とかが重たくなりすぎ
たりするのをなんとかしたかったのかな?

まぁ、容量もほかの32ビットArduinoボードのように大きく
なったし、処理速度も上がったし、double型が実装されない
理由は見つからないので、多分実装されているんじゃないか
なぁというのが予想。
はたして…

コメント ( 0 )




スイッチサイエンスから、入荷の連絡が届いたので、
ようやくArduino Uno R4 Minimaを注文。

この、いわゆるArduinoボード形状のものもいいんだけど、
Arduino Nano形状のものも欲しかったりするんだよなぁ。

あと、使ってる発振子は多分クリスタルじゃなくて
セラコンじゃないかなぁ?と思って検索してみると、

Arduino UNO R4 MINIMA のハードウェアレビュー

Zenn

 


どうやら、CPU内部の発振回路みたいだなぁ。RCだろうこれ。
もっと発振精度が高いものが欲しいんだよなぁ…。
(パターンはあるみたいだから、外付けはできると思うけど、
ブートローダ自体から書き換える…というか、コンパイルし直す
必要がありそうな気がするしなぁ)

場合によっては、外部発振回路使って、そいつを元にタイマ
割込み掛けるとかって方法も考えないといけないかなぁ。

Arduino UNO R4 Minimaの自作|あるちざんラボ

はじめに Arduinoは”オープンソースハードウェア”& ”オープンソースソフトウェア”プロジェクトなので、Arduino UNO R4も回路図やプログラムローダーが公開されています。 ...

note(ノート)

 


おぉ、自分で基板作って、ブートローダも書き込んで、
オリジナルのArduino Uno R4 Minima互換ボードを作って
いる人が居た!

どうやら、ブートローダ自体はUSB経由で書き込めるみた
だなぁ。
このマイコンチップの細かいことはよく知らないんだけど、
クロック源の選択は、FUSEでやるのかなぁ?それとも
ブートローダのHex自体に書かれているのかなぁ?その辺が
全然わからん… クリスタルを適当に買ってきてポン付け
すれば済むなんて話では無さげ。


できるだけちっちゃい、これと互換性のあるボードが欲しい
んだけど、Nano形状の互換ボードとかって出てないかなぁ?

お得意のAliexを眺めてみると…やっぱり出てくるのは標準
サイズのものばかりだな。
これは!って思って開いてみたものは、Arduino M0互換の
ボード(AtmelのSAMD21搭載のもの)がヒットしたんだ
けど、これはほぼ忘れられた存在だよな。

メモリが大きいだけでよければ、MEGA2560搭載の互換
ボードをAliexで探せばいっぱいヒットするんだよな。
それでも使えなくはないし、その手のボードって、何気に
ちゃんと原発がクリスタルだったりするから、発振精度は
50ppm程度は出ちゃうんだよな。そのくらいの精度があれば、
赤道儀用コントローラとしては事足りるだろう…と。
あと、10ドルくらいで買えちゃうしな。

R4 Minimaにしても、MEGA2560互換ボードにしても、
タイマ割込み周りをどうするかをちゃんと考えないと
いけないんだよな。

いろいろと悩ましいところだなぁ。


コメント ( 0 )




いろいろと実験をしてみた結果、やっぱり故障している
っぽいのは、これまで使ってたBTイヤフォンっぽいので、
イヤフォンを買い替えることに。

で、だいぶ前に読んだ記事で、GEOで売ってるオリジナル
のBTイヤフォンが結構安くてそこそこ使えるとかって話
だったので、あらためて調べてみたら、3000円くらいで
AptX対応のものがあったので、そんなんで十分かな?と。
(BTイヤフォンには音質はあまり求めてない)

GEOオリジナル以外も探してみたんだけど、GEOより
安くてAptX対応のが見つからなかった。

というわけで、買い物ついでに行きつけのGEOまでちょっと
出かけてきて、ブツを探す。…あった、あった。買ってきた。



これ。


で、帰ってきてから充電して、接続テストをしてみる。


まず接続。あたりまえだけどちゃんとつながる。

音量。普通に聞こえる音量で、問題はないみたい。やっぱ、
これまで使ってた安物BTイヤフォンの問題みたいだな。

で、もう一つの課題、遅延。

VLCでムービーファイルを再生してみる。
…うん。遅れる。これまで使ってたのよりは少し遅延が
小さい気がするけど、遅延が明らかにある。0.1秒くらい
かなぁ?

AptXって、そもそもBTバージョンいつから対応してる
のかな?と思って調べてみたんだけど、そのこと自体の
ちゃんと明確に書かれてる説明は見つからず。

ただ、低遅延対応が盛り込まれたのは、BT5.2からって
ことらしい。オイラのスマホは安物エントリー機なので、
BT5.0しか対応してない。
BT5.2で対応したのって、AptX LLのことなんじゃないか
なぁ?と思ってあれこれ調べなおす。

BT5.0世代のイヤフォン(他社製品)とかを眺めてみると、
対応しているコーデックはAAC、SBCだけで、AptXは無い
みたいだな。

ちなみにオイラが買ってきたやつの説明書というか、箱の
裏の説明を眺めると、



BT5.2対応で、AptXにも対応していると書かれてる。
AptXもAptX LLも、5.2から対応ということなのかな…

今のスマホを使っているうちは、宝の持ち腐れになって
しまったようだな。まぁいいや。
(体感的には、前のイヤフォンよりも遅延が少し短い
気はする。多分少し短い)

音質は、以前使ってたのもそうだけど、そんなに良くない。
どうせ、外出先で、がやがあるところでそこそこ聴ければいい
というものなので、音質自体は特に気にしてない。そもそも、
求めればきりがないし、音質を優先したい場合は、有線のを
使えば済む。
(まぁ音質的にも普通に聴ける。大半の人は音質的にそんなに
悪くはないんじゃ?って思う程度ではあると思う)

QRコードからアクセスしてアプリをダウンロード
すると、音質(多分グライコの調整ができるアプリ)が
使えるようになるみたいなんだけど、アプリ入れて云々
するのも面倒な気がするので、多分このまま使う。
(メアド入力とか要りそうなので、それも面倒)

形状的には、ちょっと分厚いのと、上下方向に差があまり
ないので、どっち向きに耳に入ってるのかとかが判り
にくい気がする。左右も区別付きにくいかなぁ。
形状はいまいちピンとこない。

耳からうどんが生えてる絵がなんとなくいやなので、
細長い共鳴管がついているタイプもあまり好きではない
んだけど、低音はあっちの方が当然ながら出やすいんだ
ろうねぇ。でも、出先でイヤフォンで聴く音には、あまり
求めてないので、これでいい。

厚みが増したのが、ちょっとじゃまな感じはあるんだけど、
以前のと違って、シリコーン製のイヤーキャップを付けて
使うタイプなので、耳へのフィットは多分こっちの方がいい。
(以前のやつは、プラスチックのものをそのまま耳に挿す
感じだった)

というわけで、飯時にスマホで聴く音楽とかYoutube動画
とかには、とりあえず困らなくなってよかったよかった。


一つ不満を言うとしたら、本体側のLEDランプが1個しか
なくて、残量表示がされないってところかな。
以前使ってたやつは、LEDが4個で残量表示されるので、
無くなってきたなぁ…というのが表示で判ったんだけど、
これはそんなに細かくは表示されないんだよな。

ケースで3回充電可能って書いてあるから、とりあえず
3回くらいを目安に充電すればいいんだろうとは思うけど。
週2回くらいか。
(多分、この3回って、ほんとはフル充電できる回数の
ことなんだろうけど、毎回ケースにしまうたびに勝手に
充電されちゃうから、それだと3回っていうのは正しくは
無い表現だと思うんだよな)







昨日の、トッキーの件。カマスさんが最後の挨拶動画を
あげていてくれた。
そういえば、トッキーを最初に見たのは、まだカマスさんが
ニコニコで活動してた頃だよな。子猫のころから控えめな
性格だったんだよな。






Chromebook、更新期限が10年になるらしい。これまでの
ような、数年でサポートが切れてゴミになってしまうという
野から比べれば、かなり安心して使えるようになった感が
あるな。
さすがに10年経ったら、Windowsのノートだっておんぼろに
なってるわけで、それ以上を求めるのはどうかなという気が
する。

問題は、いつから10年なのかという点。当然、中古で買ったり
した場合に、買ったときから10年っていうのはないと思う。
新品で買った場合の話になるわけだけど、新製品として市場に
投入されたタイミングからなのか、買った人が最初に認証を
行ったときからなのかによって、型落ち品を買おうとするとき
に、またいろいろもやもやした話が出てきそうではある。




DOOGEE T10 Pro、なかなかに興味深いなぁ。
こういうタブレット端末には、あまりSIM入れて直接携帯電波
掴んで…っていうことは考えてないので、個人的にはWi-Fiだけ
で十分なんだけど、このお値段帯で、付属のペンでペン入力が
できるのはなかなかに良い。
(ただ、ペン入力の遅延がすごい大きいなぁ)

Windowsノートで、ペン入力できて、キーボードが180度
くるっと回転して、タブレット的にも使えるようなものが、
中古でいいから安く手に入るといいんだけどなぁ…。






かなり面白かった。中国が台湾に攻め込もうとすると、
天然の要塞になってて、かなり攻めにくくて、攻めても
相当な痛手を食うから、簡単に手出しできないってこと
みたい。通常兵力なら。

まぁ、最悪の場合は核兵器を…っていう手もあることは
あるんだろうけど、その後の国際社会での影響を考慮
すれば、もちろん簡単には使えない。
(ヴェスターラント虐殺からも容易に想像がつくかなと)

で、ふと考えたんだけど、国連なりなんらかの国際的な
枠組みの中で、「自国」「自国民」に対して核兵器の使用
は禁ずる、っていうことを確約させるっていうのはどう
だろうか?っていうこと。

ウクライナも台湾も、自国の一部と認識するからそういう
攻撃を考えることになるわけで、もし自国と認識して
いるなら、当然核攻撃は無差別な虐殺にしかならないはず
だろうと。

というわけで、それを某国と某国に首を縦に振らせれば、
当然ながらウクライナや台湾に核攻撃はできなくなる…と。

旨い方法はないもんかなぁ。




最近、メインPCの調子が時々おかしい。

グラフィック機能のうち、ブラウザで開いている動画部分
が止まったまま更新されなくなっちゃったり、ビデオ出力が
時々瞬断することがあったり、LAN接続が1分くらい切れたり
することがあったり。

で、ふと思ったんだけど、これ、電源の不安定性によるもの
なんじゃないかな?と。
だいたい、最大負荷を掛けているときに起きているようなの
で、多分そうなんじゃないかな?と。
(あとでもうちょっとデータ取る)

そもそも中古で買った、ビジネス用PCなので、電源自体も
中古品だから仕方ないな、その辺は。

で、電源が原因だったら、新品のHP PC用の電源が3000円
くらいで売ってるみたいなので、それに入れ替えてしまおう
かなぁと。(送料入れて4000円くらいか)

まだこのPCはしばらく使いたいので、電源交換だけで
安定して動いてくれればいいんだけどねぇ。


コメント ( 0 )



« 前ページ