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



昨日やらなかったことを消化。

ESP32のADCで、アッテネータの設定を変えると、速度が
変わるかどうかの確認。

0dBでサンプリングしたときと、-11dBでサンプリング
したときで、速度が変わるかを、それぞれ32768サンプル
ずつADCを行ってみて、その時間から1サンプルあたりの
速度を比較してみた。
(for文でフリーランさせて、トータル時間をサンプル数
で割って計算)


結果、どちらも、1サンプルあたり37μ秒なので、1秒間
あたりのサンプル数は、26489spsと出た。アッテネータ
の設定は影響がないみたいと判る。

for文の処理時間も含まれているんだけど、実用としては
タイマ割り込みでやりたいので、そのオーバーヘッドを
考えるとfor文より重いだろうから、実用上は20000sps
くらいかなぁ?

とりあえず、やりたいことの道がひとつ開けた。

次は、タイマ割り込みでサンプリングして、sin波とかが
崩れずにサンプルできるかとか、その辺を試してみよう。





https://headlines.yahoo.co.jp/videonews/fnn?a=20180724-00397030-fnn-bus_all

やばい。日本キャベツ党党首の座を狙っているオイラ
としては、毎日バリバリ食べるキャベツがじりじりと
値上がりして行ってて、ピンチ状態。





https://headlines.yahoo.co.jp/videonews/nnn?a=20180724-00000036-nnn-bus_all

やばいじゃないか。日本車が2050年までに、全部
電動車に。

それはもはや、自動車とは違う別の何かだ。そうだ。

ちなみに、この2050年って、平成の次の元号って
ことでいいんだっけ?





ふと探してみる。Raspberry Pi Zero Wって、単体で
手に入るようになったんだっけ?と。

https://www.switch-science.com/catalog/3200/

スイッチサイエンスでは、もう在庫ありって書いてある
んだけど、普通に買えちゃうのかな?

まぁ、最近弄ってるのは初代のモデルBで、それでもう
だいぶ満足なので、あまり買い足さないといけない
要件はないんだけど、省電力だし、あるなら使いたいな、
くらいなんだけど。

どっちかって言うと、3か3+が欲しかったりする。





http://turupura.com/gessyoku/kako/20180728/g180728.html

月食、東京付近だと、皆既開始の時点で2.5度。単純計算
で、その5分後くらいに月が沈み始めて、7分後くらいには
月没って感じかな。

http://koyomi8.com/directjp.cgi?http://koyomi8.com/sub/moonrise.htm

ここ使うと、AM4:50月没と出てくる。大気差が計算に入って
いるのかわからないけど、この計算だと皆既開始から20分後
ということになるみたい。大気差とかあるのかな?





http://www.akibaoo.co.jp/c/item/4532141141350/

ノートPCの冷却ファン、399円だと。へぇ。
でも、こないだ買ったLifebook、熱くならないんだよな。





改めてaliexでSSD漁ってみると、こないだ60GBのを2500円
くらいで買ったばかりなのに、今探すと、60GBは2000円
くらいで、120GBでも2600円くらいから見つかるんだよな。
あっという間だな。



コメント ( 0 )




東京都内でも、40度越え。

https://weathernews.jp/s/topics/201807/230085

すごい暑さだな。恐ろしい暑さ。暑すぎて、日中は
M3になっていた。

どうやら、今日がピークっぽい感じで、明日以降少し
下がるみたいだけど、暑いのはしばらくかわらない
みたい。

きっと、これが走り回っていたんだろう。

https://twitter.com/Saka_CITYR/status/1019888019799592961





ちょっとだけ歩みを進めておく。ESP32のADCのアッテネータ
の設定を変えてみる。

https://esp-idf.readthedocs.io/en/v2.0/api/peripherals/adc.html

こことかに詳しく書いてあるんだけど、アッテネータの設定
は、0db~-11dbまで、4段階で変えられるみたいなんだけど、
基準電圧が1.1Vみたいなので、デフォルトの0dbだと、フル
スケールで1.1Vまで。3.3Vくらいまで入力できるように
したいので、-11dbに設定して、3.3V電源とGNDを按分して、
ADCに入力。

スケッチはこないだのやつから要らないところ削って、
こんな具合。
(どうやら、このブログサービスのバグだった、不等号
記号が削られちゃうやつ、直ったみたいなので、半角の
まま貼ってみる。まぁ、相変わらず改行が2行になっちゃう
のは直ってないみたいだけど)

#include <driver/adc.h>

/* global variables */

#define LED 2

/* sub routine */

