2020年8月29日土曜日
arduino 回路図を描く
今自分が回路図を描く予定はありませんが、回路図を描くいいツールがどこかにないか探していました。
↓こちらは有料です。検索で出てくるのはこれが多く、無料で手に入れる方法がないか調べてみましたがダメでした。
https://fritzing.org/
そして、このサイト。
↓こちらは有料です。検索で出てくるのはこれが多く、無料で手に入れる方法がないか調べてみましたがダメでした。
https://fritzing.org/
そして、このサイト。
うまく描くことができます。ただ、ダウンロードすると、*BRDという拡張子のファイルになています。これを表示させるアプリは残念ながら持っていないのです。
画面上で画像コピーが早いかもしれません。
2020年8月28日金曜日
VISUAL STUDIO ついに助けを借りる 間違いボール探しゲーム
本に沿って進めていましたが、ダメ。
コードを書き込んでいくところで、理解できなくなりました。
https://www.shuwasystem.co.jp/book/9784798058986.html
サンプルファイルを手に入れることにしました。
https://www.shuwasystem.co.jp/support/7980html/5898.html
「間違いボール探し」までの解説が大変丁寧だったのですが、この部分から解説が中途半端というか、この先は自分で考えてということなのか、飛躍しています。
サンプルファイルを見ないことには理解できません。
この本で挫折するのは、おそらくこのあたりからだと思います。
まず、292ページの表5-30と290ページの表5-29が同じでした。292ページの表5-30はSplitContainerコントロールのプロパティの設定のはずなのです。292ページの表5-30の下に画面の図があり、これでなんとか理解できます。
PictureBOxに円を描くところでは、1つの円を描く例が示されています。しかし、本来のコードは、5つの円を描くことになっていて5つ描くプログラムは、
--------------------------------------
// 上のselectPictureBoxに円を描く
private void DrawCircleSelectPictureBox()
{
int height = selectPictureBox.Height; // 高さ
int width = selectPictureBox.Width; // 幅
Bitmap selectCanvas = new Bitmap(width, height);
using (Graphics g = Graphics.FromImage(selectCanvas))
{
for (int i = 0; i < ballCount; i++)
{
g.FillEllipse(brushes[i], i * height, 0, height, height);
}
selectPictureBox.Image = selectCanvas;
}
}
----------------------------------
324ページです。
下の部分に画像を表示するプログラムは、
----------------------------------
// 下のPictureBoxに描画する
private void DrawMainPictureBox(Brush color, string text, bool trueFlag)
{
int height = mainPictureBox.Height; // 高さ
int width = mainPictureBox.Width; // 幅
//描画先とするImageオブジェクトを作成する
if (canvas == null)
{
canvas = new Bitmap(width, height);
}
using (Graphics g = Graphics.FromImage(canvas))
{
// 正解用の背景色にする
if (trueFlag)
{
g.FillRectangle(Brushes.LightPink, 0, 0, width, height);
}
else
{
g.FillRectangle(Brushes.White, 0, 0, width, height);
}
//背景に引数で指定した文字列を描画する
g.DrawString(text,
new Font(fontName, height - height / 4),
color, 0, 0, new StringFormat());
//MainPictureBoxに表示する
mainPictureBox.Image = canvas;
}
------------------------------------
325ページです。
つまり、305ページまでは解説です。まだ時間がかかります。
からない。しばらくながめてみます。
コードを書き込んでいくところで、理解できなくなりました。
https://www.shuwasystem.co.jp/book/9784798058986.html
サンプルファイルを手に入れることにしました。
https://www.shuwasystem.co.jp/support/7980html/5898.html
「間違いボール探し」までの解説が大変丁寧だったのですが、この部分から解説が中途半端というか、この先は自分で考えてということなのか、飛躍しています。
サンプルファイルを見ないことには理解できません。
この本で挫折するのは、おそらくこのあたりからだと思います。
まず、292ページの表5-30と290ページの表5-29が同じでした。292ページの表5-30はSplitContainerコントロールのプロパティの設定のはずなのです。292ページの表5-30の下に画面の図があり、これでなんとか理解できます。
PictureBOxに円を描くところでは、1つの円を描く例が示されています。しかし、本来のコードは、5つの円を描くことになっていて5つ描くプログラムは、
--------------------------------------
// 上のselectPictureBoxに円を描く
private void DrawCircleSelectPictureBox()
{
int height = selectPictureBox.Height; // 高さ
int width = selectPictureBox.Width; // 幅
Bitmap selectCanvas = new Bitmap(width, height);
using (Graphics g = Graphics.FromImage(selectCanvas))
{
for (int i = 0; i < ballCount; i++)
{
g.FillEllipse(brushes[i], i * height, 0, height, height);
}
selectPictureBox.Image = selectCanvas;
}
}
----------------------------------
324ページです。
下の部分に画像を表示するプログラムは、
----------------------------------
// 下のPictureBoxに描画する
private void DrawMainPictureBox(Brush color, string text, bool trueFlag)
{
int height = mainPictureBox.Height; // 高さ
int width = mainPictureBox.Width; // 幅
//描画先とするImageオブジェクトを作成する
if (canvas == null)
{
canvas = new Bitmap(width, height);
}
using (Graphics g = Graphics.FromImage(canvas))
{
// 正解用の背景色にする
if (trueFlag)
{
g.FillRectangle(Brushes.LightPink, 0, 0, width, height);
}
else
{
g.FillRectangle(Brushes.White, 0, 0, width, height);
}
//背景に引数で指定した文字列を描画する
g.DrawString(text,
new Font(fontName, height - height / 4),
color, 0, 0, new StringFormat());
//MainPictureBoxに表示する
mainPictureBox.Image = canvas;
}
------------------------------------
325ページです。
つまり、305ページまでは解説です。まだ時間がかかります。
からない。しばらくながめてみます。
arduino ソレノイドプッシュ型
-----------------------------------
int solenoid = 13;
int tempo = 100;
void setup(){
pinMode(solenoid,OUTPUT);
}
void loop(){
for (int k=0; k<3; k++){
for (int i=0;i<3;i++){
digitalWrite(solenoid,HIGH);
delay(tempo);
digitalWrite(solenoid,LOW);
delay(tempo);
}
delay(tempo*3);
}
digitalWrite(solenoid,HIGH);
delay(tempo);
digitalWrite(solenoid,LOW);
delay(tempo);
delay(tempo*9);
}
-------------------------------
登録:
投稿 (Atom)