2015年09月06日
やっと動いた
おはようございます
ずっと作っていたマイクロロボット!完成しましたよ
しかし、エレクトロニクス的な部分はできたんですが、
メカトロニクス的な部分が間に合わず
タイヤ方式ができませんでした
なので、今回はブルブルカーの知識を応用して作ってみました
ブルブルカーってなんやねん!って人は
1インチ四方に収まるように設計していました
この時に、歯ブラシをどうすれば、進むようになるかなど、わかってきたので
応用していきます
そして、関したものの動画
かなりごつくなってきました
今回は、故障した部分を切り離して予備パーツと変えられるように設計しました
モータもバネ式にして交換できるようにしました
大会は12日なんで、それまでに、もっとプログラムを調整しなくては
今は、比例制御といって、センサを左右に振っているので
これをなんとかして、減らしていく作業です
しかし、PID制御ってなんなんだよ
ずっと作っていたマイクロロボット!完成しましたよ
しかし、エレクトロニクス的な部分はできたんですが、
メカトロニクス的な部分が間に合わず
タイヤ方式ができませんでした
なので、今回はブルブルカーの知識を応用して作ってみました
ブルブルカーってなんやねん!って人は
1インチ四方に収まるように設計していました
この時に、歯ブラシをどうすれば、進むようになるかなど、わかってきたので
応用していきます
そして、関したものの動画
かなりごつくなってきました
今回は、故障した部分を切り離して予備パーツと変えられるように設計しました
モータもバネ式にして交換できるようにしました
大会は12日なんで、それまでに、もっとプログラムを調整しなくては
今は、比例制御といって、センサを左右に振っているので
これをなんとかして、減らしていく作業です
しかし、PID制御ってなんなんだよ
2015年08月15日
マイクロロボット締め切り近いのに
こんいちは!
さて、参戦記間に合うでしょうかw
全然進んでません
さて、マイクロロボットです
今まで散々やってきたんですけど

完成しました

旋盤でタイヤを作ってしまいました
カラーはミニ四駆ので代用です
しかし・・・27mmなんです
ルールでは25.4mmなんでオーバーしています
一応自作基盤であれば3mmまでオーバーは可!と
なっていますが、それはやっぱり保険で取っておきたいところなんで
もう一回設計を練り直そうかと
締め切りが29日までなんで・・・あれぇ~?
そうそう、ライフルのサイトできましたぁ~
前回のだと厳しいかなって思ったので
軽くサイトあわせしたので、どこか10m撃てるところで確認したいですね
大阪が13日なんですよね
12日がマイクロロボット本番・・・その次の日だから日帰りか・・・
ちょっと厳しそうだな
次のライフル公式っていつなんだ?
さて、参戦記間に合うでしょうかw
全然進んでません
さて、マイクロロボットです
今まで散々やってきたんですけど
完成しました
旋盤でタイヤを作ってしまいました
カラーはミニ四駆ので代用です
しかし・・・27mmなんです
ルールでは25.4mmなんでオーバーしています
一応自作基盤であれば3mmまでオーバーは可!と
なっていますが、それはやっぱり保険で取っておきたいところなんで
もう一回設計を練り直そうかと
締め切りが29日までなんで・・・あれぇ~?
そうそう、ライフルのサイトできましたぁ~
前回のだと厳しいかなって思ったので
軽くサイトあわせしたので、どこか10m撃てるところで確認したいですね
大阪が13日なんですよね
12日がマイクロロボット本番・・・その次の日だから日帰りか・・・
ちょっと厳しそうだな
次のライフル公式っていつなんだ?
2015年07月06日
マイクロロボットあと少し
2015年04月19日
マイクロロボット 新設計
2015年02月26日
ブザー回路9
おはようございます、ハロです
最近、お昼を食べると急激に眠くなってしまいます
さて、今回もブザー回路です
回路図とプログラム等を公開していきたいと思います
作りたい人の参考になればと・・・ただ、IPSCがちょっと不安です
これは、まだ実証してないので、そこらへんは適当にやっといてください
PICを取り外して書き込んでもらえれば一番いいんですが