void prt_hex(int n, char c) {
  for (int i = 1; i < 4; i++) {
    if ( (n >> (4*i)) == 0) {
      Serial.print(c);
    }
  }
  
  Serial.print(n, HEX);
}


/* main process */

void setup() {
  Serial.begin(115200);
  pinMode(LED, OUTPUT);

  /* set up ADC1 parameters */
  Serial.println();
  Serial.println("-----  adc width = 12 bits  -----");
  adc1_config_width(ADC_WIDTH_BIT_12);
  adc1_config_channel_atten(ADC1_CHANNEL_0,ADC_ATTEN_DB_0); //gpio36(A4)
  adc1_config_channel_atten(ADC1_CHANNEL_0,ADC_ATTEN_11db); //gpio36(A4)
}

void loop() {
  uint16_t val;

  digitalWrite(LED, HIGH);
  val = adc1_get_raw(ADC1_CHANNEL_0);
  digitalWrite(LED, LOW);

  Serial.print("sampling data = ");
  prt_hex(val, '0');
  Serial.print("   (");
  Serial.print(val);
  Serial.println(")");
    
  delay(200);
}


実行するとこんな。16進と10進で表示。可変抵抗を
グリグリまわすと値がかわる。




実は最初、0dbのまま、1kΩ固定抵抗と200Ω可変抵抗
で分圧して、可変抵抗グリグリしてみたんだけど、
GND電位までちゃんと落ちてくれなくて(数値が0に
落ちない場合がある)、ブレッドボードで組んだ回路
が悪いのか、スケッチ側の問題なのか良くわからな
かったので、ひとまず-11dbに設定してみた。


なんかもやもやが残るけど、とりあえず-11dbにして
みると、なんとなくちゃんと動いている感じ。

これで、あとは、アッテネータの設定によって、
ADCの速度が変わるかどうか、とか、ファンクション
ジェネレータから高速でタイマ割り込み使って大量
に入力して、おかしなことにならないか、みたいな
事をしらべようかなと思っているところ。

またこんど。




http://akizukidenshi.com/catalog/g/gM-11967/

5.5インチのフルハイビジョンディスプレー。これ
すごいねぇ。ガワもオプションで販売してくれたら、
ちょっと欲しいかも。





https://togetter.com/li/1247996?page=14

この、「判別するのは本当に難しい」タグ、面白い。

https://twitter.com/big_magnam_1026/status/1019503574353522688/photo/1

そうかぁ。S14中期型だったか。これ、前期型はたしか
丸目4燈だったよな。


https://twitter.com/cubsol/status/1019789034422325248

あぁ、これはスターレットだったか。


https://twitter.com/N4_no_/status/1019503405763518464/photo/1

これけっこう好き。





https://twitter.com/haru9629/status/1019986464568819712

ポンパ。





https://twitter.com/ichirowo/status/1020676612189110273

イノベーションって、本流からは生まれないものなん
だろうな。もともと。





https://mainichi.jp/articles/20180724/k00/00m/020/130000c

粉飾した数値。

https://twitter.com/quitamarco/status/1020679646843580416

改ざんしてはいけないものは、改ざんすると処分の
対象になっちゃうから、ならいっそのこと、改ざん
しても怒られない私文書に変えて、捨てちまえ、という
イノベーション。



コメント ( 0 )




こないだの、ESP32で大きい配列を定義すると、なぜか
実行時エラーになっちゃう件、

https://techtutorialsx.com/2018/02/13/esp32-arduino-variable-length-arrays/

このページを参考に、以前のスケッチをちょい弄って
実験しながら、あれこれ探ってみた。


まず、元のスケッチに、ヒープの残サイズを表示する
処理を付け加えてみる。処理前と処理後の両方に。

で、だいたい想像通りの結果が出てきた。初期化前に
300kB弱のヒープ(とスタックで利用できる)エリアが
残ってて、これならいくらでもスタックにデカイ配列
をおけるはずだよな、と。

で、色々考えててふと気になることに行き着く。
これ、loop関数内で動的確保してるから、スタックに
置かれるわけだよな、と。

なんかのサイトで読んだんだけど、スタックとヒープ
は、コンパイルオプションで最大サイズを云々って
いうのが有ったと思うので、もしかして、スタックに
デカイ配列を置こうとしているのが駄目なの?と。


なので、スケッチ冒頭で配列定義しちゃって、bssに
配列を置いたら、スタックをそんなに食わないので、
動くんじゃないの?と。

ちなみに、text、data、bss、heap、stackについて
”なんじゃそりゃ?”という場合は、こちらとかを
まずご参照ください。

http://keens.github.io/blog/2017/04/30/memoritosutakkutohi_puto/

