忍者ブログ

たるくさん、ブログの名前って何ですか?

競技用ロボットについて書いて行くつもりでしたが、更新があまりに不定期なので、間を持つ為に訳の分からない事書くかもしれません。

03/19

Tue

2024

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

04/05

Sat

2014

引っ越しします。

模型用に別のブログ用意したら、そちらしか更新しなくなってしまいました‥。
↓SUWA模型↓ 一本に統括しますので、よろしければおこしください。



名前はSUWA”模型”ですが、引き続きロボットも製作しています。

PR

11/24

Wed

2010

ありえない。早過ぎるだろ。('A`)
前に書いた日記が6月とか。
 
最近はかわロボの文化祭を点々と見学に行っていました。
本体の方は神皇さんと戦って(?)大破しました故、見学のみです。
かまってもらっただけで大破とかどんだけ弱いんだよ俺のロボット… ('A`;)
 
これからは熱田の森に向けて相撲とラインでも作ろうかと。
最近懐かしい人から電話が来て、ロボット作るというから若干やる気が。
ついでにP板への頼み方が分かったので、このあたりでずっと使い続けるような基板でもつくろうかと考え中。


画像がなくて寂しいので貼りつけ。 
サムネが表示されないとか…
アレ

06/12

Sat

2010

FPGA動かしてみたよ!!!

↓これ。トレーニングボードです。(EDA-002。お値段は結構する)

FPGA

手始めに組んで見ようと思ったのが、1秒間に何回スイッチが押されたか表示するプログラム。
スピンドルに付ければ回転数が表示出来る、的なもの。

一応、秒間1~9回の認識が出来るようになりました、が。

何でマイコンならすぐに出来るものを、いちいちFPGAで6時間かけて作らなけらばならなかったのか…?
(ノA`)これそういうデバイスじゃねぇから!!


覚書用メモ

Cみたいだから楽勝とか思っていたら概念が全然違いました。('A`)
並列処理で適当な時間ウェイト設けようと思ったらクロックやフラグ設けたり面倒な事になった。
(´・ω・`)やり方がいけないんだ、たぶん。作っててパッとしないソースになったから。

■変数の宣言
signal flag : Integer := 0;

signal:信号の種類
flag:変数の名前
Integer:変数の型
= 0:入する数値(省略可能)


■if文
process (PSW_A) begin
if (PSW_A 'event) and (PSW_A='0') then
if (f_log = BBB) then
upc<=upc+1;
else
f_log <= BBB;
log<=upc;
upc<=1;
end if;
end if;
end process;


processで挟まないと怒られる。
しかもprocess内で変更している関数を、別のprocess内で変更しても怒られる。この条件がマジで勘弁してほしい。('A`)

(変数など)(スペース)'event と書くと、関数の中身が変わった時に実行されるIF文になる。
マイコンの割り込みみたいなものか?
入力端子とかを割り振ると、立ち上がり立下りで反応するので、そのあとで
and (変数='0')とすると、立ち上がり立下り後、信号がLOWの時に反応する条件文になるので、立下りを認識する。


■代入
A=B
とか書いていたのが、

A<=Bになる。
矢印のつもりか!! 条件文みたいになってんぞ、ふざけんな!!


■実行するプログラム
何回もくりかえし処理する場合、Cだと
for(;;){
 繰り返すプログラム
}

とかしてたのが、ループがない。
設定した式や条件文を常に実行しているような形になる。
begin以降がメインのようなので、begin以降に条件を書く。



一応ソースをはって置くけど、とても扱える人には見せられない。(:ノω`)


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity test is
port(
CLK:in std_logic;

PSW_A:in std_logic;
PSW_B:in std_logic;
PSW_C:in std_logic;
LED_C:out std_logic;

LCD1_PWR:out std_logic;
LCD2_PWR:out std_logic;
LCD3_PWR:out std_logic;
LCD4_PWR:out std_logic;

LCD_A:out std_logic;
LCD_B:out std_logic;
LCD_C:out std_logic;
LCD_D:out std_logic;
LCD_E:out std_logic;
LCD_F:out std_logic;
LCD_G:out std_logic;
LCD_DOT:out std_logic);
end test;

architecture RTL of test is
signal BBB : Integer := 0;
signal cnt1 : Integer := 0;
signal cnt2 : Integer := 0;
signal upc : Integer := 0;
signal flag : Integer := 0;
signal f_log : Integer := 0;
signal vol : Integer := 0;
signal log : Integer := 0;

begin

process (PSW_A) begin
if (PSW_A 'event) and (PSW_A='0') then
if (f_log = BBB) then
upc<=upc+1;
else
f_log <= BBB;
log<=upc;
upc<=1;
end if;
end if;
end process;

process (CLK) begin
if (CLK 'event) and (CLK='0') then
cnt1<=cnt1+1;
end if;

if (cnt1>100000) then
cnt1<=0;
cnt2<=cnt2+1;
end if;

if (cnt2>70)then
cnt2<=0;
BBB<=BBB+1;

if (BBB < 9)then
BBB<=BBB+1;
elsif (BBB > 8)then
BBB<=0;

end if;
end if;
end process;

process (log) begin
if(log = 0) then
LCD_A<='0';
LCD_B<='0';
LCD_C<='0';
LCD_D<='0';
LCD_E<='0';
LCD_F<='0';
LCD_G<='1';

elsif(log = 1) then
LCD_A<='1';
LCD_B<='0';
LCD_C<='0';
LCD_D<='1';
LCD_E<='1';
LCD_F<='1';
LCD_G<='1';

elsif(log = 2) then
LCD_A<='0';
LCD_B<='0';
LCD_C<='1';
LCD_D<='0';
LCD_E<='0';
LCD_F<='1';
LCD_G<='0';

elsif(log = 3) then
LCD_A<='0';
LCD_B<='0';
LCD_C<='0';
LCD_D<='0';
LCD_E<='1';
LCD_F<='1';
LCD_G<='0';

elsif(log = 4) then
LCD_A<='1';
LCD_B<='0';
LCD_C<='0';
LCD_D<='1';
LCD_E<='1';
LCD_F<='0';
LCD_G<='0';

elsif(log = 5) then
LCD_A<='0';
LCD_B<='1';
LCD_C<='0';
LCD_D<='0';
LCD_E<='1';
LCD_F<='0';
LCD_G<='0';

elsif(log = 6) then
LCD_A<='0';
LCD_B<='1';
LCD_C<='0';
LCD_D<='0';
LCD_E<='0';
LCD_F<='0';
LCD_G<='0';

elsif(log = 7) then
LCD_A<='0';
LCD_B<='0';
LCD_C<='0';
LCD_D<='1';
LCD_E<='1';
LCD_F<='0';
LCD_G<='1';

elsif(log = 8) then
LCD_A<='0';
LCD_B<='0';
LCD_C<='0';
LCD_D<='0';
LCD_E<='0';
LCD_F<='0';
LCD_G<='0';

else
LCD_A<='0';
LCD_B<='0';
LCD_C<='0';
LCD_D<='0';
LCD_E<='1';
LCD_F<='0';
LCD_G<='0';

end if;
end process;

end RTL;

04/12

Mon

2010

お勧め部品「回路部品」

回路図でも載せようとしたら手元に無かったので、お勧め部品でも載せようと思う。
既に雲行が怪しい。('A`)

■DCDCコンバータ――――――

イータ電機 CDCコンバータ



コーセル DC/DCコンバータ


 

絶縁型のDC/DCコンバータで、イータの方は大きさも小さくてgood。
コーセルで小さいのもあるけど。
オールNchのFETドライブ組む時にとても便利。
絶縁電源5Vを元の電源の上に載せればFETゲート用電圧を作れる。
11.1なら、11.1+5=16.1Vを単一電源から作れる

また、相撲でよくつかわれる12V以上必要な光電センサーの電源も、8.4Vのバッテリーからとれる。
あ~、あとライントレースの電源でも光電が使えるようになります。

イータはHPのオンラインストア、コーセルはマルツで買えます。(・ω・`)

■センサー――――――

上でも紹介したオムロンの光電センサー

なんでアマゾンでこんな物売ってるんだ
あと、オリジナルマインドでもひっそり取り扱ってます。
E3Z-D62 または E3Z-D67 をご選択あれ。

太陽光下でも誤動作しないでたらめなセンサー。
非常に高いけど、それに見合った安定性。∑ρ('A`)

■CPU――――――

もうマイコンカーやってるひとならおなじみのあれ。

RY3048F-ONE

マイコンボードと周辺部品はやはりここから
応用が効く人は秋月のAKI-H8/3048F-ONEが安くていい。

使い方なんかはここにすごい詳しく書いてある。使用例なんかも丁寧に。

ちなみに俺は上の資料が無かったらH8使えてないっていう…


あとは、
AVRの AT-tiny2313
秋月で書き込みボードマイコンが買えます。

使い方はAVR wikiに殆ど?のっています。
ちなみに俺は上の資料が(ry

2313だとちょっと記述がずれるかな?ただ、開発環境のAVRSutdioにヒントになるポートの記述が載ってるからなんとかなるか?


ビジュアルはこんなん。

■コネクタ――――――

どうでもいいかもしれないけど、コネクターはXAコネクターのパチッとはまる感じがgood('∀`)

■工具――――――
加えてどうでも良いこと書くと、使うニッパーはケイバのプラスチック用ニッパー(先端形状:フラット)が最高に使いやすいです。

04/12

Mon

2010

今日は帰さないからね////

\  ___________/
 |/
[CNC] <ガガガ、ガリガリガリ

今日はプログラムの試験切削のために、帰れそうにありません(会社から)。
しかし、帰れない割には、ただ切削が終わるのを待っているだけなので、非常に暇です。

('A`)

どちら様かから技術資料でものせれば?と言われたので、暇な今のうちにのせてしまおうと思う。
さぁ、暇な戦いが、今始まる!!!!

あぁ、ボーダーブレイク行きてぇ。

カレンダー

02 2024/03 04
S M T W T F S
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

訪問者数

プロフィール

HN:
たるく
年齢:
37
性別:
男性
誕生日:
1986/03/24
職業:
学生
趣味:
ロボット製作
自己紹介:
"諏訪東京理科大学"の中の人
で分かってほしい人には分かってもらえると思う。

競技大会用のロボット作ってる、今年から社会人な人です。

ブログ内検索

アクセス解析

Copyright © たるくさん、ブログの名前って何ですか? : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]