- ベストアンサー
PICについて
PICについて勉強していこうと思っている者です。 3つPICについてお聞きしたいことがあります。 1・PICでLEDを調光することは可能なのでしょうか? 2・PICでLEDの点灯をプリセットできるのでしょうか? 点滅→3秒点灯→消灯→5秒点灯 上のような感じのことはできますでしょうか? 3・3000円前後または以下のPICライターございますでしょうか? 今まで、電子工作はやってきたものPICには今まで全然ふれてなく 興味がでてきて勉強したいと思います。 教えていただければ、幸いです。よろしくお願いします。
- weret
- お礼率28% (2/7)
- その他(プログラミング・開発)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
1・PICでLEDを調光することは可能なのでしょうか? デューティ比(点灯と消灯の比率)を制御することで明るさを制御することが出来ます。 2・PICでLEDの点灯をプリセットできるのでしょうか? 点滅→3秒点灯→消灯→5秒点灯 上のような感じのことはできますでしょうか? プログラム次第でどのようにも制御が可能です。 点滅のパターンもスイッチなどを使って切り替える事が可能です。 3・3000円前後または以下のPICライターございますでしょうか? 自作でよければ1000円程度で作成可能です。ただし、部品を近くで購入できないと+1000円ほど高価になると思います。 自作の例↓ http://cgi.biwa.ne.jp/~jr3roc/pic/ http://feng3.cool.ne.jp/rcd/ 下記のページでキットを販売しているみたいなので購入を検討してみてはどうでしょう。 http://www.joy.hi-ho.ne.jp/sdkhs/menu/kousaku/pic/pic_writer.htm 自分が使いたいPICが対応しているのを先に確認して購入・作成するようにしてくださいね。
関連するQ&A
- picとarduinoについて。
電子工作を始めたばかりのものなんですが、いよいよマイコンに挑戦しようと思い ライタの購入を検討していたのですが、よくWebサイトにはpicライタで書き込んでいるのは見かけるのですが、arduinoでマイコンに書き込んでいるのは見かけません。(LEDなんかを光らせている動画は見るのですが・・・) arduinoには自分で買ったICにプログラムを書き込むことってできないのでしょうか? picはpicライタというものが存在しますが、arduinoはライタとしての機能ももっているのですか? よろしくお願いしますm(_ _)m
- ベストアンサー
- その他(プログラミング・開発)
- PICについての質問です。使用PIC(PIC16F88)
PICについての質問です。使用PIC(PIC16F88) LEDを0.5秒点灯、0.5秒消灯させるプログラムを書いています。 追加でLEDを駆動するFETが故障してショートモードになったときを考えて、通電監視プログラムを 組み込みましたが、わからないところがあります。 タイマー1を使用して、0.1秒ごとに割り込み、通電検知させて、3秒連続して通電状態の場合はハード的にOFFにするという回路を組み込みました。 0.1秒ごとに割り込みさせて、通電と判断したらカウンターをカウントダウンさせて、0回になったらフラグをたてています。 メインルーチンで フラグチェック処理→0.5秒点灯、0.5秒消灯処理→(はじめに戻る)というフローにより、通電監視フラグを1秒ごとにチェックして、フラグが立ててあれば、強制的にOFFにします。 そのカウンターの設定値ですが、30回にすると3秒後の消灯になりません。いろいろ試した結果23回であれば、最短3秒後以降消灯できるようになりました。 自分で理解したいと思うのですが、なぜこれでうまくいくのかわかりません。 解説書、webも調べましたがわかりません。 どなたか推測でもいいので、教えていただけませんでしょうか?
- 締切済み
- その他(趣味・娯楽・エンターテイメント)
- RaspberryPiをPICライターに出来ますか
電子工作に興味が出たのでPICを購入しようと思うのですが、 プログラムを書き込むPICライターをRaspberryPiで代用する事は可能でしょうか? よろしくお願いします。
- 締切済み
- その他(ホビー・玩具)
- PIC初心者ですが、16F88のLED点滅制御です。
PIC初心者ですが、16F88のLED点滅制御です。 マイナスコントロールの回路ですが車のウインカーでスモール点灯時は今まではウインカー消灯。ウインカーを出した時に点滅でした。これをスモール点灯時にウインカーが点滅ではなく常時点灯に。ウインカーを出した時に点滅に変わるようにしたいんですが、どんなプログラムにすればいいんでしょうか?
- ベストアンサー
- その他([技術者向] コンピューター)
- PICマイコン 4つのLEDを点滅させたいのですが
マイコンのプログラミングはこれから勉強 という所ですが、PICKit3は持っていて、過去に プログラムを作ってもらい、PICに書き込み、 基盤を組んで動作させた事はあります。 本題です。4つのLEDを点滅させたいのですが、 マイコンはPIC10F200で可能だと思います。 ですが、当方やってみたいのが同時点滅でも 順次点灯でもなく、1個1個のLEDの点灯時間を ずらしたいんです。イメージは昔ながらの クリスマスツリーで、バイメタル球の点灯時間が 個体によりばらつきがある、というのをLEDで 再現したいと思ったのですが、PIC10F200で可能 でしょうか? 宜しくお願いします。
- ベストアンサー
- 電気・電子工学
- PIC(12F1822)のプログラミングについて
お世話になっております。 表記の件です。 PICプログラミング初心者で現在勉強中です。 自分で作成したプログラミングが正常に動作せず、わかる範囲でいろいろ試しましたが解決できなかったので投稿させて頂きます。 【IO】 入力:黄LED、赤LED 出力:ボタン2個 【基本動作】 電源ON→黄LED点灯、赤LED消灯→ボタンA ON→10秒カウント、黄LED点滅、赤LED点灯。 ・カウント中にボタンB ON→最初に戻る ・カウント完了→黄LED消灯、赤LED点滅→ボタンB ON→最初に戻る 以上のプログラムを作成しました。 【問題点】 ボタンA、各LED、10秒カウントは正常に動作しています。しかし、ボタンBで最初に戻る動作がうまく動きません。ボタンBを押しても反応しない時が有ります。ボタンBを普通に押して反応する時もあれば、長めに押さないと反応しない時があります。 配線やボタンを交換しても改善されませんでした。 if文を各点滅間に入れてみましたが改善されませんでした。 点滅が絡まないところに持って行くと正常に動作しました。 プログラムを添付致します。 お手数ですがご教示の程、よろしくお願いいたします。 また、こうした方が全体的によくなる等ございましたらよろしくお願いいたします。 以上、よろしくお願いいたします。
- ベストアンサー
- 電子部品・基板部品
- PICマイコンのLED制御
PICマイコンのLED制御 pic12Fを使って、LEDのPWM制御を行おうと考えていますが、うまくいかないので知恵をおかしください。 それぞれの出力端子に3色のLEDをつけて、順にだんだん明るくなってから、だんだん消灯してゆくプログラムを考えましたが、 最初のLEDが消える前に、2番目のLEDをゆっくり点灯させたいと思っていますが、うまくいきません 少しだけ同時点灯するには、どのような考えをすればいいのでしょうか。だんだん消えていく中で、点灯を始める処理がわかりません。よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- PICのプログラミングについて
現在、PICのプログラミングについてアセンブラがいいかC言語がいいか迷っています。 基本的にLEDを使った物をつくりたいと思っており PWM制御でのLEDの調光、LEDの点滅の周期の変化などをつけた 物を作ろうと考えております。 アセンブラとC言語のPICにおいての違いを教えてください。 加えて、上のPWM制御についてはどちらでもできるのでしょうか? 2つのプログラム言語についての良い点、悪い点など教えてください よろしくお願いいたします。
- 締切済み
- その他(プログラミング・開発)
- PICの割り込み機能
現在電子工作をしており、それにPIC16F84Aを使っています。 正直アセンブリはよくわからないので、C言語でプログラムを作っています。 コンパイラはPICCLITEで、LEDの点灯・消灯に関するプログラムです。 機能としては ・RA0に入力があったときRB0につないであるLEDが消灯しているならLEDを点灯。 ・RA0に入力があったときRB0につないであるLEDが点灯しているならLEDを消灯。 ・RA1に入力があったときLEDが点灯しているなら5秒後にLEDを消灯。 というものを目指しています。 1つ目、2つ目の項目はif文で簡単に実現できましたが、割り込みがうまくいかず、 消えている状態でRA1に入力を入れたときなぜか5秒後に点灯してしまいます。 だからRB0の出力を逆にしてみたんですがうまくいかず・・・。 ハード的には、RB0には反対側から5Vをかけ、 RB0=0の時は点灯 RB0=1の時は消灯 としています。 またセラロックは10MHzのものを使用しています。 現在のプログラムとしては #include "pic.h" #define XTAL_FREQ 10MHZ #define MHZ*1000 void DelayUs(unsigned char cnt){ //時間待ち関数 unsigned char i; i=(cnt)/(12MHZ/(XTAL_FREQ))|1; while(--i!=0) continue; } void DelayMs(unsigned int cnt){ //時間待ち関数 unsigned char i; do{ i=4; do{ DelayUs(250); }while(--i); }while(--cnt); } int cnt,SW; //SWが0なら消灯 //SWが1なら点灯 void interrupt isr(void){ //割り込み関数 if(T0IF==1){ T0IF=0; cnt--; } if(cnt==0){ RB0=1; //消灯 SW=0; cnt=190; T0IE=0; GIE=0; } } main() { TRISA=0xFF; //入出力設定 TRISB=0x00; PORTA=0x00; PORTB=0x00; SW=0; OPTION=0x87; //プリスケーラの設定 TMR0=0x00; T0IF=0; T0IE=1; cnt=190; while(1){ if(RA0==1){ DelayMs(60); //チャタリング防止 if(RA0==1){ if(SW==0){ RB0=0; SW=1; } else{ RB0=1; SW=0; } } } if(RA1==1){ DelayMs(60); //チャタリング防止 if(RA1==1 && SW==1){ TMR0=0; T0IF=0; T0IE=1; //割り込み許可 GIE=1; //全体割り込み許可 } } } } インターネット上での割り込みのプログラムをいくつか見てみたのですが、 どれもすべて動作を終えて、あとはwhile(1)で割り込みを待つだけ というプログラムばかりでした。 僕のは基本的にRA0の入力によってLEDを点灯・消灯させつつ RA1の入力で割り込みを開始。 5秒後に消えたら割り込みを禁止する。 という仕様にしたいのですが・・・・・・。 1ヶ月ぐらいやってますがうまくいきません。 良ければご回答をお願いします。
- ベストアンサー
- C・C++・C#
- PICのアセンブラー言語の擬似命令
後閑哲也先生の「電子工作のためのPIC18F本格活用ガイド」という本で、PICのアセンブラーの勉強をしている初心者です。 今、セグメントLEDを使ったダイナミック点灯の所をやっていますが、その中にある テーブル定義用の擬似命令 DT とか、それと一緒に使われるという RETLW の関係がよくわかりません。 DT の後にセグメントLEDのどのセグメントを点灯させるのかというパターンが、0から16進のFまで並んでいるのですが、ある瞬間に点灯したいパターンがどのようにして選択されるのでしょうか? またDTは「プログラムメモリー内にRETLW命令として1バイトごとの定数テーブルを作成する。」とあるのですが、この意味がよくわかりません。 どなたか、DTとRETLWの関係を詳しく解説していただけないでしょうか。 よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
お礼
ご回答ありがとうございました。 即RCDライターを買いました、3000円以下もするライターなんて 使えるのかなと思い使ってみると案外使えました。 PICの世界は奥が深いようですね これからがんばっていきます