で、loop関数で定義してた配列を、冒頭のglobalで
定義しなおして、bssに配置するようにしてやると…

ヒープの食い方の表示が変わってくる。おぉ。

じゃぁ、配列のサイズを8kBにしてみる。
…大丈夫だな。エラーにならない。調子こいて
一気に64kBにしてみる。うん。大丈夫。


どうやら、スタックにデカイ配列置けないような
設定になっているらしい。4kBってことは…元もとの
素のArduino(8ビット版)の設定が引き継がれている
のかなぁ?

なんにしても、スタックにデカイ配列置こうとしない
かぎりは、大きい配列をおいても大丈夫っぽいな。

これで、もうちょっと実験が先に進められそうなん
だけど、しばらく時間が取れないんだよな。


とりあえず、実験に使ったスケッチを貼っておく。

#include <driver/adc.h>

/* global variables */

#define LED 2
#define SAMPLES 32768

//int val[SAMPLES];
uint16_t val[SAMPLES];


/* sub routine */

void prt_hex(int n, char c) {
  for (int i = 1; i < 4; i++) {
    if ( (n >> (4*i)) == 0) {
      Serial.print(c);
    }
  }
  
  Serial.print(n, HEX);
}

/* main process */

void setup() {
  Serial.begin(115200);
  pinMode(LED, OUTPUT);

  /* set up ADC1 parameters */
  Serial.println();
  Serial.println("-----  adc width = 12 bits  -----");
  adc1_config_width(ADC_WIDTH_BIT_12);
  adc1_config_channel_atten(ADC1_CHANNEL_0,ADC_ATTEN_DB_0);
}

void loop() {
  /* display heap size */
  Serial.print("Heap size : ");
  Serial.println(ESP.getFreeHeap());
  Serial.println();
  
  Serial.println("start sampling.");
  Serial.println();
  digitalWrite(LED, HIGH);

  /* input 1024 samples with simple loop */
  unsigned long starttime = millis();
  for (int i=0; i<SAMPLES; i++) {
    val[i] = adc1_get_raw(ADC1_CHANNEL_0);
  }
  unsigned long endtime = millis();

  digitalWrite(LED, LOW);
  Serial.println("complete sampling.");
  Serial.println();

  Serial.print("start time = ");
  Serial.print(starttime); 
  Serial.println("ms");
  Serial.print("end   time = ");
  Serial.print(endtime); 
  Serial.println("ms");
  Serial.print("total time = ");
  Serial.print(endtime - starttime); 
  Serial.println("ms");
  Serial.print("unit  time = ");
  Serial.print((endtime - starttime) * 1000 / SAMPLES); 
  Serial.println("us / sample");
  Serial.print("sampling speed = ");
  Serial.print(1000 * SAMPLES / (endtime - starttime)); 
  Serial.println("sps");
  
  for (int i=0; i<SAMPLES; i++) {
    if ((i % 16) == 0 ) {
      Serial.println();
      prt_hex(i, '0');
      Serial.print(" : ");
    }
    prt_hex(val[i], ' ');
    Serial.print(", ");
  }
  Serial.println();
  
  /* display heap size */
  Serial.print("Heap size : ");
  Serial.println(ESP.getFreeHeap());
  Serial.println();
  
  for (;;);
}





https://twitter.com/mai_hayabusa/status/1020595452914233346

フラウスキー少佐ーーーーーー!!!

http://cosmo14.s56.xrea.com/gallery/fra.html





https://twitter.com/livedoornews/status/1020497349225746432

これは、殺人未遂って言っても差し支えないだろう。
散々、毎年、自動車に子供置いたままにして、熱中症
で死んでしまう話、あふれているのに。数分でも
ものすごい温度に上がるんだよな。真夏の炎天下。

しかも、パチンコ屋だもんな。これ、児童相談所の
出番だろ。





https://www.youtube.com/watch?v=a2BsZCoHjwM

総統閣下はお怒りのようです。





https://twitter.com/masayang/status/1020875251779899392

なんでもかんでも、他人に不便を強要することで満足
するタイプの人たちなのかな。

そもそも、プラスチックストローだって、そのまま海に
流すもんじゃないだろ。燃やして灰を処分するとか
なんじゃないの?普通。

海が汚染されて問題だっていうなら、プラスチック製品
を作ることに問題があるんじゃなく、ゴミの処分方法
に問題があるっていう、そっちに目を向ければいいのに。





https://twitter.com/Y_Suzuki/status/1020892803423858688

ダライアスだ。

レモンを振って、塩でいただく。



コメント ( 0 )




http://radiopench.blog96.fc2.com/blog-entry-846.html

