2015年12月15日火曜日

タッチパネルの自動押し化

こんばんは


delphi アドベントカレンダー15日目です。

昨日のowlsperspectiveさんに引き続きまして(内容とても面白かったですね)、

本日は、やましょうが担当させていただきます。。
 
先週は、デベロッパーキャンプお疲れ様でした。


さて5日の公開もまだいろいろあり出来ていなく申し訳ない状態です。
 
さて、LTで御紹介した内容を紹介です。

リレータッチボードドライバー付き@650円をまず購入です。



HPの説明にある様に。
"5VとGNDを電源につなぎEN端子をHIGHにするとリレーがONになります。"


って事で、FTDIのICを使用してBit-Bangを使用しても良いですし、

LPT叩いても良いし、USB-UARTでDTR等で動かすのも手です。

(ただし,PCのRS-232Cで行うと壊れます。
                                                           電圧5Vではないので。。
)


ともかく、EN端子を5V←→ 0Vを入替を自動化をしてください。
(追記:2015/12/24 回路図よく見るとトランジスタが入っているので、EN端子は0.6V以上←→0Vでも動作できそうですね。自己責任でトライしてみてください。)

ちなみに、アドベント、カレンダー5日のLEDボードで動かすとこんな感じに動作できます。



これを使えば簡単に連続押しのテストができますね。

(NEXUS7 2013を動かしてます。)


と言うことで、本日はこれまで、

明日は7of9さんのpublic, private, クラスでないstatic関数の使い分けで必見ですよ。


 それでは、また次回、お会いしましょう。










2015年12月5日土曜日

Delphi で電子工作、枯れた技術232cを素敵に使う。

昨日のluxideaさんより引き継ぎました。
こんばんは、やましょうです。


DELPHI アドベントカレンダー5日目です。



いろいろネタにこまり、ステマモードです。

さて、日頃、Delphiで電子工作やiotを推進しているやましょうなのですが、
いろいろ伺うとどうもハンダが駄目とかRomとかめんどいとか聞くわけです。

そこで今日は、枯れた技術232Cのお話なんですが、
実は、無限の可能性を秘めた内容の御紹介です。

まずはちょっと忍耐です。mbedボードのご紹介です。(2枚写真ではあるけどね。)
このボード何が凄いってUSBにつけるとメモリーとしてデータを書けるのです。
つまりデータの転送がドラック&ドロップでできるのです。
コンパイラはmbed.orgで無料でオンラインコンパイルできるのでとても便利です。
たぶんここが世界で一番、安い入手先だと思う。リンク
6000円くらいしますが、後の開発時間で一時間も短縮できれば元とれますので、
気にしないで青い方を買いましょう。

今回はテスト用にこんなCのコードを書きましたよ。
232Cで受けたコードに+1して返す。まさに、エコーバック+1です。


#include "mbed.h"

Serial pc(USBTX, USBRX); // tx, rx

int main() {
    pc.printf("Hello World!");
    while(1) {
        pc.putc(pc.getc() + 1);
    }
}

さて、ここでカンの良いあなたはきずいた。そう、USBなのに232Cが使えるんです。
コンパイルとか面倒だと思いますから青い奴のバイナリーをここに置いておきます。
青い奴にコピーするば動きますよ。


さて、ここからはDELPHIの出番です。
DELPHIで通常のCOMポートとしてWIN側からアクセスすれば、このボードとの通信が簡単にできるのです。ボードのポートはそれなりにありますからロボットでもLEDでも、センサーでもなんでもPCとの間で通知する事ができますね。。通信方法はご自分で決定くださいね。
と、 ここまではDELPHIで簡単にできるのです。
                  
でも。でも。でも。やっぱり、せっかくのXeeee eeee eeですもの(10個数えます)
タブレットアンドロイドで動かしたいですよね!。
(ちなみにIOSでも動かす方法は知っていますが、他の方法があるで直接聞いてください。)

こんな感じで接続して(OTGケーブル介してつなぐこれだけ)
付属部品実装例














ちなみに、右の緑のボードは、こちらで購入できます。
ちなみにコンポーネントは、こちら購入できます。
(xe10用は来週あたりに用意する予定)


 動作中の様子はこちら、

     



ということで、あとはDELPHI側からなんでも操作ができるわけです。
もちろんこんなこともDELPHI側からできる筈。(今回は時間がなく断念)



というわけで、232Cは枯れた技術だけどいろいろがんばると、素敵になると言うお話でした。

(1768も動くようになりました報告っていう話でもある。)




明日は7of9さんです。


よろしくお願いします。


追記:やっぱ、動かしました動画です。
 1.WINDOSで動かした。
 2.Androidから動かした。


 と言うことでなんとか動きました。








2015年9月2日水曜日

DELPHI で232CをWIFI化する。

みなさん

おひさしぶり、やましょうです。
気がつけば9月ですね。そろそろサンタ見習いをはじめないと。。と思いつつ過ごしているのですが、いきなりデルファイXE9でなく10ですか。。そうですか。。

でも私個人的に10はいいと思うのですが、Xってどうよ?で思っている今日この頃です。
いい意味で裏切ってくれることを期待するしています。

さて、中国より1000円以下で232CをWIFI化できるチップがでました。
動作の動画はこんな感じ






実は、WIFI化するとコードがこんなに簡単に、ソースは以下だけでOK
procedure TForm1.Button1Click(Sender: TObject);
begin
/// esp8266へ送信
  IdUDPServer1.Send('192.168.11.90', 1112, Edit1.Text+sLineBreak);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  IdUDPServer1.DefaultPort := 12345; //適当なポートを使用
  IdUDPServer1.Active      := True;
end;


procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  const AData: TIdBytes; ABinding: TIdSocketHandle);
var
Str : String;
begin
  Str := BytesToString(AData);
  Memo1.Lines.Add(str);

end;
ソースはここです。


ESP8266の詳細の設定はやましょうの電子工作にて、

それでは、みなさん、また次回