たろねっと

初心者エンジニアの成長日記

ぷよぷよプログラミングのHTML5、JavaScriptって何?

こんにちは。m-taroです。

 

6月末にSEGAが、あのぷよぷよをプログラミングの教材として、ソースを公開しました。

monacaというHTML5アプリ開発ツールを使って、学習することができます。

f:id:M-taro:20200709222039p:plain

SEGA側サイト:https://puyo.sega.jp/program_2020/

f:id:M-taro:20200709222248p:plain

monaca側サイト:https://edu.monaca.io/puyo

 

学べる言語は「HTML5」と「JavaScript」のようです。

 

まず始めてみる前に、この2つの言語について、調べてみましょう。

 

HTML5

HTMLは主にウェブサイトを作成するのに用いられる言語です。

正式名称は「Hyper Text Markup Language」の略称で、「エイチティーエムエル」とアルファベットをそのまま読みます。

 

文章を飾り付けるすんげー言語 って意味なのかな?

そのままですが、ウェブサイトっぽいですね^^

 

HTML5の5は、バージョンを表しており、現在はHTML5が使えれば良いとのことです。

 

JavaScript

JavaScriptはHTMLで構築されたウェブサイトに、動きを加えることができる言語です。HTMLだけでは、止まった画面しか表示されないのが、Javascriptによって動かしたら変更したりと「動」を表現することができるようになります。

 

 

雑なイメージですが、こんな感じでしょうか?

 HTML … 小説、漫画、看板

 JavaScript … 映画、アニメ、サイネージ

 

 細かいことは、ぷよぷよプログラミングを体験しながら書いていこうかと思います。

 

 

ではでは、また。

 

ダイソーのカエルのキッチンタイマーを修理してみた

こんにちは。m-taroです。

 

うちで愛用している、ダイソーで買ったカエルのキッチンタイマー

もちろん100円。100均だもん。

あだ名は「ケロちゃん」が壊れてしまいました。

こいつです。 

f:id:M-taro:20200707233155j:plain

 かわいいですね^^

 

 

ちがう

 

 

「分」のボタンが利かなくなり、「秒」のボタンの利きが悪くなり、カウントダウンの設定ができなくなりました。。。。

 

IKEAの時計をタイマー代わりに使っていましたが、使いにくいのなんの…だって、メインは時計ですからね。

スマホも時間が経つとロックかかるし不便…

 

やっぱり、ケロちゃんしかいない!!

ということで、修理することにしました。

 

 まずは分解!!

 

とりあえず、マイナスドライバーで横っ腹をこじ開けてみた。

なんとなく、開く。

が、そこまで。。。

どうも、目と頬?の部分が開く気配がない。

 

 

f:id:M-taro:20200707234658j:plain

裏をよ~~~く見てみると、

四隅の黒い丸のところ、、、ちょうど開かないとこだな。

ふわふわクッションなのでピンセットを突っ込んでみると

 

取れた!

 

クッションの裏に両面テープで張り付けてただけですね。

 

f:id:M-taro:20200707234939j:plain

出てきましたよ!

ビスが4ヵ所。

こいつを外せば…

 

御開帳!!!

 

f:id:M-taro:20200707235056j:plain

はい、裏側は何もなさそうなので、基板を外して見てみましょう。

 

f:id:M-taro:20200708001151j:plain

基板を外すと、液晶の裏側とスイッチが出てきました。

ここもいいですね。

次に、基板を見てみる。

 

f:id:M-taro:20200708001253j:plain

ボケててごめんなさい…反省します。。。

下の丸い電極がスイッチのところで、左から「分」「秒」「スタート/ストップ」です。

もう、、、見えないですが、

「分」と「秒」の電極が汚れていて、スイッチを押してもショートしないような感じになってました。

「分」に至っては、左上が若干腐食していました。。。

 

濡れることもあるよね!だって、キッチンタイマーだもん!!

 

電極をピンセットでカリカリ清掃して、電極を出す。

これでOKでしょ!

 

組み立て直すと……

 

 

動いた!!

 

カウントダウンできるよ!!

 