まずは、回路図
そして、プログラム
#include <stdio.h>
#include <stdlib.h>
/*******************************************************
*3秒タイマーを作ります2015_01_11
*******************************************************/
#include <pic.h>
//#include <delays.h> //pic.hの中に入ってるそうです
#define _XTAL_FREQ 4000000
// PIC16F676 Configuration Bit Settings
#include <xc.h>
// CONFIG
#pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSC oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = OFF // RA3/MCLR pin function select (RA3/MCLR pin function is digital I/O, MCLR internally tied to VDD)
#pragma config BOREN = OFF // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
int main() {
//前処理
OSCCAL =0b10000000;//4MHzの中央値?使う
CMCON= 0b00000111;//コンパレータOFF 111で全オフ 下3ケタで動作モード切替
TRISA =0b00100000;
//TRISA =0b00001001;//RA0,RA3入力
TRISC =0b00011000;//RC3,RC4入力
PORTA=0b00000000;
PORTC =0b00000000;
OPTION_REG =0b11010110;
ANSEL=0b00000000;
GIE = 1;//割り込み許可
T0IE =0;//タイマ割込み許可
while(1){
if(RC4==1){
RC0=1;
RC1=1;
_delay(1222200);
RC0=0;
RC1=1;
_delay(2464200);
RC0=1;
RC1=1;
_delay(1200000);
RC0=0;
RC1=0;
}
else if(RC3==1){
RC0=0;
RC1=1;
_delay(3648649);
RC0=1;
RC1=1;
_delay(1222200);
RC0=0;
RC1=1;
_delay(2464200);
RC0=1;
RC1=1;
_delay(1200000);
RC0=0;
RC1=0;
}
}
}
MPLABでXC8のコンパイラで書きました
部品表
PIC:16F676
ブザ:圧電ブザー
npn型:1815GR
スイッチ:タクトスイッチ
抵抗:すべて1kΩ1/4W
という感じで、部品でした
以上でブザー回路終了!ってことで
次は、何しましょうか
最近、お昼を食べると急激に眠くなってしまいます
さて、今回もブザー回路です
回路図とプログラム等を公開していきたいと思います
作りたい人の参考になればと・・・ただ、IPSCがちょっと不安です
これは、まだ実証してないので、そこらへんは適当にやっといてください
PICを取り外して書き込んでもらえれば一番いいんですが

まずは、回路図
そして、プログラム
#include <stdio.h>
#include <stdlib.h>
/*******************************************************
*3秒タイマーを作ります2015_01_11
*******************************************************/
#include <pic.h>
//#include <delays.h> //pic.hの中に入ってるそうです
#define _XTAL_FREQ 4000000
// PIC16F676 Configuration Bit Settings
#include <xc.h>
// CONFIG
#pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSC oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = OFF // RA3/MCLR pin function select (RA3/MCLR pin function is digital I/O, MCLR internally tied to VDD)
#pragma config BOREN = OFF // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
int main() {
//前処理
OSCCAL =0b10000000;//4MHzの中央値?使う
CMCON= 0b00000111;//コンパレータOFF 111で全オフ 下3ケタで動作モード切替
TRISA =0b00100000;
//TRISA =0b00001001;//RA0,RA3入力
TRISC =0b00011000;//RC3,RC4入力
PORTA=0b00000000;
PORTC =0b00000000;
OPTION_REG =0b11010110;
ANSEL=0b00000000;
GIE = 1;//割り込み許可
T0IE =0;//タイマ割込み許可
while(1){
if(RC4==1){
RC0=1;
RC1=1;
_delay(1222200);
RC0=0;
RC1=1;
_delay(2464200);
RC0=1;
RC1=1;
_delay(1200000);
RC0=0;
RC1=0;
}
else if(RC3==1){
RC0=0;
RC1=1;
_delay(3648649);
RC0=1;
RC1=1;
_delay(1222200);
RC0=0;
RC1=1;
_delay(2464200);
RC0=1;
RC1=1;
_delay(1200000);
RC0=0;
RC1=0;
}
}
}
MPLABでXC8のコンパイラで書きました
部品表
PIC:16F676
ブザ:圧電ブザー
npn型:1815GR
スイッチ:タクトスイッチ
抵抗:すべて1kΩ1/4W
という感じで、部品でした
以上でブザー回路終了!ってことで
次は、何しましょうか
2015年02月22日
ブザー回路8
2015年02月16日
ブザー回路7
あれよあれよと、7回目
前回の記事では、ブレッドボードで作成しました
今回は、ユニバーサル基盤で作成しました
それと、色々と追加してみました
・PICを取らなくても書き込みができるようにする
・動作確認用LEDを入れる
以上の2点を追加しました
ついでに、電池も一個の箱にまとめてみました

電池は単三電池2本

こんな風にしまうことができました

電源確認用のLED
前回、まぶしかったので少し暗いLEDにしてみました

