部報46号 - UEC Koken

新入生講習(機械加工)作品案
執筆者:いまい
・新入生講習(機械加工)とは
新入生に対して工作機械の基本的な使い方を教えるための講習である。ここで言う工作機械とはボー
ル盤、フライス盤、旋盤などのことである。この講習では、どの機械を使えばどのような加工ができる
のかが理解できることを最終目標とする。実際に機械加工を行わなければどのような加工を行うことが
できるかを理解できないと考える。そのため、こちらである程度設計をした後に機械加工をさせて自分
で物を作らせることが大事だと考える。
・作品案
実際に作らせる作品案として次のものを考えている。
キーホルダー
素材:A5052(アルミ合金)
窪み部には刻印もしくはレーザー加工したプラ板をはめ込もうと考えている(ぶっちゃけなんでもい
い)。
この作品を作るために必要な工作機械はボール盤、フライス盤である。このままだと旋盤の講習が行
えないため、さらに別な作品を考える必要がある(あ、窪み部の R 指定するの忘れた、まぁいいや)
。
C#でカウントダウンタイマーを作った話
電気通信大学 工学研究部部報
3 月号
知能機械工学科 1 年 池田佳那
某所のお仕事で C#でカウントダウンタイマーを作りました。やった事といえば、フォー
ムを作ってそこに時間とスタート、ストップ、リセットボタンをくっつけただけです。私の
書いたコードでは、10 秒以下になると時間が赤くなる仕様になっています。
参照の追加では、System、System.Drawing、System.Windows.Forms、Media Player を追
加しました。
(Media Player は、タイマーの終了時のアラーム用の音を鳴らすために追加し
ています。)
以下にコードを記述します。
--------------------------------------------------------------------------------
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Media;
class Sample : Form
{
// ラベル、ボタン、タイマー関数
private Label lb;
private Button bt1;
private Button bt2;
private Button bt3;
private int bh = 30, bw = 100, bwm = 30;
private Timer tm = new Timer();
// タイマーの時間設定
private int min = 5, sec = 0;
public static void Main()
{
Application.Run(new Sample());
}
public Sample()
{
// Form 設定
this.Text = "カウントダウン";
this.Width = Screen.GetWorkingArea(this).Width;
this.Height = Screen.GetWorkingArea(this).Height;
this.Location = new Point(0,0);
// ラベル設定
lb = new Label();
lb.Font = new Font("Courier", 200, FontStyle.Regular);
lb.Height = 400;
lb.Width = this.Width;
lb.Text = min + ":" + String.Format("{0:00}", sec);
// タイマー設定
tm.Interval = 1000;
tm.Tick += new EventHandler(timer);
// スタートボタン設定
bt1 = new Button();
bt1.Text = "Start";
bt1.Height = bh;
bt1.Width = bw;
bt1.Click += new EventHandler(bt1_Click);
// ストップボタン設定
bt2 = new Button();
bt2.Text = "Stop";
bt2.Height = bh;
bt2.Width = bw;
bt2.Click += new EventHandler(bt2_Click);
// リセットボタン設定
bt3 = new Button();
bt3.Text = "Reset";
bt3.Height = bh;
bt3.Width = bw;
bt3.Click += new EventHandler(bt3_Click);
// ラベル設置位置
lb.Top = (this.Height - (lb.Height + bt1.Height)) / 2;
lb.TextAlign = ContentAlignment.MiddleCenter;
lb.Parent = this;
// スタートボタン設置位置
bt1.Top = lb.Bottom;
bt1.Parent = this;
bt1.Left = (this.Width - (bt1.Width + bt2.Width + bt3.Width + bwm + bwm )) /
2;
// ストップボタン設置位置
bt2.Top = lb.Bottom;
bt2.Parent = this;
bt2.Left = bt1.Right + bwm;
// リセットボタン設置位置
bt3.Top = lb.Bottom;
bt3.Parent = this;
bt3.Left = bt2.Right + bwm;
}
void bt1_Click(object sender, EventArgs e)
{
// タイマースタート
if (min != 0 || sec != 0)
{
tm.Start();
}
}
public void timer(object sender, EventArgs e)
{
// Media Player を使用
WMPLib.WindowsMediaPlayer mediaPlayer = new WMPLib.WindowsMediaPlayer();
// タイマー設定
if (min == 0 && sec <= 11)
{
lb.ForeColor = Color.Red;
sec--;
}
else if (sec == 0)
{
min--;
sec = 59;
}
else
{
sec--;
}
if (min == 0 && sec == 0)
{
// 音を鳴らしタイマーを停止
mediaPlayer.URL = "タイマー停止時に鳴らしたい音楽のアドレスをここに入力";
mediaPlayer.controls.play();
tm.Stop();
}
lb.Text = min + ":" + String.Format("{0:00}", sec);
}
void bt2_Click(object sender, EventArgs e)
{
// タイマーストップ
tm.Stop();
}
void bt3_Click(object sender, EventArgs e)
{
// タイマーの数値をリセット
tm.Stop();
min = 5;
sec = 0;
lb.ForeColor = Color.Black;
lb.Text = min + ":" + String.Format("{0:00}", sec);
}
}
電子工作で使えそうなオペアンプを使った回路
先進理工学科 3 年 皆川太志
1
はじめに
重要なのはこれらの特徴から、負帰還をかけると入
一応私は先進理工学科なんですけど、学科実験では
力作動電圧は 0 となり仮想短絡となることです。
とてもためになる便利な回路について勉強してきたわ
けです。にも関わらず糞みたいなレポートを量産して
きたので、この場所を借りてそれら回路のうちオペア
ンプを使った特に便利なものについてもう一度真剣に
紹介・解説してリベンジしたいと思います。
ところどころ難解ですが非常に役立つのはもちろん、
3
レベルシフタ(アナログ)
このオペアンプの特性を用いた回路にレベルシフタ
というものがあります。この回路、めっちゃ便利です。
レベルシフタの回路を図 2 に示します。
回路への理解を深めるいい機会になると思うので、お
+15V
付き合い下さい。(部報を毎月書かなくてはならなく
RS1
RS2
なってネタ枯渇なんです、すみません><)
−
Vi
2
RP
+
序章:オペアンプ
Vo
図 2: レベルシフタ
オペアンプを知らない回路設計者なんてこの世にい
ません(そのはず)。これを知らないと話にならないの
で、まずはオペアンプについて基本を理解しましょう。
−
Vd
+
実用的には RS1 = 15kΩ, RS2 = 10kΩ, RP = 10kΩ
とします。入力電圧を Vi とすると理想的オペアンプの
Ad
特性によって、Vi = V+ = V− となります。RS1 に流
Vo
れる電流は RS2 に流れる電流と等しいので、出力電圧
Vo は次のようになります。
図 1: オペアンプ(電源端子は省略)
図 1 に示したオペアンプは 2 つの入力電圧の差を増
15[V] − Vi
RS1
. . . V o
=
=
幅する素子(回路)です。理想的なオペアンプの特性
=
をまとめると以下のようになります。
1. 出力電圧 Vo は入力作動電圧 Vd と差動電圧増幅度
Ad によって次のように表されます。
Vi − Vo
RS2
RS2
RS2
1+
Vi −
× 15[V]
RS1
RS1
5
Vi − 10 V
(2)
3
これよりこの回路は 0V∼12V の入力電圧 Vi に対
して −10V∼+10V を出力するのです!デジタル信号
の電圧レベルを 5V から 3.3V に変換といったディジタ
Vo = Ad Vd
(1)
2. 差動電圧増幅度 Ad は無限大です(あくまで理想)。
3. 入力端子の入力インピーダンスは無限になります
(電流は流れない)。
ルレベルシフタもありますが、今回のはアナログ電圧
レベルを変化させます。他の回路の増幅特性なんかを
調べるのにものすごく便利な気がしませんか?世の中
にはレベルシフタ IC という便利なものもあるらしい
ですよ。
4
リミッタ
−Ad Vi になります。ダイオードを用いたリミッタでは
基準電圧が −0.7V でしたが、オペアンプを用いたリ
ダイオードだけで作ってみる
ミッタでは −0.7V/Ad という小さい電圧が閾値電圧に
リミッタ回路は信号がある範囲を超えないよう制限
する回路のことです。ダイオードを用いたシンプルな
リミッタを図 3 に示します。
ダイオードを用いたリミッタとは異なり約 0.7V のズ
レは生じず V+ が基準電圧となります。もちろん、閾
値電圧 V+ を GND から任意の電圧に変更することも
R1
Vi
なるため、理想的なリミッタに近い動作となります。
できます。
Vo
動作を見てみる
図 3: ダイオードを用いたリミッタ
ファンクションジェネレータとオシロによるわかり
やすい波形測定データが残っていたので、見てみます。
図 5 がオペアンプ無のリミッタですが、入力が負のと
この回路は、ダイオードの特性より、正負の信号が
きに出力が約-0.7V がになっているのが分かります。一
入力されても、出力電圧を必ず-0.7V 以上にする(負
方で図 6 のオペアンプ有のときではちゃんと 0V になっ
電圧を出力しない)ことが出来ます。ダイオード片端
ています。 オペアンプの帰還ってすごいですね(笑)。
の基準電圧を GND から Vth にすれば、閾値電圧とし
て Vth を設定することも出来ます。ダイオードを2つ、
基準電圧を2つ用いれば、最大最小の電圧値を設定す
ることすら出来ますね。
しかしながらダイオードのみだと、-0.7V だけ実際
の閾値電圧が設定値よりずれてしまいます。
オペアンプで特性改善してみる
これらの設定電圧のずれ 0.7V や、基準電圧付近の
中間値の出力といった問題点はオペアンプを用いれば
解決します。オペアンプを用いたリミッタを図 4 に示
図 5: オペアンプ無リミッタの入出力波形(正弦波、周
波数 1kHz、4Vpp、CH1:Vi 、CH2:Vo )
します。
R1
Vi
VO
−
+
図 4: オペアンプを用いたリミッタ
Vi が負のときはオペアンプに負帰還がかかり、また
ダイオードが導通しているので、出力電圧は −0.7V/Ad
になります。Vi が正のときにはオペアンプに負帰還が
かからず、Vi が V− にかかり、オペアンプ出力電圧は
図 6: オペアンプ有リミッタの入出力波形(正弦波、周
波数 1kHz、4Vpp、CH1:Vi 、CH2:Vo )
5
コンパレータ
VO
VO
コンパレータとはアナログの入力電圧を、2 値(ディ
VH
ジタル)の出力電圧に変化させる回路です。入力に閾値
Vth
O
を設定することが出来ます。ここではオペアンプの正
帰還を利用してヒステリシス特性を持ったコンパレー
Vi
VL
タまでを紹介します。
図 9: 閾値を与えたコンパレータの入出力特性
コンパレータ(オペアンプを正帰還させない)
負帰還のないオペアンプは、差動電圧 Vd が入力さ
図 9 で注目すべきは、グラフの立ち上がりが原点か
れると出力電圧 Vo は +∞∼ − ∞ となります。しかし
ら Vi = Vth に変わっていることです。この場合は、閾
実際には電源電圧範囲より少し狭い範囲の電圧しか出
値より信号電圧が高いときは VL 、閾値より信号電圧
力できず、これを −Vmax , Vmax とします(つまり 2 値
が低いときは VH が出力されます。これが基本的なコ
が出力される)。負帰還のないオペアンプの入出力動
ンパレータの動作特性です。
作は図 7 のようになります。
VO
ヒステリシスコンパレータ(オペアンプを正
帰還させる)
+Vmax
O
ヒステリシスとは過去の状態が、現在の状態を決定
Vd
することです。履歴効果とも言います。前の状態が閾
値に影響する・・・すなわち正帰還すればいいのです。
-Vmax
図 10 がオペアンプと正帰還によるヒステリシスコン
図 7: オペアンプの入出力特性
パレータです。
Vi
つまり、非反転入力電圧 V+ が非反転入力電圧 V− よ
り大きければ出力電圧 Vo は正、そうでなければ出力
Vth
−
Vo
+
電圧 Vo は負となるのです。2 入力の電圧差に応じて出
VH
Vth H-L
力電圧が得られるのでこれをコンパレータ(比較器)
VL
Vth L-H
と呼びます。
コンパレータは二つの入力電圧を比較しますが、片
方を固定するとそれを閾値電圧 Vth にできます。この
図 10: ヒステリシスコンパレータ(概略図)
ときの回路図が図 8 です。
Vi
−
Vo
+
Vth
問題は囲いの中の回路です。模式図で示しています
が、ようは VH と VL を出力しているときに、それぞれ
閾値が違えばいいわけです。そのための変換回路がこ
こに入ります。この閾値変換回路は通常、先ほど勉強
図 8: 閾値を与えたコンパレータとしてのオペアンプ
したリミッタで構成します。出力が VH ならそれをリ
ミットして正の閾値 Vth−H を、VL ならそれをリミッ
コンパレータの出力電圧のうち高い方を VH 、低い方
を VL とするとその出力特性は図 9 のようになります。
トして Vth−L を生成します。図 4 のオペアンプを用い
たリミッタを使ってヒステリシスコンパレータを構成
してみると図 11 のようになります。図 11 のようにオ
ペアンプを用いたリミッタは、単にツェナーダイオー
ドを用いてリミッタを構成するのと違って、閾値電圧
を自由に設定することが出来ます。
R2
Vth
Limiter 1
−
+
Vi
−
R1
Vo
+
−
-Vth
R3
+
図 12: ヒステリシスコンパレータの入出力波形(三角
Limiter 2
波 1kHz、Vth = 2V、CH1:Vi 、CH2:Vo )
図 11: ヒステリシスコンパレータ
ヒステリシスコンパレータはシュミットトリガの名
前で知っている人のほうが多いかもしれませんね。よ
く工研部員が口にしているのを聞くので。
軽く動作を説明します。この回路では Vo = ±Vth と
なるようになっているので、前の出力 Vo = Vth を現在
の出力 Vo が下回ったときに次の出力が Vo = −Vth と
なり、前の出力 Vo = −Vth を現在の出力 Vo が下回っ
たときに次の出力が Vo = Vth となります。
動作を見てみる
図 13: ヒステリシスコンパレータによるノイズ除去
(閾値 ±2V、ノイズ振幅 0.5V、CH1:Vi 、CH2:Vo )
ヒステリシスコンパレータについても良い波形デー
タが残っていました。しかし信じられないことにその
データを全く有効活用していなかったんです。取って
きたデータくらいはちゃんと確認しないと駄目ですね
(戒)。というわけで、ここに貼り付けて鬱憤を晴らし
たいと思います。
まずは三角波を入力して、基本動作を見た場合を図
12 に示します。入力電圧が前の出力電圧(閾値電圧)
を横切る度に、閾値電圧(出力電圧)が変わっている
のがわかります。
さて、図 12 の場合では三角波は閾値を必ず超える
ため、必ず出力電圧が変わりました。しかし、閾値を
超えない信号では出力は変化せず、その信号がカット
されます。つまりノイズフィルタになるのです。サイ
ン波にノイズ(サイン波)を付加した信号を入力して
みたのが以下の図 13 と図 14 です。
図 14: ヒステリシスコンパレータによるノイズ除去
(閾値 ±0.5V、ノイズ振幅 2V、CH1:Vi 、CH2:Vo )
図 13 では閾値 2V よりノイズ 0.5V のほうが小さい
そんなわけなので突然ですが・
・
・
ため、ノイズがカットされています。一方で図 14 では
閾値 1V よりノイズ 2V のほうが大きいため、出力に
ノイズが出てしまっています。
番外編: カタンの開拓者たち
「カタンの開拓者たち」は数字の書いてある六角形
まとめ
6
とまあそんな具合に、リミッタとコンパレータを知っ
ているだけでも、閾値を設定して出力波形を生成する
ことが出来るわけなので、色々とアイデアが湧いてき
を組み合わせたフィールド「カタン島」に道をひいて
家を立てて作物を耕し、開拓するゲームです(超ざっ
くり)。プレイヤーはフロンティアスピリッツと判断
力・戦略性が試されます。詳しくは WEB で。
で、このゲームを電子化しようとしているわけです。
ます。例えば、閾値を 0V に設定して、出力はコンパ
表示は LED と LCD の予定です。実現にあたっていく
レーターで正信号を生成すれば、絶対値回路なんかを
つかの問題が浮上しました。
作ることが出来ます。
調べればいくらでも出てくるし、ブレッドボードで
実験したりするのには非常に適した題材だと思うので、
是非挑戦してみてください。
やばい紙面が余った
1. フルカラー LED×151 個 (ニッコリ)
2. スイッチ ×137 個 (ニッコリ)
3. 5 × 7 ドットマトリクス ×28 個(絶望)
4. 加えて LCD×4 枚 (白目)
5. 実装面積が不足(卒倒)
そういえば俺、カタンを電子化するっ
て言ってたな・
・
・
?
何超真面目に部報書いてんの
これらをクリアするために足の数が多い Atmel ATmega64 マイコンと同 ATmega32 を計約 30 個程、I2C
接続する予定です。六角形のモジュールを 30 個ほど
繋げて、カタン島を建設します。
結局どうすんの?やるの?やらないの?
もちろん、やるに決まってんだろォォ
ォォォ!
!
!
!
!
!
!
!
!
!
ただ・
・
・春休みだけじゃ時間が足りなかった
んだ・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
I2C なら、128 個のモジュールを繋げられる
し余裕だもんね!
!
!
実際に、素子の数に比例する制御の複雑化は I2C に
よる処理の並列化というゴリ押しによってほぼ解決し
たようなものなのですが、実装面積という物理的問題
は解決するのにもう少し頭を捻らないと駄目なようで
す。当然、プレイするわけなので筐体に入ってボタン
を押したり光が見えたり、ということを考えないとい
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
けないので実装が難しくなっています。
現在はメイン基板のデザインを決定し色々と試行錯
誤中です。完成したら、工研では珍しく「基板の見え
ない」作品になるはずです。
というわけで、
・
・
・
というわけで、現在開発中 DEATH
乞うご期待!
!
!
(すいません・
・
・)
にゃーさんの手芸概論
にゃーさん
1.はじめに
「手芸」が工学研究部の活動内容に含まれるかという問題はさておき、私は春休みの前
半を費やして作り上げた作品についてその存在の記録を留めておく使命を感じている。工
研のマスコットキャラクター・加藤凛1が着用しているセーラー服の作製についてどのよう
に作ったのかということを記録しておくことで、イベント毎に女装やコスプレを欠かさな
い一部の工研部員の活動の幅が広がる2と確信しているためである。この記事が彼らのさら
なる活動の後押しとなることを切に願う次第である。
2.1
設計概要
加藤凛の参考画像を Fig.1 に示した。図にあるセーラー服、ス
カート、胸リボン、髪リボンの製作が今回のミッションである。3
この図から、彼女が着ているセーラー服はファスナーによる前
開きタイプであることが分かる。通常セーラー服は頭から被るタ
イプが多い4が、作製・着用する上では前開きタイプの方が楽であ
るため、今後セーラー服を趣味で作製する場合は前開きセーラー
服の検討をお勧めしたい。
プリーツスカートは通常ウエストゴムで作ることはあまりない。
ウエストをゴムにしてしまうと皺が寄ってしまい、プリーツが綺
麗に出にくいためだ。しかし今回は誰でも着られるようにウエス
トをゴムにした代わりプリーツの裏ひだに端ミシンをかけ、ウエ
ストゴムでもある程度はプリーツの形が保たれるようにした。
服の素材に関しては、セーラー服とスカートはコットンツイル、
リボンはナイロンサテンとした。コットンツイルは裁縫の際に取
り扱いが容易で、透けにくいやや厚手の生地である。一方で皺が
つきやすいという欠点もあるが、日常的に着用する服ではないた
め皺が酷くなってきたらアイロンをかければいい。またプリーツ
固定剤を使わずにスカートのプリーツを程々に保つためにあえて
コットンツイルを使用した。
また、セーラーカラーの線は太めのセーラーコードを使用する
ことでコスプレ服にありがちな「安っぽさ」を減らした。
Fig.1 加藤凛
1
2
3
4
加藤凛(かとうりん) 愛称は「かとりん」。工学研究部関係者との関連性は公式には否定されている。
「手芸男子」というジャンルの開拓とも言える。
靴下は女子高生用靴下(本物)を別途購入した。
個人的主観による意見であり、その実態は地方により異なる。
2.2
設計詳細
適当に服を作るだけなら型紙はいらないという意見もあるが、今回作製するものは自分
以外の人が着るものであるため、万全を期すためにまず型紙を作製した。しかし、型紙を
一から作るのはとても難しい5。よって次のような方法を取った。
1.インターネット上で無償公開されているセーラー服の型紙を入手
2.その型紙に基いて試作品を作製
3.試作品と Fig.1 を見比べながら、入手した型紙を元に、デザインを修正した新
たな型紙を作製する
4.3で作製した型紙で完成品を作製
インターネット上には、コスプレを趣味としている人が様々な洋服の型紙を公開してい
るので積極的に利用すべきである。また、親切なサイトだと型紙だけではなく作り方まで
紹介しているところもある。なお今回利用したサイトについては最後に述べる。
3.作製
正直に言うと、夢中になって作っていたため作製途中の写真がない。なので、作業手順
を簡単に述べるだけに留めておく。
セーラー服
1.買ってきた布を数時間水に浸した後、目が歪まないように陰干しする。(この
工程は地直しという。最近の布地では必要ないことが多いが念のため。)
2.布の表裏に注意して型紙から布地を切り出し、切り躾6をする。
3.襟、胸当てを作り、襟を後身頃につける。
4.前身頃に胸当て・リボンをとめるスナップボタンと、ファスナーをつける。
5.後身頃とあわせ、肩と脇を縫う。
6.袖にカフスをつける。
7.袖山にギャザーをつけて立体化する。
8.袖と身頃を縫い合わせる。
9.身頃の裾を縫う。
スカート
1.布を切り出してアイロンでプリーツをつける。
2.表から見えないひだの折り目にそってミシンをかける。
3.ウエストを折り返してゴムを通す。
4.スカートの裾を縫う。
リボン
それぞれ形をつくって縫い合わせる。(髪リボンは中に針金を通した)
5
6
服飾学校で学んだ学生がやることである。
しつけ糸を使って出来上がり線や合印をつけること。
5.完成
実際の完成品を Fig.2 に示した。本当は人間が着たと
きの写真を載せたかったが、各方面からお叱りをいただ
きそうなのでここでは控える。
概ね Fig.1 を再現することができたが、セーラーコー
ドの位置と細さに改善の余地があったと反省している。
一方で、これはこれでまあアリかなという気もするので、
その辺は二次創作(Fig.2)と原作(Fig.1)との折り合
いをどこでつけるかという話である。個人的にはこれで
満足である。
Fig.2 完成品
6.参考
・セーラー服の型紙
趣味のコスプレ衣装部屋でぃあこす
http://dr-cos.com/freepattern.html
大量の型紙を公開していてとても便利。おすすめ。
・セーラー服の作り方
オープンファスナーの縫い方 http://www.youtube.com/watch?v=x6JxWn7C2qg
動画の説明がとても分かりやすい。
・素材屋さん
オカダヤ新宿店 http://www.okadaya.co.jp/
無いものは無い。新宿アルタの近く。学生は会員登録無料。
7.謝辞
かとりんセーラー服作製の話を持ちかけてくださったしゅんさんとれいてんしさん、試
作品の講評をお願いしたいまみやとたいし、そしてかとりんセーラー服発表の場であった
追いコンを盛り上げ、ステキな笑顔を見せてくださった皆様に心より感謝申し上げます。
頑張った甲斐がありました。
Sikuli
GUI
:1331107
14/03/30(sun)
1
Sikuli
Sikuli
MIT
Python
Sikuli
X,Y
Sikuli
Sikuli
Sikuli
2
Sikuli
2014 3
[Linux 32-Bit or 64-Bit]
Java6 Java7
Java6
Sikuli
Web
Ver 1.0.1
[Windows 32-Bit and 64-Bit], [Mac 10.6+],
OS
Java7
Windows
Sikuli
DOWNLOAD
sikuli-setup.jar
OS
Sikuli Script
sikuli-setup.jar
C:YSikuli
runSetup.cmd
1
Pack1
Setup Now
1: Sikuli IDE
Sikuli
runIDE.cmd
Sikuli
3
Sikuli
1
click( )
Select an image
Sikuli
Windows
click([
])
Sikuli
[
]
click(
wait(5)
2
5
)
2: Sikuli
(
XP
///)
3: Sikuli
Sikuli
3
Run immediately
pls. wait
5
2
Sikuli
Sikuli
Sikuli
3.1
Alt+Shift+C
4
Sikuli
Sikuli
Sikuli
Sikuli
Sikuli
.sikuli
4.1
Sikuli
.sikuli
5
png
Sikuli
.sikuli
.sikuli
6
Sikuli
Sikuli
Tutorials
Sikuli IDE
DOCUMENTATION
7
Image
[ ]
7.1
✓
find(Image)
✏
Region
✒
✓
findAll(Image)
✑
✏
Region
✒
✓
wait([Image], [timeout])
2
✑
✏
wait(Image)
3
3
10
timeout
1
0.001
wait(timeout)
✒
✓
waitVanish(Image, [timeout])
wait
wait
✒
✓
exists(Image, [timeout])
timeout
✑
✏
✑
✏
None
if
✒
if exists(Image):
if not exists(Image):
✑
7.2
✓
click(Image, [modifiers])
✏
Location
[modifiers] Alt,Shift
✒
✓
doubleClick(Image, [modifiers])
✑
✏
✒
✓
rightClick(Image, [modifiers])
✑
✏
✒
✓
dragDrop(Image, Image, [modifiers])
✑
✏
✒
✑
✒
✓
hover(Image)
1
✑
✏
2
7.2.1
Shift, Alt, Ctrl
modifier
Enter, Space, Esc, F1
[Key. ](
)
Key.ENTER Key.ALT Key.CTRL
http://doc.sikuli.org/keys.html
SHIFT+CTRL
+
Key.SHIFT+Key.CTRL
7.2.2
Q&A
Q
A
rightClick
a=find(Image)
2
rightClick(a)
2
Q
A dragDrop
Settings.MoveMouseDelay
7.3
✓
type([Image], text, [modifiers])
✏
text
[Image]
✒
✓
paste([Image], text, [modifiers])
text
✑
✏
[Image]
✒
✑
7.3.1
type
paste
type
2
paste
text
type(”HelloWorld”)
Shift+H, E, L, L, O
paste(”HelloWorld”)
”HelloWorld”
Ctrl+V
Enter
7.4
paste
type(Key.ENTER)
✓
popup(text)
✏
✒
✓
input(text)
✑
✏
✒
✓
exit()
✑
✏
✒
✑
text
text