DSO-Shell(DSO-150)の新しいファームウェア、
出ているみたい。ラジオペンチさんのブログによると、
あのバグがfixされたバージョンらしい。

他にももろもろ更新されているみたいなんだけど、
とりあえずこないだ困ってた点は解消されている
ので、ひとまず今のままで様子見にしよう。





こないだの、LifebookにUSBで外付けUSBメモリに入れた
Linux起動して使うっていう話を悶々と考えつつ、やっぱ
USBメモリじゃなく、外付けのSSDの方が良いんじゃね?
と思って、

https://ja.aliexpress.com/item/2-5-inch-Super-High-Speed-USB-3-0-Interface-SATA-HD-Box-HDD-Hard-Drive/32808819451.html

この4ドルちょっとの2.5インチケースを注文しておいた。

そういえば、フルインストールはともかく、USBメモリで
ライブディスクで起動して、ちょっと感じを確かめて
みようかなと。
できれば、メモリもSSD容量も食わない方がいいんじゃ
ないかなと思って、CinnamonじゃなくMateにしようかな
と。以前ダウンロードしておいたMintのISOを保存した
フォルダを開くと…CinnamonのISOイメージしかない。

Mateもダウンロードしておくかな、と思って、公式サイト
見に行くと、なんと19がダウンロード可能になってた。

せっかくだからと19のMateをダウンロードして、USB
メモリに書き込んで、Lifebookで起動してみた。



雰囲気が少し変わって、アイコン類も結構見やすくなった
感じ。いいなこれ。メニュー画面とかもかなり見やすい。


ライブディスク起動なので、細かいところあれこれ確認
したわけじゃないけど、まぁ、日本語変換とか各種設定
とか、18.2と比べて使いにくくなってるところはあまり
無いだろう。

Lifebook用にインストールするなら、とりあえずこの
19のMateで良いんじゃないかな。

SSDどうするかなぁ。以前中古で買った怪しい16GBのSSD
は、一応まだ活きている(エラー無し)んだけど、容量が
小さすぎるから、あれこれやるとあっという間にいっぱい
になっちゃうと思うんだよな。
特にrails周りをゴニョゴニョしちゃうと一気に容量
食っちゃうしな。





https://www.youtube.com/watch?v=f-EXV2V-xM4

タケオカ自動車工芸のララ。なかなか面白そう。エアコン
が効くのがなかなか。

なんにしても、ランタイムコストが安いの、魅力。
鉛バッテリーなので、重さはともかく、ランタイムコスト
はそんなに高くなくて済むんだろうなぁ。

それにしても、車重が600kg越えてるの?よくそんな重量
を原付のパワーで走れるねぇ…。0.59kWって、1馬力より
ちょっと低い出力だよな。0.8PSくらい?
それにしちゃぁ、結構速度出てる感じだし、登坂も結構
こなしているし。

http://www.takeoka-m.co.jp/new201406/Lala/Lala.html#omo

諸元みてみたら最大3.0kWってなってる。なんだろう?
通常走行時と、登坂時とかで、出力切り替わるのかな?

いくらくらいなんだろう?エアコン入ってるし、カーステ
付けられるし、パワーウィンドウ付いてるし…と色々な
装備が可能だと、結構高いんじゃないの?と思って調べて
みた。

https://www.nikkei.com/article/DGXLZO08660100R21C16A0LB0000/

105万円。へぇ。やっぱ、中国製をベースにタケオカが手を
加えたりしてるおかげで、結構高くない価格帯に収まって
いる。軽自動車でいいや、と思っている人のうち、かなり
の割合で、これで十分な人多いと思うんだけどな。

気になる…。





https://twitter.com/fumiyas/status/1019751200621658113

オイラ、「古参だけど知識を更新しない老害」だな、やっぱ。




https://page.auctions.yahoo.co.jp/jp/auction/t580949577