動作確認用LED
delayを付けたら、スイッチが押されたかどうかがわからないので
視覚的にわかるように入れてみました
これを、富士見の練習会に持って行こうと思います
はぁ~なんとかここまで来たなって感じです
ただ、書き込み用のコネクタで書き込みができなかったので
その原因を探してみようと思います
前回の記事では、ブレッドボードで作成しました
今回は、ユニバーサル基盤で作成しました
それと、色々と追加してみました
・PICを取らなくても書き込みができるようにする
・動作確認用LEDを入れる
以上の2点を追加しました
ついでに、電池も一個の箱にまとめてみました

電池は単三電池2本

こんな風にしまうことができました

電源確認用のLED
前回、まぶしかったので少し暗いLEDにしてみました

動作確認用LED
delayを付けたら、スイッチが押されたかどうかがわからないので
視覚的にわかるように入れてみました
これを、富士見の練習会に持って行こうと思います
はぁ~なんとかここまで来たなって感じです
ただ、書き込み用のコネクタで書き込みができなかったので
その原因を探してみようと思います
2015年02月14日
ブザー回路6
こんにちは、いい天気ですね

前回の記事で作ったものを、持ち運びしやすいように変更していきます
ついでに、一人練習用も作ってみました
箱は、電気工事のときにもらった、リングスリーブの箱です
とりあえず、ブレッドボードで

電源確認用のLEDも追加してみました
青いスイッチが3秒後に実行
赤いスイッチがすぐ実行
さて、今回は秒数の話
前回の記事で秒数がおかしいなってことで
スマホのアプリで計測してみました
本当は、信号を検出して計ればいいんですが
今回は音を検出してその時間を計ります
前回の時間設定では、体感的にも早く感じ
感で数値を変換して測定してみます
RC5=1;
_delay(1200000);
RC5=0;
_delay(2400000);
と書き直したらこのような結果でした
1回目 2.84秒
2回目 2.96秒
3回目 2.96秒
4回目 2.82秒
5回目 2.97秒
6回目 2.96秒
平均2.92秒
大体3秒となりました
±2%で集めていくと・・・
まぁ2.96秒が3回あるので、今回は
ほぼ2.96秒であるとします
(2.97秒もあるしね)
では、最初のときはどうだったのか
RC5=1;
_delay(1000000);
RC5=0;
_delay(2000000);
のときは、わかりませんが若干早く感じました
なので、計算で算出していきたいと思います
3600000:2.96=3000000:X
X≒2.467秒
やっぱり、速かったんですね
3秒ぴったりにするためには・・・
3600000:2.96=Y:3.00
Y≒3648648.648
ってことで、循環小数ですね
四捨五入で・・・3,648,649ってことでいいでしょう
ということで、日曜日は赤羽で行われる
APS試合形式練習会があるので
そちらに、実物を持っていきたいと思います

前回の記事で作ったものを、持ち運びしやすいように変更していきます
ついでに、一人練習用も作ってみました
箱は、電気工事のときにもらった、リングスリーブの箱です
とりあえず、ブレッドボードで

電源確認用のLEDも追加してみました
青いスイッチが3秒後に実行
赤いスイッチがすぐ実行
さて、今回は秒数の話
前回の記事で秒数がおかしいなってことで
スマホのアプリで計測してみました
本当は、信号を検出して計ればいいんですが
今回は音を検出してその時間を計ります
前回の時間設定では、体感的にも早く感じ
感で数値を変換して測定してみます
RC5=1;
_delay(1200000);
RC5=0;
_delay(2400000);
と書き直したらこのような結果でした
1回目 2.84秒
2回目 2.96秒
3回目 2.96秒
4回目 2.82秒
5回目 2.97秒
6回目 2.96秒
平均2.92秒
大体3秒となりました
±2%で集めていくと・・・
まぁ2.96秒が3回あるので、今回は
ほぼ2.96秒であるとします
(2.97秒もあるしね)
では、最初のときはどうだったのか
RC5=1;
_delay(1000000);
RC5=0;
_delay(2000000);
のときは、わかりませんが若干早く感じました
なので、計算で算出していきたいと思います
3600000:2.96=3000000:X
X≒2.467秒
やっぱり、速かったんですね
3秒ぴったりにするためには・・・
3600000:2.96=Y:3.00
Y≒3648648.648
ってことで、循環小数ですね
四捨五入で・・・3,648,649ってことでいいでしょう
ということで、日曜日は赤羽で行われる
APS試合形式練習会があるので
そちらに、実物を持っていきたいと思います
2015年02月12日
ブザー回路5
こんにちは、ハロです
また、ブザー回路になります

