初めてのPIC 0x0e
■ このスレッドは過去ログ倉庫に格納されています
.
_ _ PICをさわるのは今日が初めて、という超初心者のためのスレです。
(O>――<O) PIC選び、PICを使った回路は、誰でも最初は不安なものです。
/ (・) (・) ヽ 恥ずかしがらずに何でも聞いてください。速攻で教えてくれますよ。
○ /▼\ ○ 質問のしかたは、初心者質問スレの発言1を見てくださいね。
|(ヽ二フ ) |
/  ̄ ̄ ̄ ヽ
f ヽ / | PIC関係のスレは、レベルに合わせて以下のスレもありますので、活用しましょう。
ヽ \ / ノ ・PIC専用のスレ
| \_ )(_/ ! 本家本元のPICスレです。口の悪い人もいますが、楽しくやってるみたい。
| | ここの話がわかるようになれば、あなたはもう一人前のPICerです。
| | ・マイコンソフト 悩み事相談室
| | ̄ ̄| | マイコンソフトやツールの質問は、こちらでどうぞ。的確な回答があります。
(_ノ ヽ_)
質問する時のコツ
・性格の悪い回答者はスルーしよう(相手すると逆効果)
・素人玄人などと 上から目線の回答者は、無視してください。相手してはいけません。
・そこそこ良い回答が出るまでしばらく再発言しないのもあり(良回答は後に出やすい)
・回答者のアドバイスで後日解決したら、結果報告しよう(とても喜ばれる)
・回答者は、僕たち初心者に優しくしてください。あなたも通ってきた道のはずです。
必要なソフトなど(基本無料)
統合開発環境 MPLAB X ttp://www.microchip.com/mplab/mplab-x-ide
コンパイラ (XC8 XC16 XC32) ttp://www.microchip.com/mplab/compilers (高機能版は有料)
コード生成プラグイン (MCC) ttp://www.microchip.com/mplab/mplab-code-configurator
マイクロチップ ライブラリ (MLA) ttp://www.microchip.com/mplab/microchip-libraries-for-applications
必要なハードなど
初心者はPIC16F1、PIC18F1以降の型番で始めると無理なく始められます。
プログラムの書き込みには書き込み器が必要です。持っていない場合はPICkit3(中華クローンでもまず大丈夫)を使いましょう。
PIC一覧、スペック検索 ttp://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1005
さ、質問どうぞ〜っ
0x0d 2017/10/25〜 ttp://rio2016.5ch.net/test/read.cgi/denki/1508935254/
0X0C 2017/07/27〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1501157324/
0x0B 2017/05/08〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1494235320/
0x0A 2017/01/04〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1483498857/
0x09 2016/09/07〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1473238791/
0x08 2016/04/30〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1461994030/
0x07 2016/02/05〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1454648249/
0x06 2015/07/18〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1437151298/
0x05 2015/04/07〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1428391368
0x04 2015/01/02〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1420205108 またエラッタ厨とかの好きそうな奴だな
PICkit3買っとけ。っていうか、この時代になぜPICを選ぶ?
デモボードってのは、安倍辞職とか書いて道路練り歩いてる連中が首からぶら下げてる奴のことだ >>233
PIC以外にどんな選択肢あるですか?
必要なときだけ接続する、可搬デバイスを作りたいのです。
シーケンサはごついです。できるだけ小さなデバイスを作りたいです。
デモボードが飾りなのは理解しました。 はじめまして、開発環境とコンパイラをDLしてみようと思ったのですが
HPにてエラーにたどりついてしまいます。
今は開発環境とコンパイラはダウンロードできないのでしょうか? >>237
返信ありがとうございます。
統合開発環境 MPLAB X ttp://www.microchip.com/mplab/mplab-x-ide
コンパイラ (XC8 XC16 XC32) ttp://www.microchip.com/mplab/compilers
ちなみにPC環境はwindows7 64bitです >>238
すみません自己解決できました。
↓からDLできそうでした。
ありがとうございます
ttp://www.microchip.com/development-tools/downloads-archive >>241
そこは古いのしか置いてないけど古いのでいいの? >>233
なるほど、その手があったか!LED100x200くらいで首から下げてメッセージ流すやつ
作るか。もっとも、できるころには総理大臣2人くらいは変わっていそう。 >>232
arduinoでもつかえば ?
パチモンでよければ基板は数100円からあるし
開発環境無料だし >>232
arduinoにするほうが絶対に良いと思う。先人のサンプルも多いし、ハードも一つ買えば完結する。 ・基板は数100円からある
・開発環境無料
が、なぜ
「100円の基板じゃ無料で開発出来ない」
になるのか?
読解力以前の問題。 数100円で完結するというミスリードだし
初心者にパチモンを勧めるのもアホ
まあそもそも>>232自体いつもの作り話な感じもするが 「開発環境無料」がなぜ「無料で開発出来ない」に変換されるのか? 初心者にパチモンを勧めるのはアホは言い過ぎな気がする。
根拠は何なんだろうね。
・道義的なもの?
Arduinoの互換品はルール的な問題はない。
Pickitの酷似商品よりはマシだと思う。
・問題が発生したときのよりどころの問題?純正なら切り分けができるから?
それだったら、ちょっと前まで初心者がよくやっていたライターを作ることもアホ。
からなずしもそうはならんよね? >>256
>否定だよ
ああ、そうだね。すまん。
なぜそういうズレた否定をするんだろう。
言いたいことは「数100円払っている段階で無料ではない」だろ?
でも元レスは「開発環境が無料」って言っているのであって「無料で開発出来る」って言ってるわけでもない。
それに、基板やチップ自体にお金がかかったとしても、
IDEが無料で使えて、特にライターも要らないのであれば、人口に膾炙した表現として「無料で開発できる」で
通じるだろね。 元の質問が作り話であっても、>>249の>>248へのスカタンなコメントは作り話じゃないと思う。 >>261
ここ、PICスレだから具体名をあげてまでの話はスレチだしやめておく。
知りたければAruduino互換スレで尋ねるか、UNO 互換 で検索すればよかろ。 別に知りたいわけじゃないんだが
そんなもん無いだろアホが
ってこと >>264
>そんなもん無いだろアホが
と、過去に思っていた、という話だよな。>>262で、存在することはわかっただろ?
良かったじゃないか。自分がそれを使うことがないとしても、知らなかったことを知るようになったんだし。 井の中の蛙に教えてやろう
amazonでattiny85で検索すると出てくる274円
ハードはこれだけで開発できる
ソフトは無料のarduinoIDE
PICにもこういうのがあるといいね ebayまで足を延ばせば ARM(STM32)環境だって数100円だ
ST-Link 239円
STM32F103C8T6 ボード226円
SW4STM32 IDE 無料
500円でおつりがくるな
大海を少しは知れたかな? しかもARMの方はこれでソースレベルデバッグまでできる本格派
(PICでいえばICDあたりの環境?)
スレチと言われればそれまでだが不毛なカスの無価値な議論よりは
役に立つ情報だろうから書いてみた ところで
「PIC」で一括りにしているけど、8ビット、16ビット、32ビットでスレを分けた方が良くないか?
違いが大き過ぎる 良いよ分けなくて
どの話をしてるのかわかればそれでいい
ビット数で分けても
PIC10とPIC18じゃ大違いだし
MMとMZでも大違い 叩きたい人は分けて有ろうが百羽一絡げに叩くから意味なし >>268
おまえがPICでデバッグしたことないのは良くわかった >>254
作り話じゃないです…
私企業の化学者でして、今後のことを見据えて少しずつ実験を機械化していきたいのです。
で、データロガーに取り込むときにはアナログ信号の方が都合がいいのですが、電子天秤の電送出力が軒並みシリアル通信でして。しかも十進数の測定値をそのままascii文字列で送るというクソ仕様。
しょうがないので自分で作るか、と。 そんなのをアナログのデータロガーで取ろうというのが前時代的
そのままパソコンのシリアルに繋いで記録取りゃいいじゃないか
後処理でそのデータからグラフでも何でも書けるだろうに
次にはPWMDACのキャリアとサンプリング定理とダイナミックレンジとノイズについて・・・
いや、なんでもない。 企業の化学者がろくな精度も出ないそんなもの作ろうとして、それを5chで質問してる時点で
お前はむいてないからさっさと転職しろ ここの雰囲気はホントに殺伐としているね。
桜の便りもチラホラ聞かれる今日この頃なのに
「物言えば唇寒し秋の風 」 PICスレは民度が低く嫌味な人が多い。
その用途ならPIC関係なくArduinoかラズパイのスレの方が
優しく教えてくれるよ。 >>277
いやいや、とりたいのは天秤データだけじゃないんですって。温度は基本的にK熱電対の電圧を直接取り込みますし、その他もろもろ、アナログ信号出す機械が多いんですって。
シリアルを直接PCに取り込むソフトならなんぼでもありますが、あの機械はこのソフト、その機械はあのソフト、温度はデータロガー…とかやってたら、後で時間揃えてデータを統合するのが死ぬほどめんどくさいでしょ?
だから全部アナログ信号に直して、1台のデータロガーでまとめて収集するのが一番楽なんです。
デジタルよりアナログの方が精度劣るのはわかりますが、この際気にしません。 匿名という保険を掛けつつマウント取りたがる人間には居心地がいいんだろ
普通に作って教え教えられてならSNSの方がいいのかも >>281
目的を聞けば聞くほどarduinoを進めたくなる。
でもそれはマイコンを使う必要あるんだろうか
データ➡rs232c➡usbシリアル変換➡usb➡pc
pcでそれぞれのポートの固有番号がわかるから、番号ごとに定期的に時間とデータをエクセルにでも追記したら。適当なソフトは分からないけど他で質問したらどうでしょう 概してマイコンのDAはADより貧弱(PWMでやるとか)なので、
出力をフィルタするとか必要ならオペアンプ類でデータロガーの電圧レンジに
合わせ込むとかしなきゃいけない キャリブレーション不要ってことは無いでしょう?
DCレベルだからオフセットの調整もある。
独立した用途に合ったDACを外付けしたほうがいいかもしれない
マイコン/アナログ両方の知識が要るから0からちょっと質問して出来るようなものではないと思うよ
既成品があるか知らないが、まずそういうものがあるかどうか調べたら? >>281
このスレに来たってことは、
PICでやるって決めてるって事だよな
シリアルのフォーマット、送信間隔
必要な出力チャンネル数
必要な電圧
必要なビット数
を書けば設計してやるから書いてみな 交流成分だけで良ければアナログ音声出力を使うのが簡単だけど
そういうわけにはいかないよね? >>287
アナログ出力インピーダンスと
電源電圧も おおう!さよならした途端にみなさん優しくなった!
>>284
arduinoも考えてみますね。聞きかじったところだとunixも動かせるとのことで、そりゃいくらなんでもオーバースペック…と考えておりました。 熱電対を入力出来るから、
ロガーでいくらでも調整出来るとは思うけど...
まあわかることは出来るだけたくさん書いて >>286
データロガー側は±1V, ±5V, ±10Vのマルチレンジ対応です。オフセットはデータロガー側で設定できます。たしか。
DAC外付けはちょっと考えてました。分解能8bitじゃ足らんよなあ、と。
dsPIC33FJ64GP802 じゃだめですかね?
12bitでぎりぎり足りるかな…ってところですが、本音をいうとも少し欲しいので、16bitのDAC載ってるやつです。 >>287
エクストリームありがとうございます!
明後日出社したときに、天秤の取説コピーしてきます。
んでもってやりたいことをもっと明確にしますので、少々お待ちくださいませ。 >>281
うちの会社でも電子天秤はRS-232Cなので0-5Vに変換して圧力やら、Pt100Ωやらと一緒に記録計で記録してます
PICでやるより、Arduinoの方が簡単確実です
UNOには、D/Aが無いので、10bit I2CのD/AコンバーターICをつなげて、使ってます
そういう研究所やら、企業は結構在りますよね あと、四方から「PCでやれよ…」という幻聴が聞こえますので言い訳すると、
1. PC置くと作業スペースが減る。
2. PCを実験台上に置くと、1週間以内に有機溶媒をディスプレイやキーボードに垂らして( ;∀;)…
のため、あまりPCを近くに置きたくないのです。 8pinのPIC(PIC12F1822)とSPIのDAC(MCP4922)位か
DACの出力がシングルエンドで良いなら簡単にできそうだ なぜPIC12F1822?
8pinならPIC16F18313だな
秋月に無くていいなら15313でも >>296
私が作りましたが
4-20mA出力も可能です
部品代で2kくらいかな
ググってご自分で作って下さい
売るなら8万くらいかな 必要なチャンネル数くらいすぐに書けると思うんだけど PICはUARTがあれば何でもいいな
あとはMAX3232とかも要るかな
電源は5Vから3.3Vに安定化した方がいいか
あとはDACの出力をバッファするかどうかだが
秋月だとNJM27463辺りか これはSOPだが
もうこれで回路出来るな 基板上なら千円程度でおつりがくるな
まともなケースに入れるとケース代が一番かかる なんでも良いのになぜPIC12F1822と書いたのか気になる 12F1822は、出た当初、結構人気があった。
今はもっと選択肢が増えているからそうでもないが、
未だに最初に頭に浮かぶ人は結構いそう。
という程度な意味くらいしかない。 UARTもSPIもI2Cも使えて便利だから今でも1822を最初に選んでるな
ちょっとピン数が増えたりプログラムが大きくなりそうなときは14ピンの1825がセカンドチョイス >>244
スマホからですみません
勉強用にとりあえず今使えればいいので、古いバージョンでやってみます >>245
スマホからですみません
僕が見たときはエラーだったんですが(泣)
とりあえず勉強で軽く触ってみたかったので、古いバージョンでやってみます PICで教えてください。
UARTを2ch使いたいのですが、XC8やXC16では、printf()はUART-No.1側に固定のようです。
fprintf(ch1, "hello");
fprintf(ch2, "hoge");
など、出力先を切り替えて使いたいのですが、どうしたら良いでしょうか? stdoutとstderrで分けるとか
printfの出力先を切り替える関数を追加するとか
sprintfで文字列に変換してからUARTドライバを直接たたくとか >>311
printfはputc()に書くので、putcを自分で書いて、出力先を切り替えるようなフラグを盛り込めばOK >>281
おまえら研究レベルで、k熱の電圧直接取り込みとか言う時点で気づけ。
この手は、精度は関係ないとか言って、後から精度が出ないとか泥沼に引きずり込まれるパターンだね
しかも16bitアナログだってさ ここでアイデアを出したって、最終結果に責任を持つのは本人だよ。
>泥沼に引きずり込まれるパターンだね
協業した人に引きずりこまれた経験は誰しも大なり小なりあろだろね。
「自分だけが見通せているエライ人」みたいな振る舞いはどうなんだろう。 >>315
アマチュアレベルだとそう考えるんだろうな
工業ようデータロガーがどんなものか知らないんだろう
PtじゃなくK熱でんついで測定だから
ラフでいんだよ
と、読めない
もっと幅広く勉強したらどうだ >ど初心者です。アドバイスください。
なんだ、やっぱりいつものパターンか >>312-314
ありがとうございます。
そのレベルで操作するのですか。
XC8, XC16では、fprintf(,)は使えないのでしょうか?
出口フラグ = 1;
printf("test\r\n");
void putc(unsigned char c)){
if( 出口フラグ==0 ){ TXREG.0 = c; }else { TXREG.1 = c; }
}
こんな感じでしょうか? 自分で_fprintfとか作って、その中でハードに合わせた処理を書けや それをやってくれるのがコンパイラーさんだと思うけど。 fprintfは関数なのでコンパイラの仕事でなく関数を書く人間の仕事だ
予めコンパイラに関数が登録されている事もあるが、無ければユーザーが独自に書く必要があある >>321
fprintf(stdout, ...)
fprintf(stderr, ...)
で切り替えろってこと
#define ch1 stdout
#define ch2 stderr
で希望通りになる 関数のオーバーライドできるの?
ライブラリのソースってあったっけ それなら、X Cコンパイラ作った人がサボったってこと? >>326 >>327
なるようにするんだよ
writeを自作するだけだ 通常は関数名の前に_(アンダーライン)とか付けて同一の名前にならない様にするが、該当の.hファイルをincludeしなければ標準関数と同一の名前は作成出来る
標準関数はあくまで関数であって文法ではない トンチンカンが現れた
インクルードするかどうかとリンクするかどうかは関係無いし
ていうか、fprintfから自作するつもりか? ■ このスレッドは過去ログ倉庫に格納されています