これでラーメン作れるよ!!うんうん!!

 

 

 

ちなみに、

液晶ってどうやって動いてんの?

電極がずらっと並んでいたけど…接続は?

気になったので調べてみました。

 

どうやら、液晶の裏の黒い部分(電極に当たる部分)は、ゼブラゴムといって、導電ゴムと普通のゴムが交互に並んでいるようで、これで液晶と基板を接続していたんですね。

 

ということは、ピッピ音が鳴るのに液晶が薄くなってきたら、押し当ててやればいいってことかな?

なるほど!スッキリしました。

 

 

もう一つ、ちなみに。

制御チップは黒いでっかい丸の下にあります。

ダイソー製品はチップの上は樹脂で封しているとの噂がありますね。 

 

 

とにもかくにも、ケロちゃんが治ってよかったです。

(名前、覚えてました?)

 

それでは、また。

 

Xilinx社FPGA Zynqボードについて調べてみる(Arty、Zybo、PYNQ比較)

こんにちは。m-taroです。

 

今日は、兼ねてから始めてみたかったFPGAについて調べてみたいと思います。

FPGAと言えば、2代巨頭のAlteraやxilinxが有名ですね。

 

どっちにしよう…って思っていたが、周りはxilinx使いがほとんど。

うちの会社だけかもしれないが、教えてもらうには同じメーカの方がいい。

 

ってことで話を聞くと、答えは一つ!

「どうせやるなら、Zynqでしょ。ソフトもできるよ。」

こればっかり…

 

たしかに、ZynqはFPGAロジック部とプロセッサ部が両方乗っているので、両方勉強できなくもないが、難しくない?

 

これの答えは

「Zyboにすればブログがいっぱいあるし、分かりやすいよ」

・・・・なるほど、ネットで調べて頑張れと。

 

分かりましたよ。調べながらやりますよ。

 

といことで、なんぞや?から調べてみました。

まずはZybo

 

DIGILENT社が提供するFPGA開発ボード。

その内、Zynq搭載製品は3シリーズ。

 ・Arty Z7シリーズ

 ・Zybo Z7シリーズ

 ・PYNQ-Z1シリーズ

 

なんか色々出てきた。とりあえず調べてみる。

 

■Arty Z7シリーズ

 Arty Z7-10とZ7-20があり、Z7-20の方がロジック数が多く、大規模な開発が可能。

 まずはArty Z7シリーズをベース。

  Arty Z7-10 Arty Z7-20
FPGA part XC7Z010-1CLG400C XC7Z020-1CLG400C
1 MSPS On-chip ADC Yes Yes
Processor  Dual ARM Cortex A9 Dual ARM Cortex A9
Look-up Tables (LUTs) 17,600 53,200
Flip-flops 35,200 106,400
Block RAM 270 KB 630 KB
Clock Management Tiles 2 4
Available Shield I/O 26 49 
    • 650MHz dual-core Cortex-A9 processor
    • DDR3 memory controller with 8 DMA channels and 4 High Performance AXI3 Slave ports
    • High-bandwidth peripheral controllers: 1G Ethernet, USB 2.0, SDIO
    • Low-bandwidth peripheral controller: SPI, UART, CAN, I2C
    • Programmable from JTAG, Quad-SPI flash, and microSD card (Micro USB cable not included).
    • Programmable logic equivalent to Artix-7 FPGA
  • Memory
    • 512MB DDR3 with 16-bit bus @ 1050Mbps
    • 16MB Quad-SPI Flash with factory programmed 48-bit globally unique EUI-48/64™ compatible identifier
    • microSD slot
  • Power
    • Powered from USB or any 7V-15V external power source
  • USB and Ethernet
    • Gigabit Ethernet PHY
    • USB-JTAG Programming circuitry
    • USB-UART bridge
    • USB OTG PHY (supports host only) 
  • Audio and Video
    • HDMI sink port (input)
    • HDMI source port (output)
    • PWM driven mono audio output with 3.5mm jack 
  • Switches, Push-buttons, and LEDs
    • 4 push-buttons
    • 2 slide switches
    • 4 LEDs
    • 2 RGB LEDs
  • Expansion Connectors
    • Two standard Pmod ports
    • Arduino/chipKIT Shield connector
      • Up to 49 Total FPGA I/O (see table above)
      • 6 Single-ended 0-3.3V Analog inputs to XADC
      • 4 Differential 0-1.0V Analog inputs to XADC