ちょっと回路を整理してみようかと整理しました
実は、間違えだらけでした
PICの電源部に10μFと0.1μFを並列で入れてたんですが
いらなくて、0.1μFだけにしました
そして、トランジスタnpn型のEとBに10kΩを入れていましたが
これは意味がないとのこと、入れるならば出力ピンからの信号線に入れなさいってことで
計算方法なんですが、まずトランジスタの増幅率を調べないといけないようです
今回使っているのは1815GRってもので
200~400倍だそうです
なので200倍と考えてみます
今回の使用電圧は3V
ブザーの抵抗は約200Ω
トランジスタのVEBは0.6V
んで計算
そもそも、なんで抵抗入れなくちゃならんのかって
トランジスタは電流操作なので、抵抗を入れて電流で操作しやすくするのが目的なようです
詳しくは、こちらで読んでました
でも、EとBに抵抗を入れるのも、あながち間違ってなかったのかな?なんて

とにかく、これではだめなので、また新しく作ってみました
今度は、ゼロプレッシャーを入れて、書き込んでは試して、書き込んでは試してとやっていきます
PIC自体は数個買ってきてあるので、だめになってもいいや!ってとにかくやってみます
トライ&エラーだ!
そして、プログラムがこんな風になりました
/*
* File: newmain.c
* Author: kushihashi
*
* Created on 2013/08/08, 1:47
*/
#include <stdio.h>
#include <stdlib.h>
/*******************************************************
*3秒タイマーを作ります2015_01_11
*******************************************************/
#include <pic.h>
//#include <delays.h> //pic.hの中に入ってるそうです
#define _XTAL_FREQ 4000000
// PIC16F676 Configuration Bit Settings
#include <xc.h>
// CONFIG
#pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSC oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = OFF // RA3/MCLR pin function select (RA3/MCLR pin function is digital I/O, MCLR internally tied to VDD)
#pragma config BOREN = OFF // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
int main() {
//前処理
OSCCAL =0b10000000;//4MHzの中央値?使う
CMCON= 0b00000111;//コンパレータOFF 111で全オフ 下3ケタで動作モード切替
TRISA =0b00100000;
//TRISA =0b00001001;//RA0,RA3入力
TRISC =0b00010000;//PORTC全て出力
PORTA=0b00000000;
PORTC =0b00000000;
OPTION_REG =0b11010110;
ANSEL=0b00000000;
GIE = 1;//割り込み許可
T0IE =0;//タイマ割込み許可
while(1){
if(RC4==1){
RC5=1;
_delay(1000000);
RC5=0;
_delay(2000000);
RC5=1;
_delay(1200000);
RC5=0;
}
/*else if(RA5==1 && RA4==1){
RC5=0;
_delay(3000);
RC5=1;
_delay(1000);
RC5=0;
_delay(2000);
RC5=1;
_delay(1000);
RC5=0;
}*/
}
}
前文のほうの設定については、調べながら、使わないやつをOFFにしていって
いらない文も消していきました
#include <xc.h>
で、xc.hがなくなっていたのは、HTMLで< > が予約文字になっていたためでした
ただ、わからないことがあるんですよ
_delay(1000000);
で、1秒のつもりなんですが、なんだか早く感じる
スマホのアプリで時間を測ると0.8秒とでた
このままでは、正確な時間が設定できない
これは、使用電圧とかが関係があるんだろうか
発振素子を積んでないとだめなのかな
4MHzってのは1μ秒ってことなんじゃ?
また、ブザー回路になります

ちょっと回路を整理してみようかと整理しました
実は、間違えだらけでした
PICの電源部に10μFと0.1μFを並列で入れてたんですが
いらなくて、0.1μFだけにしました
そして、トランジスタnpn型のEとBに10kΩを入れていましたが
これは意味がないとのこと、入れるならば出力ピンからの信号線に入れなさいってことで
計算方法なんですが、まずトランジスタの増幅率を調べないといけないようです
今回使っているのは1815GRってもので
200~400倍だそうです
なので200倍と考えてみます
今回の使用電圧は3V
ブザーの抵抗は約200Ω
トランジスタのVEBは0.6V
んで計算
そもそも、なんで抵抗入れなくちゃならんのかって
トランジスタは電流操作なので、抵抗を入れて電流で操作しやすくするのが目的なようです
詳しくは、こちらで読んでました
でも、EとBに抵抗を入れるのも、あながち間違ってなかったのかな?なんて