Apple][C完全ジャンク品。
これは…。もしや改造して現代版によみがえらせろ、という
おふれなのか?





https://page.auctions.yahoo.co.jp/jp/auction/o250257210

Pasopia IQ。なにげにMSXの中では以前から気になっている
機種ではあるんだよな。
例の

https://togetter.com/li/1113788

わんぱく布氏(ヌノシ)さんの話で、さらに気になる機種に
なったのもあるけど。






http://www.xmleditor.jp/

XMLのエディタ、XMLEditor.NETっていうのがあるみたい。
へぇ。
SVG直接いじったりするときに、XMLをテキストエディタで
編集とか、もうマゾの世界でいやなんだけど、マイクロソフト
のXML Notepadはバギーで使いにくいし、なにかいいのない
かなぁ?と思っていたんだよな。

これ、Linuxでもmono使ったら動くかな?

そもそもそれ以前に、ダウンロードしてWindowsでお試しで
使ってみてからじゃないかな。あとでちょっと試してみよう。



コメント ( 0 )




ふと思い出して、AT-TINY416って単体で売ってるのか
探しなおす。

https://www.marutsu.co.jp/pc/i/27021803/

普通に売ってるみたいだな。でも、例によって店頭在庫
は無いとかってパターンなのかな?

あと、書き込みのプログラマが必要になるんだけど、
これはやっぱ、EVALUATION BOARD買うのが一番早いの
かな。





こないだの、ESP32のメモリ使用量周りについて、また
ちょっと検索しなおしてみた。

https://techtutorialsx.com/2018/02/13/esp32-arduino-variable-length-arrays/

https://www.esp32.com/viewtopic.php?t=1831

https://www.mgo-tec.com/blog-entry-arduino-esp8266-ram-size.html

このあたりをちょっと眺めてみて、とりあえず実験用の
スケッチでも書いて、ESP.getFreeHeap関数使って
内部の状態を色々探りいれてみるのが吉なのかな?と
いう気がしているところ。

ESP32は、こういうメモリ利用関係の部分がまだ煮詰まっ
ていないのかな?





USB3.0端子経由で、USBメモリで普通のLinux OSイメージ
から起動してみたいっていう話を、もうちょっと色々と
考えてみたんだけど、良く考えたら別にUSBメモリである
必要って、ないんだよなというところに気づく。

USBメモリだと、S.M.A.R.T.の情報取れないし、なんと
言ってもランダム書き込みの速度が遅すぎる。なので、
良く考えてみたら、2.5インチの小容量SSDと、USB-SATA
変換ケーブルみたいなもの使って外付けSSDからLinuxを
起動するようにしたら、
  普段はWindows10
  必要なときだけLinux
っていうのを、それなりにちゃんとしたパフォーマンス
で利用できるだろうと。

USB-SATA変換は、持ってるやつでもいいし、なにか別の
モノを買っても安いし、SSDも、実験専用と割り切れば32GB
でも足りるし、60GBもあれば十分ともいえるしなぁ。

なんなら、こないだ買った60GBのSSDを取り出して、Let's
Noteは売っちゃって、このSSDだけ再利用しても足りそう。

どうすっかなぁ?電源ポンで、素直にLinuxが立ち上がるPC
も1個置いておきたい気もするんだよな。Linux起動するのに
USB端子1個ふさがっちゃうのも不便といえば不便だしな。





https://www.youtube.com/watch?v=d5uoJg_-Ilw

例のbemarunekoさんの動画を眺めて、ふと、ホールソーは
欲しいんだよな、とか思ってたりしたので、色々検索して
みたりする。

なんか、自由錐に行き着く。

https://makit.jp/02013/

これって、簡単に、きれいに穴が空けられるものなの?と
思って、youtubeで動画眺めたりしてみたんだけど、何気に
きれいに穴空けられるみたいなんだよな。あまりトルクが
無い、オイラの安物ハンドドリルでも大丈夫かなぁ?
なんとなく、普通のハンドドリルで使ってるみたいだから、
大丈夫なきがするんだけど。


さらに、木工関係の動画をちょっと眺める。

https://www.youtube.com/watch?v=ybNDZAnj9Us
https://www.youtube.com/watch?v=RVDjY53-cVE

ハンドジグソーを板に取り付けて、簡易テーブルソーに。
なかなか面白い。

で、さらにジグソー関係の動画を見てたら、

https://www.youtube.com/watch?v=uan3xx3T55c

なんか、きれいなおねいさんを発見。まな板自作するのに、
ジグソーで、斜めカット。
斜めカットって、罫書き線の位置とどうやってあわせれば
いいのかなぁ?って思っていたんだけど、そうか、ベース
の端っこから刃までの長さ計って、罫書き線からガイド
までの長さをあわせてやればいいわけだ。ほう。





https://withnews.jp/article/f0180720002qq000000000000000W00o10101qq000017714A

あのエレコムの、iPhone用充電ケーブルのフィギュア。
入社2年目の女性が考えたらしい。
なんか、D-SUBなんてどう考えてもおっさんの発想だと
思ったけど、全然そんなこと無かった。びっくり。





https://twitter.com/yucococafe/status/1019009862087241728

つままれたネコ。





https://twitter.com/n_waka/status/1019511778139521024

CASIO PV-2000。
あぁ、なんでこんな姿に…




コメント ( 0 )



« 前ページ 次ページ »