store.digilentinc.com

 

■Zybo Z7シリーズ

 Zybo Z7-10、Z7-20があり、Z-20の方がロジック数も多く、大規模な開発が可能。

 ここはArty Z7シリーズと一緒ですね。

  Zybo Z7-10 Zybo Z7-20
FPGA part XC7Z010-1CLG400C XC7Z020-1CLG400C
1 MSPS On-chip ADC Yes Yes
Look-up Tables (LUTs) 17,600 53,200
Flip-flops 35,200 106,400
Block RAM 270 KB 630 KB
Clock Management Tiles 2 4
Available Shield I/O 32 40
Total Pmod Ports 5 6
Fan Connector No Yes
Zynq Heat Sink No Yes
HDMI CEC Support TX port only TX and RX ports
RGB LEDs 1 2
    • 667 MHz dual-core Cortex-A9 processor
    • DDR3L memory controller with 8 DMA channels and 4 High Performance AXI3 Slave ports
    • High-bandwidth peripheral controllers: 1G Ethernet, USB 2.0, SDIO
    • Low-bandwidth peripheral controllers: SPI, UART, CAN, I2C
    • Programmable from JTAG, Quad-SPI flash, and microSD card
    • Programmable logic equivalent to Artix-7 FPGA
  • Memory
    • 1 GB DDR3L with 32-bit bus @ 1066 MHz
    • 16 MB Quad-SPI Flash with factory programmed 128-bit random number and 48-bit globally unique EUI-48/64™ compatible identifier
    • microSD slot
  • Power
    • Powered from USB or any 5V external power source
  • USB and Ethernet
    • Gigabit Ethernet PHY
    • USB-JTAG Programming circuitry
    • USB-UART bridge
    • USB 2.0 OTG PHY with host and device support
  • Audio and Video
    • Pcam camera connector with MIPI CSI-2 support
    • HDMI sink port (input) with CEC (Zybo Z7-20) and without CEC (Zybo Z7-10)
    • HDMI source port (output) with CEC
    • Audio codec with stereo headphone, stereo line-in, and microphone jacks
  • Switches, Push-buttons, and LEDs
    • 6 push-buttons (2 processor connected)
    • 4 slide switches
    • 5 LEDs (1 processor connected)
    • 2 RGB LEDs (Zybo Z7-20) and 1 RGB LED (Zybo Z7-10)
  • Expansion Connectors
    • 6 Pmod ports (Zybo Z7-20) and 5 Pmod Ports (Zybo Z7-10)
      • 8 Total Processor I/O
      • 40 Total FPGA I/O (Zybo Z7-20) and 32 (Zybo Z7-10)
      • 4 Analog capable 0-1.0V differential pairs to XADC

Artyと比べると、上位互換ですね。メモリがDDR3Lで1GB載っていたり、カメラのI/FであるMIPI CSI-2をサポートしていたりしますね。USBも「2.0」が明記されています。

 

また、ZyboはSDSoCのライセンスあり版もあります。

Zynq内部はロジック側(PL側)とプロセッサ側(PS側)に分かれており、お互いにアクセスはできるが、基本的には独立で動きます。そのため、開発に使う言語が異なり、PL側はHDLやVerilog、PS側はC言語を用いるようです。

ここで、全てC言語で書いてしまおう!!というのがSDSoCです。これができれば、C/C++など高位言語でPS側から操れてしまう。

わざわざドライバを作らなくても、引数をロジック側に渡すと処理した結果が返ってくるようです。

…この辺は良くわからないので、これから勉強ですね。

 

store.digilentinc.com

 

■PYNQ-Z7シリーズ

 PYNQ-Z1のみがあります。ArtyやZyboと違い、Pythonで手軽にZynqを動かせるようです。詳しいことは…理解できませんが、シーンによってはとても便利なもののようです。