とにかく、これではだめなので、また新しく作ってみました
今度は、ゼロプレッシャーを入れて、書き込んでは試して、書き込んでは試してとやっていきます
PIC自体は数個買ってきてあるので、だめになってもいいや!ってとにかくやってみます
トライ&エラーだ!
そして、プログラムがこんな風になりました
/*
* File: newmain.c
* Author: kushihashi
*
* Created on 2013/08/08, 1:47
*/
#include <stdio.h>
#include <stdlib.h>
/*******************************************************
*3秒タイマーを作ります2015_01_11
*******************************************************/
#include <pic.h>
//#include <delays.h> //pic.hの中に入ってるそうです
#define _XTAL_FREQ 4000000
// PIC16F676 Configuration Bit Settings
#include <xc.h>
// CONFIG
#pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSC oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = OFF // RA3/MCLR pin function select (RA3/MCLR pin function is digital I/O, MCLR internally tied to VDD)
#pragma config BOREN = OFF // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
int main() {
//前処理
OSCCAL =0b10000000;//4MHzの中央値?使う
CMCON= 0b00000111;//コンパレータOFF 111で全オフ 下3ケタで動作モード切替
TRISA =0b00100000;
//TRISA =0b00001001;//RA0,RA3入力
TRISC =0b00010000;//PORTC全て出力
PORTA=0b00000000;
PORTC =0b00000000;
OPTION_REG =0b11010110;
ANSEL=0b00000000;
GIE = 1;//割り込み許可
T0IE =0;//タイマ割込み許可
while(1){
if(RC4==1){
RC5=1;
_delay(1000000);
RC5=0;
_delay(2000000);
RC5=1;
_delay(1200000);
RC5=0;
}
/*else if(RA5==1 && RA4==1){
RC5=0;
_delay(3000);
RC5=1;
_delay(1000);
RC5=0;
_delay(2000);
RC5=1;
_delay(1000);
RC5=0;
}*/
}
}
前文のほうの設定については、調べながら、使わないやつをOFFにしていって
いらない文も消していきました
#include <xc.h>
で、xc.hがなくなっていたのは、HTMLで< > が予約文字になっていたためでした
ただ、わからないことがあるんですよ
_delay(1000000);
で、1秒のつもりなんですが、なんだか早く感じる
スマホのアプリで時間を測ると0.8秒とでた
このままでは、正確な時間が設定できない
これは、使用電圧とかが関係があるんだろうか
発振素子を積んでないとだめなのかな
4MHzってのは1μ秒ってことなんじゃ?
2015年02月02日
ブザー回路4
しかし、動かない

S1を押しボタンスイッチに変更しました
電源のつもりのスイッチも意味がないことが分かったので
電源の乾電池にスイッチを入れてみました
さて、これで実行してみたんですが、動きません><
/*
* File: newmain.c
* Author: kushihashi
*
* Created on 2013/08/08, 1:47
*/
#include
#include
/*******************************************************
*3秒タイマーを作ります2015_01_11
*******************************************************/
#include
//#include
#define _XTAL_FREQ 4000000
// PIC16F676 Configuration Bit Settings
#include
// CONFIG
#pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSC oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = OFF // RA3/MCLR pin function select (RA3/MCLR pin function is digital I/O, MCLR internally tied to VDD)
#pragma config BOREN = OFF // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
int main(int argc, char** argv) {
//前処理
OSCCAL =0b10000000;//4MHzの中央値?使う
CMCON= 0b00000111;//コンパレータOFF
TRISA =0b00100000;
//TRISA =0b00001001; //RA4,RA5入力
TRISC =0b00000000;//PORTC全て出力
PORTA=0b00000000;
PORTC =0b00000000;
OPTION_REG =0b11010110;
ANSEL=0b00000001;
GIE = 1;//割り込み許可
T0IE =1;//タイマ割込み許可
RA5 = 0; //U3
RA1 = 1;
RA2 = 1;
RA4 = 1;
while(1){
if(RA5==1){
RC5=1;
_delay(1000);
RC5=0;
_delay(2000);
RC5=1;
_delay(1000);
RC5=0;
}
/*else if(RA5==1 && RA4==1){
RC5=0;
_delay(3000);
RC5=1;
_delay(1000);
RC5=0;
_delay(2000);
RC5=1;
_delay(1000);
RC5=0;
}*/
}
return (EXIT_SUCCESS);
}
とりあえず、S2のプログラムは置いといて
S1のほうだけ動かしてみます
RC5つまり5番ピンから出力が来るはずなんです
その出力をNPNトランジスタでスイッチングします
ブザーを動かすということで、1815GRにしています
ブザー自体も、テスター用のブザーで1.5Vでも動作確認済みです
んで、全然動きません><
ライターがだめなのか?
でも、コンプリートって出ているのになんででしょう?
ためしに、アールディーノでやってみたら動いたんですよ
んで、1815GRのベースとエミッタに10kΩの抵抗を入れるのが
どうなのかなって思ってましたが、入れても、入れなくても動作する
本当は、どっちがいいんでしょうか?
いったいどこが間違っているんだ

