「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ
CALENDAR
2021年1月
日
月
火
水
木
金
土
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
前月
翌月
Entry Archive
2024年09月
2024年08月
2024年07月
2024年06月
2024年05月
2024年04月
2024年03月
2024年02月
2024年01月
2023年12月
2023年11月
2023年10月
2023年09月
2023年08月
2023年07月
2023年06月
2023年05月
2023年04月
2023年03月
2023年02月
2023年01月
2022年12月
2022年11月
2022年10月
2022年09月
2022年08月
2022年07月
2022年06月
2022年05月
2022年04月
2022年03月
2022年02月
2022年01月
2021年12月
2021年11月
2021年10月
2021年09月
2021年08月
2021年07月
2021年06月
2021年05月
2021年04月
2021年03月
2021年02月
2021年01月
2020年12月
2020年11月
2020年10月
2020年09月
2020年08月
2020年07月
2020年06月
2020年05月
2020年04月
2020年03月
2020年02月
2020年01月
2019年12月
2019年11月
2019年10月
2019年09月
2019年08月
2019年07月
2019年06月
2019年05月
2019年04月
2019年03月
2019年02月
2019年01月
2018年12月
2018年11月
2018年10月
2018年09月
2018年08月
2018年07月
2018年06月
2018年05月
2018年04月
2018年03月
2018年02月
2018年01月
2017年12月
2017年11月
2017年10月
2017年09月
2017年08月
2017年07月
2017年06月
2017年05月
2017年04月
2017年03月
2017年02月
2017年01月
2016年12月
2016年11月
2016年10月
2016年09月
2016年08月
2016年07月
2016年06月
2016年05月
2016年04月
2016年03月
2016年02月
2016年01月
2015年12月
2015年11月
2015年10月
2015年09月
2015年08月
2015年07月
2015年06月
2015年05月
2015年04月
2015年03月
2015年02月
2015年01月
2014年12月
2014年11月
2014年10月
2014年09月
2014年08月
2014年07月
2014年06月
2014年05月
2014年04月
2014年03月
2014年02月
2014年01月
2013年12月
2013年11月
2013年10月
2013年09月
2013年08月
2013年07月
2013年06月
2013年05月
2013年04月
2013年03月
2013年02月
2013年01月
2012年12月
2012年11月
2012年10月
2012年09月
2012年08月
2012年07月
2012年06月
2012年05月
2012年04月
2012年03月
2012年02月
2012年01月
2011年12月
2011年11月
2011年10月
2011年09月
2011年08月
2011年07月
2011年06月
2011年05月
2011年04月
2011年03月
2011年02月
2011年01月
2010年12月
2010年11月
2010年10月
2010年09月
2010年08月
2010年07月
2010年06月
2010年05月
2010年04月
2010年03月
2010年02月
2010年01月
2009年12月
2009年11月
2009年10月
2009年09月
2009年08月
2009年07月
2009年06月
2009年05月
2009年04月
2009年03月
2009年02月
2009年01月
2008年12月
2008年11月
2008年10月
2008年09月
2008年08月
2008年07月
2008年06月
2008年05月
2008年04月
2008年03月
2008年02月
2008年01月
2007年12月
2007年11月
Recent Entry
土星と月
点火プラグ交換した
こないだのロボット
潮来に行ってきた
ロボット行ってきた
88の日
帰って来た
こないだのロボットと、Windows11セットアップ
ロボット行ってきた
PC買い足した
Recent Comment
nekosan/
JYRUSSやってきたメモ
フルタニアン/
JYRUSSやってきたメモ
nekosan/
JYRUSSやってきたメモ
フルタニアン/
JYRUSSやってきたメモ
nekosan/
こないだのロボット
フルタニアン/
こないだのロボット
nekosan/
こないだのロボット
フルタニアン/
こないだのロボット
nekosan0/
レジ袋ホルダーを考える
フルタニアン/
レジ袋ホルダーを考える
Category
ノンジャンル
(2840)
PIC
(47)
AVR
(341)
Arduino
(446)
Raspberry Pi
(193)
mbed
(41)
ARM
(30)
ESP32
(15)
Android
(10)
OPアンプ
(125)
VHDL
(57)
PSoC
(4)
アナログ回路
(110)
クルマ
(127)
rails
(51)
本
(42)
導電塗料
(3)
Fritzing
(41)
Edison
(2)
FFT
(34)
写真
(158)
MIDI
(24)
その他日記
(11)
Python
(57)
3Dプリンタ
(124)
Bookmark
最初はgoo
goo blogトップ
スタッフブログ
My Profile
ブログID
nekosan0
自己紹介
Search
このブログ内で
ウェブ全て
Hantek 6022BE届いた
アナログ回路
/
2021年01月15日
https://tonarinoyj.jp/episode/13933686331793273798
ワンパンマン、新しいの来てた。
年末に書いてたように、唯一もってた2現象のUSBオシロ
DSO2150が壊れちゃったので、
https://brown.ap.teacup.com/nekosan0/4426.html
同じHantekのもっと安いUSBオシロを注文してた。
例によって中華オシロ。
https://brown.ap.teacup.com/nekosan0/4429.html
届いた。Hantek 6022BE。
まだ箱開けてみただけで、PCと接続してないんだけど、
とりあえずブツは一式入っているっぽい感じ。あとで
動作確認する。
なお、これって型式自体はそんなに新しくなくて、付属
のCDに入ってるドライバがWindows7用だったりするので
要注意っていう話があちこちで聞かれている。
https://t3e.jp/hantek-6022be-windows10-64bit-use/
https://androiphone.uvs.jp/?p=2604
https://pavement1234.net/usb_oscilloscpe_hantek_6022be/
下手にWindows7用ドライバをインストールしちゃうと、
削除するのに結構大変らしかったりするみたいなので、
まずはドライバとかソフトとか一式(4ファイル)を
公式サイトからダウンロードしておいた。
http://www.hantek.com/en/productdetail_2_31.html
(Windowsのドライバーストアって仕組み、あれって
メリットあるのかな?デメリットの方が多い気がする
んだけどなぁ)
このオシロ、世代的にはDSO2150とかと一緒だと思うんだ
けど、DSO2150はメーカーがサポートしなくなっちゃってる
のに対し、6022BEはまだWindows10のドライバとかを
メーカーが公開しているので、その点が安心だった。
(DSO2150をWindows10で使うの、ちょっと苦労した)
スペック的には150MspsのDSO2150に比べてだいぶ落ちる
んだけど(48Mspsと1/3くらいのスペック)、これでも
ビデオ信号くらいなら普通に見れるはずなので、まぁ
当面はこれでいいかなと。
スペック的に不満になったら、その時また新しいのを
買えばいいかなと。
https://www.youtube.com/watch?v=64prHmlVt0E
ロードスター乗りの知人から、「S660販売終わっちゃう
前に買った方が?」ってすすめられたんだけど、どうやら
終わっちゃうって情報があるわけじゃないみたい。
ちなみに、先月売れた台数は226台らしい。
(正しい数値かどうかは検証できてないので注意)
https://www.youtube.com/watch?v=llqPdt3FC5U
もへじさんの動画。成田新幹線のお話の第1話。なかなかに
面白い。
https://www.youtube.com/watch?v=9-nQUjPu-CA
いつもの熊五郎お兄さんの動画見てたら出てきた
QCシール。
https://www.shigezone.com/?product=qclabel
売り切れてた…これ面白いなぁ。Shigezoneさんの
ところで作ったのかなぁ?それとも、Aliexとか探すと
出てくるのかなぁ?
https://twitter.com/memorydirect1/status/1349548371128684544
なんとなく、頭の中に「末端価格」という言葉が思い
浮かんだ。
https://www.youtube.com/watch?v=RFZVJB2PKJQ
電力需給が厳しい理由。お天気だけじゃなく、電気関係
についてもすごい詳しいな、ぐっさん。
https://www.youtube.com/watch?v=00v_8RqCKYs
電飾の木を自作するだけじゃない。電気関係お手の物
ってことなのかな。
こないだ見つけた、オセロを小一時間で作ってみちゃう
動画から繋がって、小一時間でライフゲームを作っちゃう
動画を眺める。あまり飛ばさずに結構じっくり見てた。
オセロもライフゲームも、昔BASICで組んだ記憶がある
ので、オイラのアタマの中の記憶と比較しながら見てた
んだけど、かなり効率的な処理方法になってるなぁ、と
感心しながら見てた。
https://www.youtube.com/watch?v=zywruyyURlY
GUI全盛になっちゃってから、あまりその手のプログラムを
書こうって気にあまりならなくて、一番大きい理由はやっぱ
その手の環境に合わせたコーディング環境を考えるのが
面倒だったり。
でもCLI環境だと、エスケープシーケンスとかもろもろ、
画面表示で面倒があるし、じゃぁguiをtkinterで、なんて
思ってもいざ組み始めようと思うとおっくうになって
しまったり。
で、この動画見てたら出てきた「_getch関数」なんていう
のがあるのか…。ちょっと敷居が下がったぞ、と思って、
ちょっと簡単なプログラム書いて動作を見てみようと。
VirtualBoxのCLI環境でやってみた。
…なんか、エラー出た。どうやら、こういう関数使えるのは
MS-DOS~Windows環境だけなんだな。そうか。
調べてたら、ほぼ同じような関数使える環境として、ncurses
の名前が出てきた。改めてncurses関係を調べなおす。
https://qiita.com/kaityo256/items/80863d466e0d69808eb9
ほほう。なんかイイカンジのチュートリアルになっている
なぁ。ブロック崩しなんだけど、マウスカーソルの座標で
操作するっていうやつ。面白そう。
Hello, Worldの手前からのチュートリアルになっている
ので、以前途中でめげたオイラでもやってみる気になった。
あらためてncursesをちょっと弄ってみる。
まず、このチュートリアルをやる前に、ncurses関係の
パッケージをインストールしておく。(Debian系の場合)
sudo apt-get install libncurses5-dev libncursesw5-dev
で、あとはここに書いてあるようにプログラムをテキスト
エディタで入力して、g++でコンパイル。ポイントは、
リンクのスイッチ(-lncurses)を付けてコンパイルすること
みたいだな。(こういうところがオイラは全然弱い)
g++ hello.cpp -lncurses
(ソースファイルがhello.cppの場合。なお、-oスイッチ
をつけて、実行ファイル名指定しておいた方がいいよね)
g++ hello.cpp -lncurses -o hello
実行。
./hello
でたでた。なんか、P8とかPC88とかで、BASICでlocate
命令使ってprintしていたころを思い出しす。よいよい。
まぁ、違うことがあるとしたら、ncursesにしてもtkinter
にしても、多分内部がダブルバッファになっていて、
「バッファ側をクリア」→「描画処理」→「refreshで反映」
みたいな流れで表示させるって辺りかな。
BASICなら、1命令実行するごとに結果が画面に反映される
わけだけど、最近のこの手の環境だと、とりあえず表示内容
を編集して、そのあとに一気に画面表示に反映っていう流れ
になってて、そういう処理方法って、なんかいまだに
なじめないんだよな。
(tkinterとか、HSPとか、最近いじったものは大体そんな。
ちなみに、オイラがArduino用に作った、OLEDモジュールや
LCDマトリックスモジュール用のグラフィックライブラリは、
当然ながらかつてのBASICみたいに、命令実行後に即時反映
されるタイプ)
あと、このチュートリアルをLinux(Ubuntu Mate20.04)で
実行してみた結果、いくつか引っかかった点があったので、
その内容と対策をメモに残しておく。
(1)リンク方法
ブロック崩しのプログラムの場合、スレッド処理を使って
いるんだけど、コンパイル時に上記のように「-lncurses」
だけしかつけてないとエラーになっちゃう。具体的には、
「undefined reference to `pthread_create'」
っていうエラーが出る。
検索してみると、
https://qiita.com/kazatsuyu/items/5c8d9f539cd925fda007
このページの真ん中辺にあるように、「-pthread」って
いうスイッチつけてコンパイルする必要があるみたい。
たとえば、
g++ breakout.cpp -lncurses -pthread -o breakout
といった具合。
(スイッチ書くの面倒くさいので、多分makeファイルを
書いちゃう方がいいと思うんだけど、面倒だったので、
このコンパイルのコマンドをテキストファイルに保存
しておいて、shコマンドで実行させるようにしてた)
(2)マウス移動のイベントが取れない
このページでは、環境変数の「TERM」に「xterm-1003」を
設定しておくと、マウスをクリックしたりしなくても、
移動して座標が変化するだけでイベントが発生して拾って
くれるって書かれているんだけど、頑張ってみてもなんか
上手くいかなかった。
(ネイティブ環境でOS動かしてるわけじゃなくて、
VirtualBox上で動かしているからかもしれない。ちなみに
クリックした瞬間はイベントが発生してくれるので、
このプログラムのままでも、クリックさえすれば、パドルが
マウスカーソルのx座標に移動してくれる)
仕方ないので、マウスカーソルの座標で移動させる代わりに、
キーボードからの入力で左右移動させるように、一部コード
を書き換えてみた。
(3)abs関数の絶対値
いざ動かしてみたところ、とりあえずパドルから玉を発射
して、上に向かっていったまではいいんだけど、天井に
ぶつかった時に、Y座標用の速度(vy)の絶対値が反転せず。
同様に、右端にぶつかってもX座標の絶対値が反転せず。
(vy、vxの値が0になっちゃってるみたい)
コードを眺めても、そんなことにならないんじゃないかなぁ?
なんでだろう?と頭を悩ましたんだけど、なんとなく気に
なって、絶対値を求めるabs関数って、整数型も浮動小数型
も、どっちも使えるんだっけ?と思って検索。
どうやら、floatとかdouble型だと、違う関数使うものみたい
なんだよな。うん、やっぱそうだよな。
ってことで、ちょっとロジックをいじりなおす。abs関数を
使わずに、単純にvxとかvyの値の符号を逆にするだけ。
反射するだけだからな。
(例えば、absを使わずに、「vx = -vx」とかに置き換える)
で、ようやく動いた。まぁ、ゲームを実際にやりたかった
わけじゃないから、動いた動いた、ってところまでで
終了。
なんにしても、ncurses使ってCLIアプリを作る入り口には
入れたみたいだな。よかった。
ちなみに、ncursesはC言語で使いたいっていうわけじゃ
なくて、どっちかっていうと、最近使ってるPythonとか
Rubyとかから使いたいんだけどな。その辺をもうちょっと
弄りなおしてみようかなぁと思っているところ。
https://twitter.com/qx5k_iskw/status/1349324001391243265
https://twitter.com/qx5k_iskw/status/1349323619151724544
知らなかったな。AVR128DB28。
28ピン DIPってだけでもうれしいんだけど、メモリマシマシ、
マルチ電圧I/O、CCLなどなど。いいねぇ。
これを使ったArduino後継機なんて、出てこないかなぁ?と
期待してしまうよな。
コメント (
0
)
goo ブログ
ブログの作成・編集
gooおすすめリンク
おすすめブログ
【コメント募集中】スタッフの気になったニュース
@goo_blog
【お知らせ】
ブログを読むだけ。毎月の訪問日数に応じてポイント進呈
【コメント募集中】goo blogスタッフの気になったニュース
gooブロガーの今日のひとこと
訪問者数に応じてdポイント最大1,000pt当たる!