store.digilentinc.com

 

■まとめ

 結果的にPYNQはよく理解した人が使うべきもののような気がしますので、

 ArtyかZynqということになりますね。

 見た目はホワイトボードArtyがかっこいい!!

 ですが、将来的にカメラを繋げて動してみたい。というのもあるので、

 Zyboで勉強してみようかな?

 若干気になるのは、Zybo Z-20にはある。あれ!

 そう、ファンコネクタとヒートシンク!!

 Z-10には無くても大丈夫なのか??最初はカメラなんかぶん回さない…というかできないので、大丈夫かな?

 

ボード選びで迷っている方がいれば参考にしていただければと幸いです。

 

 

ではでは、また。

 

 

 

 

 

太陽光発電で何かできないか考えてみる

こんにちは。M-taroです。

 

太陽光発電といえば、普段当たり前のように見かけるソーラーパネル

家の屋根や、電卓、モバイルバッテリーにも付いてたりしますね。

 

このソーラーパネル、電源がないところでも太陽があれば発電できるので、使い方によってはめちゃくちゃ便利!

 

ということで、自分もソーラーパネルを使って何かできないかな?と

画策中ですが…アイデアが出てこないので、

世の中に溢れてるであろうアイデアグッズを調べてみたした。

 

■モバイルバッテリー

 まずはこれ。周りで持ってる人も多いですね。


 

■ラジオ

 充電機能があり、ラジオ、スマホの充電、ライトなどがオールインワン。

 災害時に役に立ちますね。 


 

 ■ランプ

  アンティーク風のランプ。テラスや庭、キャンプで使うとおしゃれですね。


 

  ■監視カメラ

 家庭用のスマホで確認できる監視カメラ。

 バッテリを積んでいて、センサーが検知したときだけカメラを動かすので30日は持つそうです。

 カメラもソーラーで動いてるんですね。

 必要な時だけ動かして省エネにするはいいですね!!


 

  ■猫除け

 こんなのあるんですね。知らなかった…

 赤外線センサーで動物が通りかかったことをキャッチし、超音波とストロボで追い払うというもの。

 可聴領域外なので、人間には聞こえないように作られているようです。


 

 ■クーラーボックス

 クーラーボックスにコンプレッサー、バッテリ、ソーラーパネルを積んでいて

 お出掛け中、冷やしっぱなしにできる代物。

 その名も

 ”トラベルクーラー”

 そもそもクラーボックスに冷却機能があることに驚きを隠せませんが…

 旅行やキャンプ、運動会、釣りなんかにも効果を発揮しそうですね。

 個人的に少し欲しいです


 

 ■車内用扇風機

 ソーラー充電式の扇風機。車のドアに取り付けられるようです。


 

 

調べてみると色々あるものですね。

感じとしては、コンセントが挿せないところで使うものが多い印象です。

そりゃそうかw

後は停電時には最も力を発揮できそうですね!

 

 

イデアは…そのうち出てくることを信じ、

とりあえず、何か作る前に太陽光発電できなきゃ進まないので

次回は、パネルを選んでみようと思います。

 

ではでは、また。

 

 

NBA 2019-2020シーズン再開

こんにちは。M-taroです。

 

もうすぐですね。もうすぐNBAが再開します。

後1ヵ月を切りました。

 

今は八村選手のいるウィザーズを応援しています。

シーズン中断前はレブロン・ジェームズバチバチの1on1をやったりと

ドキドキしながら楽しんでいました。

 

再開後の試合は8月1日です。

vs サンズ戦

楽しみです!!

 

ただ、ジョン・ウォールが再開後の復帰を見送り

怪我の回復を優先させたと記事がありました。

シーズン再開後は復帰するかと期待していましたが、

来シーズンは全快で復帰することを願ってます!!

 

 

ブログ開設

こんにちは。M-taroです。

 

ちょっと電気回路に触れている、初心者エンジニアです。

自分の勉強ついでに、色々共有できたらと思い、ブログを開設してみました。

ブログも初心者です。

 

ゆっくり空き時間に更新しようと思うので、よろしくお願いします。

 

ではでは、また。