S1を押しボタンスイッチに変更しました
電源のつもりのスイッチも意味がないことが分かったので
電源の乾電池にスイッチを入れてみました
さて、これで実行してみたんですが、動きません><
/*
* File: newmain.c
* Author: kushihashi
*
* Created on 2013/08/08, 1:47
*/
#include
#include
/*******************************************************
*3秒タイマーを作ります2015_01_11
*******************************************************/
#include
//#include
#define _XTAL_FREQ 4000000
// PIC16F676 Configuration Bit Settings
#include
// CONFIG
#pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSC oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = OFF // RA3/MCLR pin function select (RA3/MCLR pin function is digital I/O, MCLR internally tied to VDD)
#pragma config BOREN = OFF // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
int main(int argc, char** argv) {
//前処理
OSCCAL =0b10000000;//4MHzの中央値?使う
CMCON= 0b00000111;//コンパレータOFF
TRISA =0b00100000;
//TRISA =0b00001001; //RA4,RA5入力
TRISC =0b00000000;//PORTC全て出力
PORTA=0b00000000;
PORTC =0b00000000;
OPTION_REG =0b11010110;
ANSEL=0b00000001;
GIE = 1;//割り込み許可
T0IE =1;//タイマ割込み許可
RA5 = 0; //U3
RA1 = 1;
RA2 = 1;
RA4 = 1;
while(1){
if(RA5==1){
RC5=1;
_delay(1000);
RC5=0;
_delay(2000);
RC5=1;
_delay(1000);
RC5=0;
}
/*else if(RA5==1 && RA4==1){
RC5=0;
_delay(3000);
RC5=1;
_delay(1000);
RC5=0;
_delay(2000);
RC5=1;
_delay(1000);
RC5=0;
}*/
}
return (EXIT_SUCCESS);
}
とりあえず、S2のプログラムは置いといて
S1のほうだけ動かしてみます
RC5つまり5番ピンから出力が来るはずなんです
その出力をNPNトランジスタでスイッチングします
ブザーを動かすということで、1815GRにしています
ブザー自体も、テスター用のブザーで1.5Vでも動作確認済みです
んで、全然動きません><
ライターがだめなのか?
でも、コンプリートって出ているのになんででしょう?
ためしに、アールディーノでやってみたら動いたんですよ
んで、1815GRのベースとエミッタに10kΩの抵抗を入れるのが
どうなのかなって思ってましたが、入れても、入れなくても動作する
本当は、どっちがいいんでしょうか?
いったいどこが間違っているんだ
2015年01月23日
ブザー回路3
2015年01月23日
ブザー回路2
おはようございます
ここ数日、ドタバタコメディーのように、もうドタバタしていました
もう、へとへとです
さて、ブザー回路の続きです

まずは、一個のスイッチで動かしてみます
前回のアールディーノのほうで作ったスイッチ回路を使って動かしてみます

その前に、ライターを作成します
こんな感じで大丈夫なようです

ライターはPICKIT3です
プログラムは、先日公開した回路からスライドスイッチを外した状態になります
ブザーは1.5Vでも動くものを使用します
スイッチを押したところ
ブザーが、かすかな音を奏でました!
とりあえず、成功なようです

次は、スライドスイッチを追加します
この時に、新しくプログラムを入れようとして
前回のを入れました
結果、入力を全部出力にしてしまっていたため
入力信号が入らず、起動しませんでした
ここ数日、ドタバタコメディーのように、もうドタバタしていました
もう、へとへとです
さて、ブザー回路の続きです

まずは、一個のスイッチで動かしてみます
前回のアールディーノのほうで作ったスイッチ回路を使って動かしてみます

その前に、ライターを作成します
こんな感じで大丈夫なようです

ライターはPICKIT3です
プログラムは、先日公開した回路からスライドスイッチを外した状態になります
ブザーは1.5Vでも動くものを使用します
スイッチを押したところ
ブザーが、かすかな音を奏でました!
とりあえず、成功なようです

次は、スライドスイッチを追加します
この時に、新しくプログラムを入れようとして
前回のを入れました
結果、入力を全部出力にしてしまっていたため
入力信号が入らず、起動しませんでした
2015年01月18日
ブザー回路

回路図書いてみました
SW3は電源用スイッチ
SW1が動作スイッチで
SW2が切り替えスイッチです
SW1をタクトスイッチにして、2番ピンに接続します
プルダウン抵抗を入れて動作を安定させます
そして、SW2はスライドスイッチにして、ONの場合はdelayを入れて
一人練習用に切り替えます
プログラムは以下の通り
-------------------------------------
/*
* File: newmain.c
* Author: miura
*
* Created on 2015/01/15, 1:47
*/
#include
#include
/*******************************************************
*3秒タイマーを作ります2015_01_11
*******************************************************/
#include
//#include
#define _XTAL_FREQ 4000000
// PIC16F676 Configuration Bit Settings
#include
// CONFIG
#pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSC oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = OFF // RA3/MCLR pin function select (RA3/MCLR pin function is digital I/O, MCLR internally tied to VDD)
#pragma config BOREN = OFF // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
int main(int argc, char** argv) {
//前処理
OSCCAL =0b10000000;//4MHzの中央値?使う
CMCON= 0b00000111;//コンパレータOFF
TRISA =0b00000000;
TRISC =0b00000000;//PORTC全て出力
PORTA=0b00000000;
PORTC =0b00000000;
OPTION_REG =0b11010110;
ANSEL=0b00000001;
GIE = 1;//割り込み許可
T0IE =1;//タイマ割込み許可
RA5 = 0; //U3
RA1 = 1;
RA2 = 1;
RA4 = 0;
while(1){
if(RA5==1 && RA4==0){
RC5=0;
_delay(200);
RC5=1;
_delay(1000);
RC5=0;
_delay(2000);
RC5=1;
_delay(1000);
RC5=0;
}
else if(RA5==1 && RA4==1){
RC5=0;
_delay(3000);
RC5=1;
_delay(1000);
RC5=0;
_delay(2000);
RC5=1;
_delay(1000);
RC5=0;
}
}
return (EXIT_SUCCESS);
}
-------------------------------------ーーーー
出力ピンは5番にしました
ほかのポートは出力モードにしているので、プルアップとかはしなくても大丈夫なようです
出力が弱いので、ブザーを動かすために、npnトランジスタを入れてみました
PICは16f676を使用
4MHzだと2Vで動作するので、使用しました・・・というか、いっぱいあったので
電源は単三電池2本の3V
プルダウン抵抗として10kΩを入れています
これであってるかな?
あ・・・今気づいたけど、RAのポート入力に設定してないんじゃないかこれww
2015年01月17日
充電器とモータとバッテリ
こんばんは、残業してても残業代なんてないんですよ
さて、今回買ったのは・・・

リチウムポリマーバッテリ充電器です
この充電器はディプススイッチがついており、10mAから150mAまで充電することができます

そしてそのバッテリ
いつも使っているのは、50mAなのですが、ときどき70mAを使うときがあるので
これにしました。決まっているものより少し高いんですが、今後のことを考えて買ってみました
バッテリは3.7vあるのでいろんな場面で使えそうです

モータ
今回買ったモータは、接点がバネになっており、配線をしなくても接続できるだろうと買ってみました
前回のマイクロロボットの時では、モータ配線で苦しい思いをしたので、今回はバネでつけてやろうって魂胆です
さて、こんな感じでやってますが
いまだに、マシンの構成やプログラムもできてません
ようやく、PICが少し使えるようになってきていますが、まだまだって感じです
今度配線図を書いて投稿しようと思います
さて、今回買ったのは・・・
リチウムポリマーバッテリ充電器です
この充電器はディプススイッチがついており、10mAから150mAまで充電することができます
そしてそのバッテリ
いつも使っているのは、50mAなのですが、ときどき70mAを使うときがあるので
これにしました。決まっているものより少し高いんですが、今後のことを考えて買ってみました
バッテリは3.7vあるのでいろんな場面で使えそうです
モータ
今回買ったモータは、接点がバネになっており、配線をしなくても接続できるだろうと買ってみました
前回のマイクロロボットの時では、モータ配線で苦しい思いをしたので、今回はバネでつけてやろうって魂胆です
さて、こんな感じでやってますが
いまだに、マシンの構成やプログラムもできてません
ようやく、PICが少し使えるようになってきていますが、まだまだって感じです
今度配線図を書いて投稿しようと思います
2015年01月08日
モーター部
おはようございます
毎朝寒い日々が続いていますが、マイクロロボットの話です
3DCADでマシンの設計をしています
問題は、モータとタイヤの位置関係などが合っているかどうかをチェックします

3Dプリンタで出力してみました
モータは通常で買うと500円なんですが、ケータイの中に入っているバイブレーションモータは50円と
格安なので、そのモータから重りを取ってみました
そして、モータ部にはバネがついているので、基板を上からくっつけるだけで配線ができるようになります
以前は、モータ配線を基板に取り付けていたのですが、コードを長くする必要があり、その後絡まったり邪魔になるなど
弊害が多かったので、このモータを使用します
でも、問題があって
どのように、基板を固定するかが、決まっていません
どうやって固定したらいいですかね?
毎朝寒い日々が続いていますが、マイクロロボットの話です
3DCADでマシンの設計をしています
問題は、モータとタイヤの位置関係などが合っているかどうかをチェックします

3Dプリンタで出力してみました
モータは通常で買うと500円なんですが、ケータイの中に入っているバイブレーションモータは50円と
格安なので、そのモータから重りを取ってみました
そして、モータ部にはバネがついているので、基板を上からくっつけるだけで配線ができるようになります
以前は、モータ配線を基板に取り付けていたのですが、コードを長くする必要があり、その後絡まったり邪魔になるなど
弊害が多かったので、このモータを使用します
でも、問題があって
どのように、基板を固定するかが、決まっていません
どうやって固定したらいいですかね?
2014年12月26日
点滅回路と照度センサ
おはようございます
なんだか、更新していませんでしたね
師走って言いますけど、今そんな感じでした
でも、それもひと段落し、ゴロゴロしています
さて、最近鉄砲撃ってません
イメージトレーニングだけで、撃ってません
オフシーズンだし、いいかなって
んで、今何をやってるのかっていうと

こんなのばっかり
青色発光ダイオードの点滅回路を作ってみたり
CDS使って光らせたり
なので、ちょっと銃と関係ないけど電子回路とかをまとめてみようかと思います
あと、刃物を研ぐってことをやってます
ドリルの刃から始まり、バイト、ノミ、彫刻刀などなど
むずかしいけど、楽しい
何書きたいんだろうか
ライントレーサーの話でも行きますか?
生活に役に立つものってことで、シュレダーってどうでしょう
なんだか、更新していませんでしたね
師走って言いますけど、今そんな感じでした
でも、それもひと段落し、ゴロゴロしています
さて、最近鉄砲撃ってません
イメージトレーニングだけで、撃ってません
オフシーズンだし、いいかなって
んで、今何をやってるのかっていうと

こんなのばっかり
青色発光ダイオードの点滅回路を作ってみたり
CDS使って光らせたり
なので、ちょっと銃と関係ないけど電子回路とかをまとめてみようかと思います
あと、刃物を研ぐってことをやってます
ドリルの刃から始まり、バイト、ノミ、彫刻刀などなど
むずかしいけど、楽しい
何書きたいんだろうか
ライントレーサーの話でも行きますか?
生活に役に立つものってことで、シュレダーってどうでしょう
2014年09月08日
ラジQのモータを使う
なんか、この記事長くなりそうなので
カテゴリーを作ってみました

以前から、やっていますマイクロロボット
もう、どうしたらいいのかわからず、大会も目前となっています
そして、先日にラジQをいただいたので、さっそく使ってみることに


ばらしてみると、なんとも簡単な構造になっていました
これなら、ちょっと改造してやりたい気持がありますが
取りあえず、モーターとギアを拝借します

こんなところにネジが


fmfm
これはよさそうです
このまま使おうかな

モータ自体は、こんなものちょっと大きめです
でもシャフト径がφ0.6なんで、共有できそうです

こっちも、使えそうですが
パラしたら、粉々になりそうなので、もう少したってから
もう、何がダメなのか分らなくなってきたので
picを取ろうと、ホットプレート!
これが便利なんですよ
180度で3分ほど
カテゴリーを作ってみました

以前から、やっていますマイクロロボット
もう、どうしたらいいのかわからず、大会も目前となっています
そして、先日にラジQをいただいたので、さっそく使ってみることに


ばらしてみると、なんとも簡単な構造になっていました
これなら、ちょっと改造してやりたい気持がありますが
取りあえず、モーターとギアを拝借します

こんなところにネジが


fmfm
これはよさそうです
このまま使おうかな

モータ自体は、こんなものちょっと大きめです
でもシャフト径がφ0.6なんで、共有できそうです

こっちも、使えそうですが
パラしたら、粉々になりそうなので、もう少したってから
もう、何がダメなのか分らなくなってきたので
picを取ろうと、ホットプレート!
これが便利なんですよ
180度で3分ほど