_____
/ /|
/ ( ゚∀゚) /.∠フ 個人でも手軽に使える
/ /.∠フ || . Atmelの8-bit RISCマイクロプロセッサを
/ __ o/.∠フ || 中心に語るスレッドです。
∠| ̄ ̄凵 ̄ ̄|∠フ || *AAは「AVR H8 etc. マイコン総合スレ Part3」からいただきました。
.|| |_____|/||
Atmel AVR 8-Bit RISC
http://www.atmel.com/products/avr/
乙
「世の中に絶えて板場のなかりせば春の心はのどけからまし」
さぁみんな、どんなに罵られてもくじけないでレベルアップ目指そうね
6 :
774ワット発電中さん:2013/03/16(土) 18:52:10.58 ID:dVbHoSTo
Atlem Studio 6とAVR-ISPmk2は組み合わせて使えますか?
はい
>>8 ありがとうございます。これで安心してライタ買えます。
>>7 AVRISP mkIIの付属CDにAVRStudio4が入ってるよ。
もちろん、AtmelStudio6でも使える。
AVRISP mkIIのファームウエアアップデートもお忘れ無く。
>>10 詳しくありがとうございます。
ファームウェアのアップデートって筐体開けてピンをショートするんでしたっけ?
> もちろん
13 :
774ワット発電中さん:2013/03/18(月) 10:55:32.03 ID:RWxQoRcP
>>11 ネット環境につながったPCでAtmelStudio6を起動させて、AVRISP MKIIつないだら
UpDateしろかなにか表示が出たはず。
なんか表示がわかりにくかったような記憶があるなぁ。
ピンのショートとかは不要だったはず。
>>704 > マイコンが壊れているせいも考えられるのでしょうか?
> 単4電池2本で電圧は足りるのでしょうか?
> あぁ・・・ワザワザ高い金払って秋葉原までいったのに・・・
> また、AVR studioの設定による問題もありえるのでしょうか?
> 少し悪あがきをして、ダメだったらマイコン買いなおしますw
> (´;ω;`)
ゴガギーン
ドッカン
m ドッカン
=====) )) ☆
∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( )| |_____ ∧_∧ < おらっ!
>>598、この度は、
「 ⌒ ̄ | | || (´Д` ) \ 弊社の欠陥品が大変ご迷惑を
|at /  ̄ | |/ 「atmel\ |お掛けしたとのこと、是非一度
|mel | | | || || /\\ |謝罪をしたく駆けつけました。
| | | | | へ//| | | | \_____________
| | | ロ|ロ |/,へ \| | | |
| ∧ | | | |/ \ / ( )
| | | |〈 | | | |
/ / / / | / | 〈| | |
/ / / / | | || | |
/ / / / =-----=-------- | |
401 名前:774ワット発電中さん [sage]: 2013/01/26(土) 00:16:05.33 ID:SBbm+mVs (3)
昨夜からアドバイスを頂きました皆様、ありがとうございました。
答えがやっと解りました。
3端子レギュレータは正面向いて左より IN-GND-OUTと78XXシリーズを
使った経験から思い込んでいました。
LM317はADJ-OUT-INと言うことに気が付きました。
無事完成までこぎつけました。
ありがとうございました。
402 名前:774ワット発電中さん [sage]: 2013/01/26(土) 00:29:57.85 ID:8LRyxnGt
これはひどい
403 名前:774ワット発電中さん [sage]: 2013/01/26(土) 00:33:31.71 ID:kDK2iOwB (4)
こんなとき、どんな顔すればいいのかわからないの
>さすがAVRだアセンブラ使わんでも512ワードに余裕で入った
PICでも余裕だしょ
ATMega88vでXBEE通信をしようと思っています。
構成は、下のようになっています。
ATMEGA88v==XBEE XBEE==PC(tera term)
AVRの方は
int main(void){
DDRD = 0xFC;
PORTD = 0x00;
UBRR0 = 25;
UCSR0A = 0b00000000;
UCSR0B = 0b00011000;
UCSR0C = 0b00000110;
while(1)
{
while(!(UCSR0A & 0b00100000));
UDR0 = 'A';
_delay_ms(100);
}
return 0;
}
で、ボーレート2400くらいでAという文字を送信し続けています。
一方PC側のTeratermではボーレート2400で受信をします。
何らかのデータは受信しているようなのですが、
表示される文字がAではなく■(縦に細い四角)になっています。
特にプログラム上には問題ないように思えます、シンプルなので。。。
初めてのXBEEなので基本的な見落としがあるのかもしれませんが、
何か分かるかたいらっしゃいませんでしょうか?
あ、正しい構成はこうでした。。。
ATMEGA88 == AE-XBee-REG-DIP == XBee XBee == AE-XBee-USB == PC
AE-Xbee-REG-DIPは2mmから2.54mmのDIP変換基板です。
AE-XBee-USBはUSBシリアル変換するためのモジュールです。
AVRのクロックいくつ?UBRR0=25なら1MHzでも4800bpsになるが・・・
あ、ごめんそれは倍速動作だ
文字コードとかは
XBee標準の9600bpsにしとけ
>>23 おぉ・・・9600bpsに合わせたらいけました!!
ありがとうございます!!
>>13 おーありがとうございます。安心しました。
>>16 よいこはPWM出力ピンとGNDにダイナミックスピーカーを直結しちゃいけないぞ
なんで?
tiny1634データシート見てて今更気づいた。
これ、Max12MHzじゃん…orz
せやな
Arduinoを使えば電気炊飯器にセンサーとヒータードライバーをつけ
それをArduinoのADCとPWMで制御して
美味しいご飯を炊けそうな気がするな
売れるかもArduino炊飯器
大事なのはどういう炊き方が美味しいかであって、デバイスが何かなんてどうでもいいの。
マイコン制御していない炊飯器って有るのか?
これでサーボモータが変な動きをするのですが、
何か間違ってるでしょうか?
999のところで固定されてほしいのですが、
ちょろちょろサーボが動いてしまいます。
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB = 0b11111110;
PORTB = 0b00000000;
TCCR1A = 0x82;
TCCR1B = 0x19;
TCCR1C = 0x00;
TIMSK1 = 0x00;
OCR1A = 999;
ICR1 = 19999;
while(1)
{
}
}
35 :
774ワット発電中さん:2013/03/23(土) 21:18:51.88 ID:Dp9Nw4T+
大事なことを書き忘れました。
サーボはATMEGA88vです。
for(;;) delay(1000);
>>37 このズレが原因ということですか?
具体的にどう対処すればいいのでしょうか?
クロックのジッタでサーボが変な動きになるほど影響があるとは
思えんが…
まずはサーボが正しく動くパルスタイミングになっているかどうか
確認してみたらいいんじゃないの
ヒューズ設定がデフォルトのままで、動作クロックが低くて、サーボが追従
するパルス周期の最大値(20ms)より遅くなっているんじゃないかな。
安いArduinoボード買うか16MHzの水晶付けてArduino化して実験してから自分で作るのがいいんじゃないか
servo1.write(angle)
servo1.writeMicroseconds(uS)
って感じで12個まで操作できるぞ
サーボが増えてくると電源や実装のトラブルなのかプログラムミスなのかわけのわからん状態になるし
なるほどです・・・。
ちょっとパルスから調べてみます。オシロ借りにいかないと・・・。
>>40 最初はArduinoで
DigitalWrite(3, HIGH);
delay(2);
DigitalWrite(3, LOW);
delay(18);
みたいに簡易的な実験をして(Serboのライブラリを使わず)、
その時は正常に動いたのでそのままマイコンに移りました。
最終的にはマイコンでやりたいので、もう少しマイコン頑張ってみます。
43 :
774ワット発電中さん:2013/03/24(日) 16:07:06.31 ID:b/AnVwmp
AVR(ATmega)に手を付けようと考えているのですが、何かいい参考書は
ありませんか?言語はCしかできません。
本ではないが、Arduinoで入門して、ちょっとづつ内部のレジスタのいじり方とか探ってくのがいいと思う
>>30 自動節電つきマイコン給湯器を分解したら
8ピンくらいのま豆みたいなAVRが載ってたけど
ストップウォッチを作りたいと思います。
スイッチ1でスタート、スイッチ2でストップ。
経過時間をLCDに表示させます。
タイマ部は今精度を気にしないので、_delay_ms(1)を1000回まわして1秒。
割り込みを使わないで作ってみたのですが、スタートはかけられるものの
ストップがききません。やはりスイッチからの入力は割り込みをつかわないと
だめなのでしょうか。
>スイッチからの入力は割り込みをつかわないと
>だめなのでしょうか。
そんなことはない。
ループの中で、スイッチ2を監視してください。
タイマー割り込み使うと楽だぜ
1/100秒くらいで読めばチャタリングなんか気にする必要もない
精度を気にしないってどんなストップウォッチだよ
>>50 > タイマ部は今精度を気にしないので、
「製作途中の今んとこは」って意味だろ
タイマー割り込みに慣れるとあっというまにできるね
「割り込みを制する者はMCUを制する」
という言葉がある位だから、スキルアップの為に割り込みを使ったほうがいいと思います。
(著者注:上記の標語はたった今、私が作りました)
ソースをみせてくれい
LCDの表示中にスイッチを押してしまう可能性が十分にあるから、
割り込みを使うのが楽だと思う
使わなくても可能だけど、素直に使うのが簡単
例えばrunフラグみたいの作っといて、スイッチが押されるごとにポート割り込みで
runフラグを反転する
で、時間カウントはタイマー割り込みで時間をインクリメントする
で、その時にフラグを見て、フラグが1ならカウント、0ならカウントしないみたいに
すれば行けそうな気がする
割り込みルーチン内の処理は極力軽くが重要だと思う
57 :
774ワット発電中さん:2013/03/26(火) 06:26:22.21 ID:g6LgJmX0
高橋名人でも16連射なんだから、普通の人用なら、20ms間隔位で
ポートを見てれば十分と思う。
一般人の方が高橋名人に勝っとるやないかい
一般人に50連射されたらまずいやないかい
AVRとArduinoの関係がよくわからない・・・
AVRを使った開発環境の一つがArduinoなんでしょうか?
そだね
AVRは単にマイコンの種類
Arduinoは、IDEやArduino言語、基板などまで含めた、AVRマイコンを使った
ソリューションの一つ
>>59 従来のマイコンはフラッシュROMなどに
ライターでマシン語を書き込んで実行していたのに対して
ArduinoではROMにはブートローダだけを書き込み
そのブートローダを用いて
シリアルポートを用いたPCとの通信
シリアルポート経由でのプログラム領域への書き込み
書き込まれたプログラムの実行
を実現した
さらに、マイコンのボードの設計をオープンソースとして公開した
これにより各種拡張基板を差すだけで様々な機能を実現出来るようにした
attiny2313に12Mhzクリスタルを取り付けたいと思っております。
22pFのセラコン*2を取り付けヒューズビットを下記のように設定しました。
1 分周1/1
1 出力なし
1 水晶発振子低速上昇電源
1 同
1 8MHz〜設定
1 同
1 同
1 水晶発振子低速上昇電源
しかしながら動作しません(と言うかしているのかわからない)。
チェック方法として以下のプログラムでLチカするかどうかで
確認していました。(対応ピンにLED+抵抗器をつけています)
接続は
○対応ピンにLED+抵抗器
○VCC・GND間に0.1μFパスコン
#include <avr/io.h>
#include <util/delay.h>
void delay(uint16_t i)
{
while(i--) _delay_ms(1);
}
int main(void){
DDRB = 0b11111111;
PORTB = 0b00000000;
DDRD = 0b11111111;
PORTD = 0b00000000;
while(1){
PORTD = 0b00000001;
delay(1000);
PORTD = 0b00000000;
delay(1000);
}
}
内蔵クロックだとチカチカしてくれるのですが、12MHzクリスタル
取り付け時だと光ってくれません。
クリスタル不良も考え何個か交換しましたが改善されず。
何か他見落としているような項目もしくは間違いはありますでしょうか?
fuse の設定はそれでいいと思うから
あとは22pFのセラコンを付けないでクリスタルだけ付けて動作しないかとか
外部発振子にして発振してないとシリアル書き込みもできないんだったか
>>64 セラコン外したら動きましたヽ(=´▽`=)ノ
え、あれ?セラコンがいらない子なんすか?
AVRの仕様書見ても他の工作事例見ても
必須必須言ってるからまったく疑いもしませんでした。
>>65 プログラマは共立のAVRWRT3を使っていて緊急用クロック
出してくれるんでそのへんは大丈夫でした。
これで前に進めます。
どもでした!
PICとの比較だとAVRマイコンの場合
外付けクリスタルに付けるコンデンサの値は低めになる
コンデンサつけると発振周波数が安定するというのはあるから
12pFぐらいが最適値という印象をもっている
「付けすぎるくらいなら付けない方がいい」というのが
AVRマイコンの外付けクリスタルに関する個人的な標語
俺は22pでも動いたけどなぁ〜
ものによるね
調子のわるいコンデンサ内蔵セラミック発振子のGNDを接続しないことで
内蔵コンデンサを無効化したら安定して発振するようになったとか
セラコンが不良だったって可能性もあるじゃないか
発振条件についてもっと勉強したほうがよさそう
>>66 > え、あれ?セラコンがいらない子なんすか?
んなこたぁ〜ないw
発振は、一周回って位相が360°で増幅度が1以上なら発振する。
位相なぞ、作り方で簡単に狂う。
・基板の作り方がヘタで、浮遊容量タップリ。負荷容量が過剰になった。(位相が進み過ぎ)
・配線長が長すぎてインダクタンスがタッブリ。(位相が逆に遅れてる)
・負荷容量のグランド側と、マイコンのGNDビンが遠い。(発振回路はアナログ回路)
>>72 なるほど・・・参考になります。
取り回しをもう少し考えてみたいと思います。
あとはハンダ付けの練習ですね^^;
クリスタルグランドとマイコングランド、基板配置で見ると
最も遠い位置にありました(;´∀`)
”発振回路はアナログ回路”肝に銘じます。
>>72 一周回っちゃうと元に戻っちゃうからどうかな…不安定にはなるだろうけど
条件としては180度反転してゲインが1以上なら、かな
>>74 一般論としてその認識は正しい。
でも、反転バッファは入力容量に遅延があってピッタシ180度じゃないんだな。
(水晶のL成分と負荷容量2個だけでは、綺麗に180度反転しない)
(増幅度との兼ね合いもあり、ちょっとズレたところで落ち着く)
発振器スレに行くともっと詳しくウンチクが聞けると思う。
発振はロマンだ
文字で聞けるなんてロマンだな
>>77 そのくらいの距離ならいけるのかな
特にマイコンのGNDと負荷容量のGNDは極力短くしたい感じがする
水晶の配線とUSBの配線が交差してるなんて最悪のパターンだけどな
動いてる物を最悪というのはいかがなものか
ブレッドボードで動いたからといって、そんなパターンで設計したらまずい
だろ。動いていてもジッタが発生してるかも知れないし。
もっとも水晶を近づけても、ブレッドボードの導体はつながってるから同じ
事なんだけどね。
そんなパターンで設計することを心配してるのか。
それこそ無いわ。無い無い。
>>66 発振回路としては負荷としてC(容量)必要だが、クリスタルの特性とか、
発振回路の特性によって、容量の調整が必要。
>>83,84
たしか秋月のキットだったと思うけど、見た目がユニバーサルボードで
(つまり全面に等間隔でスルーホールがある)
スルーホールがパターンでつながっているという基板を使っていた。
自分で改造しやすいし、簡単な回路だから、まぁこれはこれでOKだと思ったけど。
>>82 その動けばいいって発想、おまいは中華か?
>>87 短時間で壊れたりど稼働中に事故らない限り動いていないよりは100倍マシ。
動いてるものが最悪なら、動かないものは?
最悪ってのは最も悪いという意味だけど
>>81は最悪の「パターン」
動かないものは最悪の「ユニット」(または装置とか製品とか)
>>89 不確かな内容なら動かないほうがまだマシ。
ヘタに「たまたま」動いてるようなものを運用させるのはどう考えても最悪。
交差してるより並走してるほうが条件は悪い。よって交差が最悪というのは誤り。
ユニバーサル基板はあくまでの仮組み。たまたまでもきちんと動けば良い。
ユニバーサル基板で運用させるのは誤り。
もといブレッドボード。大事なところで間違えてカッコ悪いオレ。
私にとっての最悪とは、たとえば
「24時間連続運転の機械が月1くらいの頻度で具合が悪くなり、自然に復旧する」
なんてのかな。
以前、現場に呼び出されて担当者から「1日XX万円の損失だ」とイヤ味を言われたが、
今は元気良く動いている機械を前にして、何をどうして良いか見当もつかず、
♪無能な〜エンジニア、困ってしまってワンワン、ワワン♪
本日の標語:「微妙に動いている装置は微妙に壊れる」
ユニバーサル基板とブレッドボードと勘違いしてない?
失礼、リロードしてなかった
画像元は大学のバソコン制御学習だ。運用とか24時間運転とか関係無い。
「たまたま〜動けば良い」と考えてるなら学習としての価値などない。
それは賛同できない
えーと、では「理論と実践は異なる」という線で何とか合意していただけないでしょうか?
たとえ不安定だったとしても、アナログに弱い学生が原因究明(トラブルシューティング)するのは大きな学習効果がある。
AVRスレはここではなかったか
104 :
774ワット発電中さん:2013/03/28(木) 18:39:11.12 ID:c2fK2qln
で、本はないの?
>>88 この「頭の中が中華」野郎が!!www
> 動いていないよりは100倍マシ。
よし判った、100歩譲ってやろう。
じゃ、おまいは一枚の基板にその100倍マシな回路を何ヶ所作る気だい?
10ヶ所? 100ヶ所? 100ヶ所も作ると間違いなく動かない基板の一丁上がりw
悪いことは言わん。
発振回路エリアからUSB含め、他の信号は追い出しとけ。
後腐れなくてスッキリするぞ
こりゃさすがにスルーだろ
>>98 >>101 アホ?
大学だったら、キチンと発振回路の理論を教えんかい!!
理屈を知っていれば、後は本人が実践に役立てるわ。
108 :
774ワット発電中さん:2013/03/28(木) 20:05:53.76 ID:+WKKNMzM
ATmega325A使用の自作基板+AtmelStudioのDevice Programmingコマンド+AVRISP mkIIでの話なんですが、
デフォルトの内蔵オシレータ動作でプログラム(Lチカ)書き込み、正常動作確認。
その後、ヒューズの内、SUTとCKSELのみを0b01111111に変更して外付け水晶動作に切り替え。正常動作確認。
でも、これ以降ISP操作が一切不能になっちゃいました(Unable to programming mode)。
プログラム自体は正常に動作してるので発振自体には問題がなさそうなんですが…。
ISPクロックを下げたり、水晶を交換して周波数を下げてみてもダメでした。
気になるのは、外付け水晶動作に切り替えてからは、電源を入れてから約1秒後ぐらいにリセットが掛かる?ようで、
LEDが消える事です(秒数は水晶が1メガでも8メガでも同じ)。どなたが原因のエスパーできる方いませんか?
約1秒後のリセット?は、一瞬LEDが消えた後に再び動作が始まり、その後は止まらずに正常動作します。
水晶付けたプログラム書き込み専用ボード組んで様子みるしかないんじゃね?
AVRを複数組み合わせて一つの作品を作るって普通でしょうか?
一つの基盤に複数のAVRを載せようと考えています。
普通かどうかは知らんが、別に変なことではないでしょ
検索すりゃ作例もあるし
初めてなので、欲張りなのかな?と思いまして質問しました。
心配なくなりました、ありがとうございます。
>>111 datasheetの32pに書いてありますが容量は大丈夫なんです?
Recommended Range for Capacitors C1 and
C2 for Use with Crystals (pF)
12 - 22
>>111 水晶はどんな物つかってますか?
サイズの大きい奴だとドライブしきれないかもです。
今時のマイコンは、チップサイズの水晶に合わせて、
発振回路設計されてると思うので。
*逆に小さいサイズの水晶を大電力でドライブすると、
水晶壊れる
>111
SUTの設定ミス?
11は予約で設定してはいけません。
STK500などのパラレル書き込みモードでFUSEを再設定しましょう。
早速レス有難うございます!
>>113 それがいきなりQFNパッケージで作っちゃいまして…。
>>116 18pFを付けています。
>>117 使用しているのはこれです。
http://www.digikey.jp/product-detail/ja/ABLS-8.000MHZ-B4-T/535-10212-1-ND/2184247 水晶のデータシートによると1μW〜500μWとのことですが、ATTinyのデータシートのどの数値と突き合わせればいいかわからなかったです。
よかったら教えてください。
>>118 SUT1:0=11がReservedなのは内蔵オシレータや時計用水晶を使用する時じゃないですか?
購入時のヒューズから、SUT_CKSELのプルダウンメニューのみEXTOSC_8MHZ_XX_16KCK_65MS(スタートアップタイム16K CK、
リセット時付加ディレイ14 CK + 65ms、低速立ち上がり電源用)に変更した結果、fL=0x7fになりました。
1秒後のリセットは、AVRISP mkIIを接続しながら電源ONにしてたせいでした。取り外したら起きなくなりました。
んー、繰り返しになりますが、ISPできなくなる前に書き込んだプログラムは正常に動作してるようなんですよね…。
クロックの質が悪いとか、なにか設計がまずいとかでISP動作のみが不良になる(いくらISPクロックを落としてもダメ)なんてことがあるんでしょうか。
それともSPIENがオフに書き換わっちゃったんでしょうか…。
>>117 > サイズの大きい奴だとドライブしきれないかもです。
それ逆。
サイズが大きい奴は直列抵抗が小さい。
122 :
774ワット発電中さん:2013/03/30(土) 07:49:13.09 ID:UpBVIhQY
Atmel Studio 4.18にて
パソコンとATMEGA88をAVRISP mk2で接続しようとすると、失敗します。
調べてみると、FUSESのSPIENにチェックが入っていないのが原因らしいのですが、
チェックを入れることができず困っています。
Project>Configuration Options>Frequencyの設定を1000000hzにしたのがいけなかったんですかね?
1回でもチップに書き込んだの?
そうでなければ出荷状態でSPIENが無効になっているはずが無いので
コネクタのピンアサインとか再確認しなされ
本当にチップのSPIENをミスで無効にしてしまったのなら
ISPでは元に戻せない
124 :
774ワット発電中さん:2013/03/30(土) 11:40:18.04 ID:UpBVIhQY
>>123 一回も書き込んではいません。
配線も何度見直しても間違ってはいないみたいです…
ゴラ〜! Atmel Studio 6.1とQtやらのMinGWと共存させるとエラーになるぞ。
てか、参照環境変数が一緒やねん。 C_INCLUDE_PATHが一緒やで〜。
ARM GCC コンパイル中にMinGWのヘッダー参照してどうすんねん w
やった本人が正しいと思ってやったことは、何度見直しても間違いには気づきにくい。
他人に見てもらうか、自身が忘れるまで時間をあけるといい。
適当な他人が居なければ、図面と実物の写真を上げれば誰かが見てくれるだろう。
>>122 別のATMEGA88で書き込みしたりは出来るの?
予備のATMEGA88はないの?
ATMEGA88でない別の石でも良いと思うけど。
まずは成功する環境を用意して、
そこと失敗する環境と比較することで原因を絞らなきゃ
最初に成功環境を作らなかったのが、問題解決を困難にしているよ。
電源が繋がってないか、MISO/MOSI逆かどちらかなんだろうな
>>14-15 を覚悟できてるかい?
ピンの数え方を間違えているとかじゃないかなぁ
ケーブルにMISO, MOSI, RESET, ...と書いた紙を貼って、
紙にPIN番号書いてって一つずつやってかないと。
130 :
774ワット発電中さん:2013/03/30(土) 13:30:01.45 ID:C6a0FtnZ
味噌 もし
2列のわかり難くて使いにくいISPコネクタといい電源供給のできない仕様といい
確実に失敗するドライバの自動インストールといい
動いてもマイコンの開発経験が無ければ解説無しで使えないまったく連動しない書き込みツールといい
AKI-AVRから移行するときはしばらく悩んだな
ゼロプレッシャーソケット付いたライターが欲しいよ、、、未だにTiny13AのResetピンを入力にできない、、、
不便に感じているなら、必要だと思っているなら
どうして自分で作らないの?
>122
ttp://avr.paslog.jp/article/1097407.html >AVRライタ:MOSIとMISOの接続メモ
>MOSIとMISOをよく間違える
シリアル・ペリフェラル・インターフェース(SPI)のMOSIとMISOと
isp接続のMOSIとMISOが、別物である事を理解していますか?
>FUSESのSPIEN
ISP接続しないと、AVRの中のFUSE設定は見れません。
AVRISP mk2では、SPIENの無効は設定出来ても、許可は出来ません。
全然まったく繋がっていない状態です。
135 :
774ワット発電中さん:2013/03/30(土) 17:26:55.03 ID:C6a0FtnZ
ら抜き池沼田舎ゆとりカス
12V強制リセットしかないな。
137 :
774ワット発電中さん:2013/03/30(土) 19:11:32.61 ID:UpBVIhQY
解決しました。どうやらマイコンをどうにかして壊してしまっていたようで、
別のものに変えたら無事に接続されました。
いろいろ教えてくださった皆さん、ありがとうございました。
何故壊れたのかは不明です…
ちゃんと解明しないと再発するよ
memoryの内容全てを吐かせることって出来ないんだっけか?
接続の時点で駄目って書いてあったから無理か。
141 :
774ワット発電中さん:2013/03/30(土) 20:21:38.54 ID:UpBVIhQY
>>138 再発致しました。
もう全部壊れちゃったかもしれません…
ほんと意地の悪いスレだよなPICスレのほうがまだまし
電源が問題と見た。
電源どうしてる?
USBから供給してないよな?
乾電池は十分な電圧出してますか?
あとPCのUSBポートがおかしいとかかなぁ
電源もおかしくなければ諦メロン
145 :
774ワット発電中さん:2013/03/30(土) 20:50:28.18 ID:UpBVIhQY
>>143 単三乾電池二本を直列してます
1.5V * 2 = 3.0Vかな
atmel studio 6入れようよ
もしかしたら、何らかの書き込みbugかも知れないし
こっちというか、ユーザ側で出来る最善を尽くそうよ
あと、AVRISP mk2のファームを最新版にしよう
別の手段は、atmega88でない別の種類の石で書き込みするとかだけど
今までの書き込みからして別種の石は持ってなさそうだねぇ
接続している状態を写真で何枚か取って見せてくれたら、
誰か何か教えてくれるかもね
外的要因は、
室温、部品の接続時の半田の熱破壊?
でもさ、ブレッドボード上でやってるんだよね?
やっぱ写真上げてもらうのが一番だと思う。
AVCCオープンは気持ち悪い
152 :
774ワット発電中さん:2013/03/30(土) 22:53:26.19 ID:UpBVIhQY
>>152 MOSI,MISO,SCK,RES,VCC,GNDはおk
ところでドライバはちゃんとインストールできてるのか
インストールに失敗していても通信できているかのようなメッセージ出すから要注意
156 :
774ワット発電中さん:2013/03/31(日) 00:23:17.20 ID:4rJ7Txge
>>153 すみません、初心者でして正直全く分からないです
パスコンも持っていません
>>154 確認したところ、ドライバは正常に動いてるようです
>>155 ありがとうございます。一度4.18をアンインストールして、4.19で試してみます。
>>146 亀さんだっこ式もあったよね?DIPのみだけど。
AVR 高電圧とかで調べたら出てくるかも。
初心者にいきなりリセッタ作りを勧めなければならないなんて
AVRは厳しい道だねぇ
>156
パスコンとはバイパスコンデンサの略称です。デジタル IC は内部で
多くのスイッチ動作をするので電流が急に流れたり、流れなくなったり
します。それが電源ピンのところまで反映されます。そこで、Vcc と
GND の間に 0.1uF 程度のセラミックコンデンサを取り付けて電流変化に
対応させます。
バイパスコンデンサがないと
1.電源電圧が一時的に無視できないほど下がって誤動作するかも
しれない
2.ノイズが外に出やすくなる
といったことになります。
161 :
774ワット発電中さん:2013/03/31(日) 08:03:03.29 ID:7xvXWtJc
> 電流変化に
> 対応
どういういみ?
>>137,141
からして、ケーブルの接続不良な気がするねぇ
全部、グッグッグ
って差してみても駄目かなぁ
特に6本のケーブルを直差しにしているところが怪しいかなぁ
シカシ(´・ω・`)ワカラナイ
>>161 無理やりな例えだが
電流は、電源という河川から引いてきている水のようなもの
用水路が細くて混み合ってくると、水流が急な需要に対応できないので
近くにパスコンつー貯水池つくって対応させるというわけ
電流変化 電圧=Ldi/dt=ノイズ
ヒューズビットが固定のAVRがあればいいと思った(小学生並の感想)
何事もfact findから。 トラブルが起きて、五里霧中では解決できない。
ポケットテスターでも、ペンオシロでも使って信号を確認するのがプロ・アマ問わず最初の作業。
思い込みでやると、壊すことが多く、モチベーション低下の元。
167 :
774ワット発電中さん:2013/03/31(日) 10:47:21.54 ID:7xvXWtJc
Vcc側近のパスコンは、ノイズのような
綺麗な直流ではない成分をGndに逃がす物では?
170 :
774ワット発電中さん:2013/03/31(日) 11:35:48.79 ID:7xvXWtJc
>163 で十分正しいと思うんですけど。
>168
IC 一個の内部で起きる電流変化はとても速い反面、量は知れてるので
高周波まで特性が衰えないセラミックコンデンサを使いが、その容量は
0.1uF 程度でいい、と。
電解コンデンサは電源の平滑やらレギュレーターの出力に置きますが、
その辺りは大容量の平滑が必要だけど、個々の IC の電流変化よりは
ゆっくりな変化だと考えればいいんじゃないでしょうか。
173 :
774ワット発電中さん:2013/03/31(日) 12:00:03.80 ID:7xvXWtJc
にほんご
>169
ノイズを逃がす = IC の近くに溜池を作り、急に電流が必要になったら
溜池から供給する
と同じ意味になるかと。
175 :
774ワット発電中さん:2013/03/31(日) 12:09:38.35 ID:0ogf0FhV
ATTiny13を単三2本を電源として使ってます。
100均で買ってきたブザー(圧電)を、それにつなげています。
試しに、単三電池の3Vとグラウンドにブザーを繋ぐと普通になるのですが、
PB2とかをHIGHにして、PB2とグラウンドにブザーを繋ぐと音がでません。
どっちも3VとGNDにつなげてる事には変わりないと思うのですが、
本質的に何かが違うのでしょうか?
電流
177 :
774ワット発電中さん:2013/03/31(日) 12:11:29.73 ID:0ogf0FhV
ちなみに、PB2とグラウンドに、LEDを繋ぐと普通に光るので、
PB2がLOWになってるという可能性はありません。
178 :
774ワット発電中さん:2013/03/31(日) 12:13:43.99 ID:7xvXWtJc
だから電流
180 :
774ワット発電中さん:2013/03/31(日) 12:17:51.82 ID:0ogf0FhV
PB2からは流れる電流が少ないということでしょうか…?
てことは電池とトランジスタとPB2を使って、
PB2をHIGHにした時にトランジスタがオン、
ブザーに電池からの電流が流れるという仕組みにすればいいんですかね?
それとも、AVRのプログラム上で流せる電流増やせたりはしないですかね?
何か他にも方法ありましたら教えて頂けると幸いです。
>178
今検索しましたが、車に乗らないので知りませんでした。
コンセプトはそうかもしれませんけど、ホットイナズマは
定量的にはあってなさそうな感じですね。
>175
電池とブザーを直結した時に、どの程度電流が流れているか測定出来ますか?
このスレすごいな
184 :
774ワット発電中さん:2013/03/31(日) 12:30:24.92 ID:W0dSkiCC
なるほど
>>175 ブザー単体なら、発信回路入ってるかどうかも大事
>>185 素人かw
コンデンサなら全て供給能力はある。
供給能力の差はあるけど。
>>187 素人は私を除くここのスレ全員にゃ。
マニュアル通りでは実務できないじょ?
すぐ解雇にゃっ
パスコンに関しては、インピーダンスカーブを見れば用法、容量がわかるよね
パスコンで思い出した。大学の入試でコンデンサの問題が出た。
複数個のコンデンサを直列と並列に複雑に組み合わせた回路に、
直流電圧を印加して十分に時間が経過した後の、ある1個のコンデンサの端子電圧は?
というものだった。(Q=CVを利用して解く)
ところで、パスコンつうかノイズ対策部品の選定とか実装(アートワーク)って難しいよね。
コストの問題もあるし。
回路図と基板を見ると設計者のノイズに対する考え方が分かって面白い。
んなこと言って実際は猫パンチの相手されられるんでしょ?
キーボードの上に陣取ってきたり新聞紙の上に乗って邪魔したりでしょ?
知ってるよ俺
>>180 まずテスターを用意してブザーの消費電流を測るんだ。そのあとデーターシートの
図19-37. I/Oピン(PB1,0) 出力電圧 対 シンク電流 (VCC=3V)と
図19-31. I/Oピン(PB4,3,2) 出力電圧 対 シンク電流 (低能力ピン,VCC=3V)を良く見る
電池のプラスとPB2にブザーをつないで方がいっぱい電流を流せるし
出力ポートを全部並列にして使えばさらにいっぱい電流が取れる
それにしても圧電素子を直接駆動して3和音ピアノ音っぽいオルゴールを作れるTiny13Aになんてことさせるんだ
>>192 …。
もう知らないにゃっ!
勝手にして安定家電源もオシロも壊せばいいにゃっ!
ぺちっ!
しゃちょー、邪魔するならお風呂に入ってもらいますよ!
押しボタンを普通に押したら、押した回数カウント・アップorダウン、
長押ししたら、数値が早くカウント・アップorダウンするのってどうやって
C言語で書くのでしょうか。
if (push) {
count ++;
}
if (long_push) {
count += 10;
}
>>196 言語に関係無く、
ボタンが押され続けている時間をカウントして、判断するしかない。
>>196 #include <avr/interrupt.h>
volatile uint8_t keylen,counter;
ISR (TIM0_OVF_vect){
//1/100秒周期でtimer0オーバーフロー割り込み
if(PINB & 0b00000001){//離されている(PB0オープン)
keylen=0;
}else{//押されている
if(++keylen==2)counter+=1;//今押された
if(keylen>70){keylen=60;counter+=1;}//0.7秒押され続けたら0.1秒ごとに+1
}
}
>>196 10ms程度の周期割り込みを使ってステートマシンにする
現物を見もせず断言する人らしい内容ですな
体験に基づいているのかもしれない
これからAVRをはじめたいという人向けの道具一式があれば教えて下さい
テスターもブレッドボードも抵抗もコンデンサも手持ちが全く無いとして
予算1万円のときと予算2万円のときのいずれかでお願いします
>>205 Arduino Uno (\2500)
AVR ISPmkII(\3300)
USBケーブル
Atmel Studio(フリー)
ATMEGA88でさっきから色々と作っているのですが、
プログラムをマイコンに書き込もうとすると、
突然、以下のようなエラーメッセージが表示されるようになりました。
Device signature does not match. Make sure you have selected the right device and
interface, and that your interface clock speed is set to a safe value.
[ERROR] Failed to enter programming mode.
ispEnterProgMode: Error status received: Got 0xc0, expected 0x00,
ModuleName: TCF (TCF command: Device:startSession failed.)
Unexpected signature 0x00ffffff (expected 0x001e930a).,
ModuleName: TCF (TCF command: Device:startSession failed.)
とくに設定などは変えず、一回前のコンパイルと書き込みはうまくいったのに、
突然書き込めなくなってしまいました。
このメッセージではクロックを合わせろみたいなことを言ってきていますが、
ISPのクロックは最初から250kHzの設定で、特に変えてないです。
何が原因なのでしょうか?
ちなみにISPはちゃんと緑の点灯がついています。
また、電源もちゃんと5Vが供給されています。
(家庭用コンセントから直流5V変換アダプタを通して電源を供給)
ピン配置も間違っていません(さっきまでずっと正常動作していたので)。
今、その他の配線を全部とって、プログラムには特に何も書かない状態で
マイコンに書き込もうとしてもエラーなので、
プログラムの方にもミスはないはずです。
なんかの拍子に書き込み対象のマイコンを変えちゃったとか
212 :
774ワット発電中さん:2013/03/31(日) 22:21:11.52 ID:+cr8ObV9
>>210 返信ありがとうございます。
さっきまでATTiny85でやってましたが、そのせいでしょうか?
とはいえ、新しくプロジェクトを作り直して、そこで新しくATMEGA88を選び直して、
新しくプログラム書いて書き込みしてるのですが、
それでもエラーがでます。
再起動もしました。。。
どう対処していいのか分からないです…。
>Unexpected signature 0x00ffffff (expected 0x001e930a).,
0x001e930a のはずが 0x00ffffff 読み出されたって言ってる。
別のデバイスIDどころか全く読めてないと思う。
ケーブルとか半田付け疑ったら?
signatureがおかしいって言ってるね。
んで、正しいdevice, interfaceであることも確認してね。
そして、あなたのinterface clockの速度を安全な値に変更しておきました。
だってさ。
配線が緩んだかな?線を気づかずに引っ張っていて、
緩みかけている箇所があるなんて良くあること。
215 :
774ワット発電中さん:2013/03/31(日) 22:35:46.46 ID:+cr8ObV9
配線はかなりしっかり刺してるのですが、、、
ちょっとブレッドボード変えてやってみます。
ブレッドボードを変えてもダメみたいですね・・・
配線は何回か抜き差ししてしっかり刺さってる事を確認しています。
また、USBの線も予備のものに変えましたが、それでもだめなようです。。。
>>216 同じ型式の違うマイコンにゃい?
交換してみるといいにゃっ
>>212 Atmega88は、実はFuseBitが外部発振にセットされていたとかないよね・・・?
>>212 とりあえず落ち着いてさ、
ATMEGA88pの古いプロジェクトでやり直してみようぜ
これからマイコン始める人は、
クリスタルは持ってて損はにゃいから、
トラブル用にでも持っておくといいにゃ。
4本足の四角いクリスタルは、自己発振するけど
2本足のは別に22pFあたりのコンデンサーが2つ必要。
精度あまり気にしないなら、3本足の
コンデンサー内蔵のもあるにゃ。
これ以上書くとお風呂入れられそうなので、猫はうすに戻ります。
222 :
774ワット発電中さん:2013/03/31(日) 23:21:23.17 ID:0ogf0FhV
うぅ、すみません、終電の時間でタイムリミットきました。
明日また挑戦します…悔しい…。
Fusebitはよく分からないのでいじった事がありません。
そして今、運悪くマイコンがATMEGA88一つしかないのです。
その他のマイコン達は全部基盤にハンダされてるので使えません。
明日、ATMEGA88の昔のプロジェクトをひっぱってきて
書き込みしてみます。
あぁ…今日は調子が良かったのに
このエラーのせいで最後の3時間は何も進まなかった…
>>17 12F1822に載せてみたけど32MHzにしてもスピード足りんわ
コンパイラが無料の手抜き品なせいもあるだろうけど50MHzくらいでないとTiny13の10MHzに置き換えできん
PWMもBTL駆動にできない上に負荷が重いと出力ラッチの内容が化けるしイマイチだった
電線(の被服)の色は、もうちょっと意味のある使い分け
(せめて+/-くらいは別に)しないとミスるぜぇ〜
あるいはコネクタやMCUのピン番とケーブルのカラーコードを合わせるとか。
大昔(高校生の時に)、チャを一杯、アカい人参…なんて覚えたなぁ。
>>219 テスターは2000円くらいのものでいいと思う。
ミノムシクリップとICクリップが付いた電線を買うか作っておけば
配線のチェックとかが楽ですよ。
抵抗器も10kと1kくらいを10本くらい持っておけば、安心かなぁ?
AVR32の話はスレ違いか?
違わないよ 語れ
>>227 問題無し。 どうぞ。
久々にAT32UCデータシート眺めて、SSCの高機能さにビックリしているところ。
なぜ、ATUCシリーズでIISCにグレードダウンさせたのか謎。
XMegaは、AVR32とは別物?
>229
いつのまにかなんか出とったのかとATUCへのmigration guide↓見たら、
www.atmel.com/Images/doc32141.pdf
とりあえずUC3Bの廉価版にみえるのだが、したら謎ってほどでもなくね < SSCグレードダウン
>>231 picoPowerの違いあるんで。手の平サイズハンディーandoroid周辺機器考えてるもんで・・・
しゃーねぇ。 UC3B使うか。 500uA/MHzか・・・ orz
>>230 スムーズに出産されたのがAVR32。 難産がXMega。 8ビットと32ビットが違うかと問われれば?
なして、16ビットがねぇんだ おい!
>>233 ぬ?XMegaみてみたら、8/16ビットって書いてるね。
開発環境が変わるとかで手はだしてなけど。
クリスタル無いなら予備のAVRからクックロ出力すればいい
>>235 クックロか〜。
まだ勉強中の私には分からない言葉なので、
調べてきます。
>>221 > 4本足の四角いクリスタルは、自己発振
おまえの頭の中は、足の数で発振器と振動子が区別されているんかい!!w
いい加減だな〜
> 3本足のコンデンサー内蔵
3本足の発振器も、四本足の振動子もあるよ。
>>237 このスレを象徴するようなレスだな
無駄に厳密な話しにもっていく
この場で挙げる必要もない、反論する気もおきないような例外を出してきて白けさせる
240 :
774ワット発電中さん:2013/04/03(水) 12:02:18.97 ID:ISaqK9Js
クックロはクロックの玄人なんですかね?
241 :
774ワット発電中さん:2013/04/03(水) 12:10:03.23 ID:YmuoutSp
typoに粘着する奴って、、、
クックロビン
この程度で厳密って、どこまでレベルが低いんだ?
>>243 このスレを象徴するレス
上から目線で見下す
3225クラスの水晶振動子はほとんど4pinだから、
ピン数で区別するのはダメ。
今時は秋月ですら売ってる。
売ってるですら
足の数では機能を識別できないのに、
その事を指摘すると「無駄に厳密すぎる」になるのか。
初心者は混乱すると思うけどねぇ。
揚げ足鳥もキッチリ仕事してるし、さすが低レベルAVRスレの名に恥じない。
>4本足の四角いクリスタル
と言っているのだから昔ながらの針金(足)が出ている大きめのやつを
前提に話しているのは明かだろ
なのに
>3225クラスの水晶振動子はほとんど4pin
だとか前提無視で勝手に解釈して
自分の側に引き寄せてえらそーに語ってんじゃねーよ
今日のところはこれぐらいにしといてやるわ
こんなスレいらんかもね。
ID:Sp9mDQ0S みたいな柔軟な人が
多いければ良いのだけど、上から目線口調が
やけにイラつく。
>>251 読み返してみて、文章が上から目線過ぎると反省しました。
今後、気をつけます。
オレも反省しました。もう来ないことを誓います。
>>244 見下すさ、上から目線の偉ぶった猫の、化けの皮が剥がれたら笑っちゃう奴が隠れていたのだから。
>>248 > 針金(足)が出ている大きめのやつを
> 前提に話しているのは明かだろ
そんなもう売ってないCANダイブを引き出して、
勝手に前提作って解釈して
自分の側に引き寄せてえらそーに語ってんじゃねーよ
o °
° ° °
o ° __ ° ° o
∧∧【CAN】∫ °° °
⊂(゚◎゚┛┃┃ヽ⊃ °
° とノ ̄ ̄し ° o
° ° ° ° °
° °
/ ̄`ヽ! l/,.--、.',
〇 /¨\.| /`ヽ l `!
!'゙~`ヽ|' |/ヽ.
o ! | ̄ヽ}
ヵ | l
乃乃ヵ | |
乃乃乃ヵカ. (、 ( | |
乃乃乃乃": : : : : :))( : : :)): : : : : : : : : : : : : : : : : : : : : : : : : . . .
乃乃乃乃:::::乃;;::((:)))((ノ:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...
乃乃乃乃乃乃乃,((((メ))/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,
CANダイブか。難しい言葉がよく出てくるな。
クックロにCANダイブ。
>>256 時計用水晶にしても、CANタイプが
まだ十分主流と思うが。
CANダイブは、知らんが。
CANダイブw
わざと笑いを混ぜとんか? (゚Д゚)ゴルァ
(゚Д゚)ゴルァ 時計用は二本足だ
アマチュア向けを想定して電子部品なんて普通作らんからな
>>261 CANタイプのはなしね。ダイブは知らんが
アマチュアだけど面実装の方が好き
面実装品を積極的に使ってたら、配線に使うリード線に困る様になってしまったw
面実装品にリードつけてプラスチックでモールドして互換品と称して売る商売を思いついた
>>268 是非やって欲しい
安いICクリップが使えるくらいの大きさがいいな
1.27mmピッチか2.54mmピッチでおk
どうせなら金属缶に入れればヲオタに無駄に高く売りつけられるんじゃね
マトリョーシカのようになってたコンデンサ思い出した
有名なコラだよね
最近だとリチウム電池の変わりにバラストの砂が入ってる
>>273 あれは砂の代わりにリチウムバテッリーが入ってたんだよ。
275 :
774ワット発電中さん:2013/04/05(金) 01:02:12.92 ID:r5/tvpp7
なんでマイコンって定格が5.5Vなんですか?
6Vだったら電源の確保が楽なのに…。
1.5V乾電池4本繋いだら、やっぱり壊れるんですかね?
みなさんは電源どうしてるんですか?
>>275 電池3本にすればいいよっ!
自分は電池2本にDC-DCかUSBから電源とってる
6Vのがあっても、乾電池4本駆動はダメ。
乾電池は1.5Vと決めつけるのは間違い。
>>275 マイコンがまだない時代、集積回路ICが登場してきたとき
テキサス・インスルメンツ社のロジックICが5V電源だったから
と聞いた
「テキサス・インスツルメンツ」ですよ
280 :
774ワット発電中さん:2013/04/05(金) 02:52:01.13 ID:emT1nPe6
>>278 当時のトランジスタの閾値が4vほどなのでトランジスタで作る論理回路は必然的に4v以上必要でキリのいい5vを採用。
その後に、IC化されても互換性の為5vにしたとか読んだ気がする
282 :
774ワット発電中さん:2013/04/05(金) 08:44:44.45 ID:q6gsmrTp
なるほど、ちゃんとそういう理由で5.5Vなんですね。
どちらかといえば乾電池の方が電子工作的に
空気を読めてない電圧になってるというわけですね…。
ありがとうございます。
ボタン電池(3V)か、1.5V乾電池3本で頑張ります。
283 :
774ワット発電中さん:2013/04/05(金) 09:09:49.99 ID:q6gsmrTp
AVRのEEPROMにたくさんデータをストックさせたい(一回だけ)のですが、
CCS社のCコンパイラではプリプロセッサで
#ROM 0x2100 = {1, 2, "hello", '¥n'}
のような書き方ができるようです。
僕はAtmelStudio6を使っていて、"hello world"の用な文字列を書き込みたいのですが、
eeprom_write_byteみたいに1byteずつ書き込むのではなく
CCS社と同じような書き方で、どのアドレスにどんな文字列が入っているのか、
ソース上で分かりやすく確認できる書き込み方法ってないでしょうか?
普通にあるからググってみ
wikiにもあるし、AVRLibcの説明にもあるし・・・
>>275 スイッチング電源、安定化電源、
三端子レギュレーターで5Vだしたりと
色々方法はあるよー
三端子は無駄が出ること前提だしなあ
目的の電圧よりも高かろうが低かろうが、無駄なくばっちり安定して出ないのか
置場所さえ困らなければ直流安定化電源は便利。
電流制限も出来るからちゃんと活用すれば安全に実験や工作が出来る。
工作しないときには漬物石の代わりにもなる。
高いけど値段なりの価値はある。
最近は3本足のDC-DCのICも出てきてやりやすくなりましたね
>>287 15Aの直流可変使ってるけど、確かに重すぎw
スイッチ入れたら「ぶぉん」と蛍光灯が、
すこしゆらぐんだよね。
それに比べ24Vのスイッチング電源の軽いこと…
15Aってすげーな
大容量の負荷なんて使ったこと無いけど
ロボットとかだとモーター満載だからそのくらいいるんかな?
>>290 短波の無線機につなげてたからねー。
サーボモーターあたりで、1.5Aくらい?
俺が仕事した中での1番の電力食いはプラズマ溶射のMax100V1000Aだったな。
でも製作したのはコントローラだけだったので、
I/Oポートのアナログ絶縁回路につながっているパワー制御回路がどうなってるかは一切知らん。
ノイズ対策にメチャ苦労した。
大電流だと、物理的に切り離しても、アーク放電で電流が流れ続けるからな
今、あらためて思ったんだが、
CPU(MCU)を使ったコントローラって毎回同じパターンで作れるから簡単だけど、
コントローラにつながる入出力装置の設計製作は大変だな。
用途によって、pA微少入力のDCアンプを作ったり、水冷の大電力を制御したり。
私には出来まっしぇん。
>>292 1000A怖すぎるw
手とか穴ほげるんじゃ?
296 :
774ワット発電中さん:2013/04/06(土) 15:06:08.45 ID:GF166sUm
>295
あなた、福岡県民だね?
なるほどですね〜
hoge
ほげる
そんなことよりAVRに詳しい人みえますか?
そんなこと聞いて何になるの?PICにしなさいPICに
>>304 あへっ? AV Recordの事では?
307 :
774ワット発電中さん:2013/04/06(土) 21:01:00.63 ID:fW3EwtqA
>>306 お見えになる いらっしゃる
の省略形だと思う。
○○さん見えるかな
標準語の見えるは come の意味だろ
exist で使うのは名古屋弁
FreeRTOS いいね
マイコンに OS とかないわーと思ってたけど、複雑な通信プログラムに試してみたら便利すぎた
誰そ、知ったぁる人あるかい?
インラインアセンブラに挑戦中、躓いているので力を貸してください。
コードの中に
sbi PORTB,1
と入れたいのですが、この場合Cではどのように書けばいいのでしょうか。開発環境はAVRstudio5です。
以下、試した例
asm("sbi %0, 1" : "I" (_SFR_IO_ADDR(PORTB)) : );
asm("sbi %0, %1" : "I" (_SFR_IO_ADDR(PORTB)) :"I"(1) );
アセンブラは勉強したてであまり詳しくありません。よろしくお願いします。
AVに詳しい方おられますか?
至急、「メスピンが抵抗するけれど刺さるみだらな振動子」の
入手方法を教えていただきたいです
急いでます(切実
313 :
774ワット発電中さん:2013/04/07(日) 11:33:54.20 ID:LlxFhdcu
面白いと思って書いてるなら恥ずかしいな、これ。
>>312 大人のおもちゃのこと?
電動バイブを通販でかいなされ。
高級品には、PICが入ってるのもあるらしいぞw
>>315 みたことあるのは、ファンコンに入ってたよ
振動のリズムをマイコンで制御
強さをコントロールしてくれる奴が少ないんだよな
PWM制御するだけだろうに
頭にセンサーいっぱい貼り付けて、AIでやってくれると嬉しいな。
それはともかく、別々の女性から下記のように言われた事がある。
1 終わる時は一緒よ
2 まだ終わらないのォ
1は幸せイッパイだったけど、2はミジメで消えたいと思った。
>>313 下タシリーズで悪いね。
清く明るく正しい青少年はただちに忘れて下さい。
ごめん、「下ネタシリーズ」ね。
なんという俺のためのスレw
今PWMを使って、LEDの明るさを変えられるようにプログラム組んでる。
言語はアセンブラ、AVR studio4, WinXP。
ハードウェアはこう。
・チップはATmega8(28 PDIP)、内蔵クロック1MHz駆動、電源はUSBの5V。
・PB0,PB1,PB2にプッシュスイッチ
・PB3(OC2)にLEDと1kの抵抗
やりたいこと
・プッシュスイッチで100%,30%,0%と違う明るさでLEDを点灯させたい
できたこと
・PB0のスイッチをON->100%点灯 OK
・PB1のスイッチをON->30%点灯 OK
(続く)
失敗したこと
・PB2のスイッチをON->0%(消灯) NG
失敗の詳細
・0%にしたはずなのに、うっすらLEDが点いてる
オシロで波形見ると、ちょぼちょぼと細いパルスが出てる。
波形の確認は秋月のオシルコスコープキットを使用し、
LEDの足をクリップして測定。
失敗の推測
・OCR2を0にすりゃLEDは消えるはず!俺完璧!と思ったが、
実はTimer2が0になる瞬間だけ細いパルスが出て、俺ガックシ。
でも、PWMの正しい止め方ってなんだ?
てな感じなんだが、合ってるかな?
寂しいんでツッコミください。
AVRの入門に適したテキストって何かおすすめあります?
アナログ回路で色々作ったことはありますが、
マイコン使ってデジタル回路は今回初めてなのでちんぷんかんぷんです。
>>322 おしるこスコープだと甘そうだな
OC2のピンをPORT出力(0にしておいて)に変えるのが簡単でいいんじゃない
あまああああああああああああい
お菓子だからね
>>324 おk、PORTBのbit3を0、PB3を入力にしたら、
きれいにPWMの出力を止められた。
秋月にオシルコスコープが入荷したら知らせてくれw
おでん缶に次ぐ名物として、食いに行かねばならんw
イメージオシルコン…
Tiny2313を使ってるんだけど、
ICP(キャプチャ)と、INTってどういう使い分け?
パルスの立ち上がりで割り込みかけて、タイマーで周期を測定したいんだけど、
どっちでも出来そう??
INTは割込処理ルーチンに飛んでタイマを止めるか読むまでに要する時間が誤差になる
その時間が問題にならない用途ならICPとINTで違いはない
ICPはパルスが変化した瞬間のタイマ値をコピーして記憶しておいてくれるから後でゆっくり読みに行っても誤差がない
Mega88で、EEPROMを使用しないときにEEARL、EEDRをGPIOR[0..2]の代わりに使える?
>>334 これは安くていい!
1.27mmピッチですら余裕でハンダブリッジしてしまう自分にとって0.65mmはかなり不安だけども
オレもシロートだけど数年前に書いたインラインアセンブラ部分
よく覚えてないけど、タイマーのオーバーフローを正確に取りたかったんだと思う
参考になれば・・・
__asm__ __volatile__("\n" //ch4信号終了まで待機
"sva:"
"in %0,%1" "\n\t"
"sbrs %0,2" "\n\t"
"rjmp sva" "\n\t"
::"w"(temp),"I"(_SFR_IO_ADDR(TIFR))
);
ちなみにsbi cbiをインラインアセンブラで使ったことはないです。
>>335 >最後に
>素直にピンを2本使った方が良いでしょう.
>期待して読んだのに,がっかりしたという苦情は受け付けません(笑).
ってあるが・・・
>>334 みて速攻でお気に入りへ
>>335 見て削除した
おれも0.65mmは無理だ
たぶん手段が目的なんだとおもうが、
プルアップ抵抗使って8ビットの精度出すのはかなり難しいだろうと思う
>>340 そうですよね。
周辺で工夫しなくて良いようにマイコンのバリエーションが多いのにわざわざオペアンプまで付けること無いと思う。
DAC付のマイコンを選定するかPWMをアナログ化する方が楽だよね
LMV324の手はんだは難しくないよ
多めに盛ってから吸い取る方式できれいにできる
同ピッチの基板があることが前提だけど
344 :
774ワット発電中さん:2013/04/13(土) 22:40:49.49 ID:XgYygSV/
今知ったww
amazonでIC
345 :
774ワット発電中さん:2013/04/13(土) 22:41:57.59 ID:XgYygSV/
いま知ったww
amazon.co.jpでICソケット買えるんだなw
いま田舎に住んでるから助かるw
送料無料w
346 :
774ワット発電中さん:2013/04/13(土) 23:06:34.22 ID:tKqfCAKA
AVRのコンテストって日本にないでしょうか?
あれば面白いかなー?と思ったのですが。
つ [いいだしっぺの法則]
attiny861より2313の人気が高いのはなぜか
秋月で2313の方が安い
デジタルピンだけ使うのなら2313の方がいい
ADC使いたいならAtmega
同じ20ピンに見えるけど861は使いにくい
とかか。使ったことないけど
疑問を呈しつつ完璧な回答にもなっているよ
出力ポートの内部抵抗がPICの10分の1なんだな
なんでこんなに強力なんだ
>>352 つまり
AVRはPICの10倍の出力電流が可能
ということでしょうか?
チップ全体で制限あるから、燃やさないでね。
>>350 フラットパッケージしかないとか、12MHzまでとかが許せるなら1634おヌヌメ。
UART2系統でRAM1KもあるくせにADCまで乗ってるカワイイ子。
浮気性の
>>356には分けの分からないバグが発生しますよーにっ
by attiny861 and attiny2313
マイコンのマの字も知らないような私がライントレースカーを作ることになったのですが、
マイコンを注文する際の必要なピン数が分からないのですが
どうすれば分かるのか教えていただけないでしょうか
>>359 すみません、どうしても明日までにピン数だけ把握しなければならないのでお願いします
使うモーター、ギヤボックスなどが分かっていればそこから特定できるようなものなのでしょうか
>>360 2000ピンくらい見ておけば、足りなくなることはないさ、
363 :
774ワット発電中さん:2013/04/15(月) 23:11:39.42 ID:2e+Xo9r1
>>361 フォトインタラプタで光を感知し、マイコンに出力させる予定なので必要なのです。
AVRで作るのは確定なのかな。
それなら、AVRとライントレーサーで検索するだけでも、WEBに作例が出てくるんだが・・・
ここで聞くより自分で調べたほうが良いかと。
それこそ、DIPじゃないとだめなのかQFPでもいいのか、はたまた他に使う部品に制限はあるのかなど、
後出しで情報出すようだと、明日に間に合わないと思う。
>>363 最終的に何がしたいのか解らないけど、秋月で20ピンのATTiny2313でも買っておけば足りるんじゃない?
そもそも高いものじゃないんだから上記に加えて8ピンのATTiny13Aと28ピンのATmega168Pでも買っておけばいいんじゃない?
366 :
774ワット発電中さん:2013/04/15(月) 23:18:22.86 ID:2e+Xo9r1
質問したのに説明不足でもうしわけありません。
的外れな価格かもしれませんが1000円以内なら大丈夫かと。
AVRという指定はありません、例としてはPICを用いているのもあります。
ライントレース機能に+αで的当てや物を飛ばすなど機能を付ける予定ですがそちらもピン数に関わってくるのでしょうか
PWM制御を用いて制御します。
もしかして:宿題
例と同じ部品買えばいいんじゃないだろうか・・・
>>367 自分自身に厳しい期限を課してる人かもしれんよ
むしろ本体サイズの制限はないの
371 :
774ワット発電中さん:2013/04/16(火) 00:15:35.11 ID:882Upx1f
ピン数を把握する手法を知りたかったのですがどうやら簡単に説明できるようなものではないようですね
知恵を貸してくださったみなさまありがとうございます
Stratixとかおすすめしとけばいいのかな…w
手馴れた人にとっては簡単だが、マイコンのマの字もわからない人に説明は難しい。
なによりマイコンはピン数だけで語られるものではないということ。
デバッグとかも考えるとプログラムが巨大になりそうだから
ATMEGA644 か ATMEGA1284 を使えばよさそうだが
DIPタイプは秋月では品切れだな
164じゃ入りきらない?
生チップは止めとけ
USBケーブルを差し込むだけでLED点滅サンプルが動いて簡単に点滅間隔を変更したりボタンを押せば止まるように改変できて
デバッガでプログラムを止めて一行ずつ処理内容を確認できる基板が買えるだろ
初心者ならカネを惜しまんで投資しろ
ド素人はUSB接続で手抜きしないほうがいい。
電源などの誤配線でPC側にダメージを与えるかも試練
>>377 おまえ、あれだけ恥かいといてよく出てこれるなw
>>378 おまえ、スルーできないなんて恥ずかしいぞ
秋月はAVRの取り扱いは縮小方向なのかなぁ。
面白そうな品種が存在していても、安く簡単に入手できないとツラい。
>>381 ああいうヤツは皆の反応を楽しんでいる。餌をやるなということだ。
池の鯉にえさをあげると和むよね
ATmega 16MHz に 32bit / 16bit の計算をさせるとどれくらいクロックが必要ですか?
実数として 104166 / 11203 とかの値になります
定数ではありません
すみません、割られる方の 104166 は定数です
>>385 >実数として 104166 / 11203 とかの値になります
コンピュータで実数というと浮動小数点数で近似するのが一般的だけど、そこんとこどうしたいの?
質問に答えられないなら黙ってろ
volatile int32_t temp32;
int16_t temp16;
temp16=11203;
int16_t i;
for(i=0; i<256;i++){
temp16+=i;
ストップウオッチスタート
temp32=104166/temp16;
ストップウオッチストップ
}
こういうプログラムで実測してみたら
temp32=104166/temp16;
の処理に要する時間が約31.5usec@20MHz@atmega1284pだった
31500nsec/50nsec=630クロック
volatile int16_t temp32;
にしても同じだった
コンパイラがどんなコード吐くかですが、
整数型なら500〜600クロックくらいかな
>>392 ヽ(~〜~ )ノ 32bit/32bit の数字出して何が言いたいんだろう?
小さい人間だな
だが硬さと持続時間には自信がある。
大変参考になりました、ありがとうございました
>>394 ばーか、割り算の仕組みを少し考えてみろ
俺一人の責任だから
>>394さんを責めないであげてほしい
実数も浮動小数点数もいらんかった
>>402 被除数と除数のビット数(バイト数)によって処理量には明確に違いが出るがそれが何?
もうやめようよ
このままじゃ
>>385さんが河合奈保子の「けんかをやめて」を歌いだしちゃうよ
竹内まりやじゃなかったのか
>>385 こんな所で聞くよりも、自分でアセンブラで組んで計測した方が
イヤな思いをしないで済むだけマシだと思うよ。
>>388 何言っているんだか。
浮動か固定少数点かで答えが変わるでしょ?
実数というのが数学的な実数なのか実際に使う数の意味なのかが
>>385 >ATmega 16MHz に 32bit / 16bit の計算をさせるとどれくらいクロックが必要ですか?
>実数として 104166 / 11203 とかの値になります
104166 は 16進で 0x196e6 で、ちょっとの工夫で 16bit / 16bit と大差ないコストで計算できることは気付いてるか?
avr-gcc で質問です
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_mode();
としたとき復帰するまで出力ピンの内容はずっと維持されることは保証されているのでしょうか?
やってみた限りでは大丈夫そうなのですが、あてにしていいものかどうか分かりません
>>412 に追記
出力にしたいのは 1 か 0 かだけです
(PWM は使いません)
>>412 avr-gccがというより使うMCUのトピックだな
AVRの場合だとどのモードでもsleepを実行しても出力ポートは保持される
これは何もしないと保持するための電力を余計に食うということだが
それが問題なければ大丈夫だってこったな
>>414 ありがとうございます
大丈夫そうなので安心しました
変な奴が居着いたな
秋月のATMEGA1284Pの品切れ期間長すぎ
644Pまで品切れになるし
秋月は妙にAVRが安いよね。
いっその事、「次回は値上げします」とでも書いてくれれば、他で買うのも検討するのに。
>>418 QFP版+(自作)変換基板にでもしとけば?
328の変換基板よりは作りやすいはず。
円安もあるし値上げはあるだろうね
AVRもPIC directもどきをやってほしい
秋月リスクは辛い
円高のうちに大量仕入れして欲しかった
digikeyでATMEGA主体の発注書作りかけだったの思いだして見てみたら5%くらい上がってた。
他の人も使えそうなAVRのアプリを開発したら、
全てを(回路図も基板版下もソフトも)無償で秋月に提供して、
販売してもらう。
そうすれば秋月のAVRの取り扱いが増えるかもしれない。
自分で作って自分で売れば全部自分の取り分だけど?
それじゃ秋月のAVRの取り扱い増えないだろ
秋月でのAVRマイコンの扱いがわるくなると
AVR文化が衰退する感じで寂しい気持ちになるのだ
妄想に付き合わなくても・・・
>>429 量産品に使うのはアーキテクチャよりも値段だから
量産で買うと少し高いAVRは不利かも?
上位タイプは他社ARMとかぶる
秋月、行けばすぐ買えるぐらいしかメリットない。 多品種もchip1の方がいい。
>>429 別に秋月で売るために作ってる訳じゃない。
炊飯器やポットに何万個と使われる為に作ってる。
俺らが買うのはそのおこぼれにすぎない。
秋月は、量産のあまりを販売してるだけだからね
そうか、「量産のあまりが減っている」のが
「秋月の取り扱いが減っている」理由なのか。
家電メーカーはAVRをどんんどん採用してあまりを回してほしいな。
ルネサスの余りが流れて来ても汎用性ないぞ
もしそれが本当なら家電メーカーは AVR32 とか dsPIC を
採用してほしいです。
メーカーは新規製品でDIPタイプなんか採用しないだろうから、
秋月のmega328やtiny2313のDIPタイプも在庫がなくなれば、
mega644P-20PUと同じ運命をたどるのか。
残念だな。
まだ生産は止まってないからそこまで心配しなくていいんじゃね
(mega328P-PUは製造期刻印1239まで確認済み)
秋月が取り扱うかは知らんけど
俺は信越電機商会の先代社長の時代から秋月一筋、秋月命、秋月LOVEなんだ。
だから秋月がAVRの取り扱いを終われば、俺もAVRを終わる。
お前の言いたい事は分かってる、何も言うな、俺をソッとしといてくれ。
今はただAVRとの美しい思い出に浸る時間が欲しいんだ。
…
ヒッヒッヒ、退屈なのでつい遊んでしまった。
ってか、ここは秋月スレでも無かったな。
皆様、どうも失礼しましたッ!!
(レス無用)
442 :
774ワット発電中さん:2013/04/21(日) 14:11:02.08 ID:6tjj4Tbp
おもしろいのか
ブレッドボードで扱えなきゃ嫌ぁ!か。面倒くさい連中。
DIPを否定して偉ぶるやつは
ポリウレタン線で細かく整然と美しく配線した写真をネットにアップして
さりげなく見せびらかし優越感に浸るつまらない人間
arduinoISPでattiy2313にarduinoのプログラムを書き込めるようになったのですが
秋月で200円で売ってるattiny861のファイルが無いのです
元の元のドイツのサイトとかにはあるのかな
ここの板の連中あまえすぎ。
自分でつくれと。
あるのかきいてる人につくれという回答はないでしょ
いや回答になってないよ
知らないなら黙ってろ このスレの格言だよ
訂正:
× 質問者が
→ 質問者を
>>444 んな暇ないからさっと基板作っちまうよ。
QFP とかを使う場合、変換基板とICソケットを使って
ブレッドボードに差せるように細工してるけど、
皆さんはどんな細工をしてますの?
ユニ板に直付けですか?
聞いてるのは実験回路のときってことだよね?
変換基板使ってます
そうです、実験回路の話です。
QFP64 などでブレッドボードに直差し出来る変換基板ってありますか?
64Pinの変換基板はPin配置が正方形型になっていて、
並行型ではないためブレッドボードに直差ししたくても、
小細工が必要で面倒くさいなーと思ってますので、知りたいと思いました。
ブレッドボードを2つ以上使えば?
変換基板にジャンパワイヤハンダ付ければおk
ブレットボードを窓から放り投げれば全て解決。
>>458 2階建て構造はどう?
2階 … QFP → 2.54o×2列×4辺 (市販品の変換基板)
1階 … 2.54o×2列×4辺 → DIP64P(ユニバーサルボードで自作)
配線がチョット面倒だね、使用するピンだけつなぐとか。
変換ボードの2辺だけピンヘッダを付けて、それ以外の2辺はソケットにして
ジャンパワイヤで配線すればいいんじゃね。
電源とパスコンだけは変換ボード内で配線。
fusionPCBに頼んでオリジナルの変換ボードを作ってもらうんだ!
AKI-マイコンボードに期待。
H8なんて、それのおかげで普及したんじゃね?
それArduino
センスねぇw
同意
USBASP V2.0 Lcsoft Studio でATtiny10 の書き込みは可能でしょうか?
472 :
468:2013/04/23(火) 20:22:37.11 ID:ISU6j2/y
>>469,470
すまぬ。そのままDIPと差し替えられるようにしようと思って他に手が浮かばなかったのだ。
>>469 じゃぁ、お前が作ってアップしてみれよ
批判しか出来ない馬鹿か?
474 :
469:2013/04/23(火) 21:44:40.63 ID:dzDx28Ql
>>473 作成済みだがアップする気は無い。
一枚で問題なく600mil40Pに収まる。
批判としか捉えられないド素人の癖に、なに偉そうにしてんのw
469は必死
だよな。
シナチョンじゃあるまいに、無料で他人の知恵を頂こうなんて図々しい。
>>474 は? QFP32を300mil28Pにおさめてから言えや。
QFP40/44を600milに収めてられるのは当り前すぎて話にもなんねーよカス
煽らなくてもいいからw
どうでもいいことだよw
DIPが容易に手に入るmegaXX8を変換するのって何か意味あるんか
480 :
469:2013/04/23(火) 23:44:39.36 ID:dzDx28Ql
>>477 全然問題なく収まるだろ。
お前のUPした基板見れば無駄が一目瞭然だろうに。
ゆとりすぎw
>>468 意地でも幅を広げたくなかったのか?
CPUの載っているほうを垂直にしてもよければ、
もう少し部品点数減らせるかも。
(昔のPentiuIIみたいにして、SECCスロットのような向きでDIP変換基板にはんだ付けする)
>>480 ごたくはいいから、さっさと収めて
>じゃぁ、お前が作ってアップしてみれよ
おいおいお前ら、どうせブレットボードに刺して、
ぼくちゃんこんなの作りました〜って
ブログで自慢したいだけだろ?
CPUを実装した基板にエッジコネクタを付けて、
DIP基板に垂直方向に挿入するようにすれば、CPU基板の交換が可能になって、
複数個使用する時のコストダウンにつながると思う。
変換基板を作った事がある人は「アップする気がない」なんて言わないで
是非、無料で見せておくれ。
垂直で良いならSIPでいいじゃん
意外とないよね、SIP
このスレ、阿呆が多すぎw
AVRなんて糞はすててしまえ
能無し
先日の面接思い出すわw
相手「 PICもAVRもできますっキリッ」
「TQFPの手ハンダも得意です。ドヤッ」
私達「で、FPGAはつかえますか?」
「GPU制御できますか?」
相手無言になったわw
勿論不採用。
おまいらもくだらんもんさわるまえに
実になる技術みにつけなw
GPU制御?
>>489 何で相手視点で書いてるんだ
後、マイコンとFPGAは別物だろ
>>491 そうだな
こいつドヤ顔しているけど、その前に経歴書で落とせよレベル。
わざわざ面接までしてアホやw
ディスクリートのGPUを制御できる人材が必要とかどんな組み込み案件だよ、
高望みし過ぎ。
>>489 >私達「で、FPGAはつかえますか?」
>「GPU制御できますか?」
一人の人材に求めるスキルと違うんでないの。とんでもないブラックだな。
>>491 大抵並んで基板に載ってるから両方扱うスキるが欲しいというのは納得できる。
>>489 で、求人にはFPGAとかGPUとか書いてあるの?
書いてあるのに応募してきたならそいつが馬鹿だが
書いてないならお前の会社が馬鹿、って話だわな
しかも書類選考で落とせばいいのに面接するとか
間抜けな会社だな
底辺が底辺から抜けられないのは、馬鹿だから余計な仕事を自分で作って
時間を無駄にしている事が大きい。
今は、わからなくても良いから、半年で出来るようになる奴を採用しろ。
釣りに釣られてやんのw
出た!
後釣り宣言wwww
可哀想だからそっとしとけ
>>500 いやいや。よく出て来れるなと、ここは誉めてやろうぜ。
俺ちゃんはBGAが手ハンダ余裕です!
やっとってください!
GPU抜きなら、まあありなんだけどね
>>503 よっし!一回俺の目の前で見せてみろ
そうしたらバイトくらいならやっとってやるぞ
>>505 GPUがGPGPUなら、単なるプログラミングだけどね。
真剣に高速化を考えると難しいよ。
ただ書くだけなら誰でもできる。
大丈夫、経歴書も読めない
>>489なら、喜んで採用するw
変化の早い世界だから、今何が出来るかより、
今後出現するであろう新しいものに、
どれだけ素早く柔軟に対応できるかの方が大事だと思うぜ。
若いのに後生大事に既得技術にしがみついている奴もいるし。
裏紙使ってたから別の誰かの履歴書が裏にプリントアウトされてて
visual basicなら何でもできるけどvisual basicしか出来ない59歳とか、
何でそれしかやらなかったんだと思う
>>511 >visual basicなら何でもできる
すごいじゃん
>>511 システム系の人は Cobol→Visual Basicだけど、そういう畑の人では?
Visual Basicだけでも、NETMFが走っていれば組込出来るけどね
attinyの上限の8kBって
ドラクエIが入るサイズかも
>>515 64kBもあったのか
それで堀井が容量不足とか言うのはおかしいな
オープニングムービーを削ってやっと容量クリアしたって、IIIだったかな?
6502もAVRもメモリからのロードとストアでムダにプログラム容量食うから大変だ
せめてY+qを使ってくれ
mega128に収まる容量なのか
520 :
774ワット発電中さん:2013/04/26(金) 23:33:00.97 ID:cAVDeeod
ATmega88使ってなんか簡単なもの作りたいんだけどなんかないですか?
LEDピカピカしか思いつかん
>>520 LEDの代わりに圧電サウンダをつなげるんだ
音と光とタンタルコンデンサの爆発音で知らせる3分タイマとか
LEDの代わりに100万ボルトを制御するんだ
面白いの?
>>520 ラダー抵抗DACに、プログラマブルな正弦波を流すことで
正弦波発振器に出来る
> プログラマブルな正弦波
w
DAC(+アンプ)は一個作っておくといろいろ楽しいぞ
>>520 楽器に興味があるなら、チューナーやメトロノームは?
鉄道模型に興味があるなら、自動(プログラマブル)運転が可能なPWM制御のパワーパックは?
静音&長寿命のPC用冷却ファンを使って、大型液晶テレビ背面の自動送風冷却装置は?
考えれば色々と出てくるけど、「買った方が安い」という批判は無しで。
既に製品として存在してるものは作る意欲がそもそも湧かない
条件が特殊すぎて、こんなもんを必要としてるのは世界で自分だけだ、
みたいな用途だからこそ自作する
ん?
>>532 528ですが、ただの時計では面白くないので考えてみました。
+すこしづつ明るくなる照明制御でスッキリ起きるぞ機能付き
+枕やマットが持ち上がる、物理的に起こすぞ機能付き
+「XXチャン、朝よ、起きて」と彼女の音声再生で起こしてくれる幸せイッパイ機能付き
+PCから年間の平日(出社日)/祝祭日の目覚まし時刻を設定できるスケジューリング機能付き(要PCリンク)
+コーヒーメーカーの電源を入れるパワーリレー/SSR出力機能付き
+エアコン、テレビの電源を入れる赤外線リモコン機能付き
キリが無いので終わりにしますが、どんなもんでっしゃろ。
アマチュアで未経験の分野ならかなりの暇つぶしになると思います。
何らかの方法で眠りの深さを測定して、眠りが浅い時を見計らって起こす目覚まし
眠りの周期も固定値として持っていて、予定時刻前の最後のチャンスだと判断したらアラーム
でも、それで予定時刻よりも余りに早く起こすことになってしまうなら、睡眠時間優先
で、いつ作るの?
何年も前からそういうアプリがあるらしいから、作らない
センサー部分に改良の余地はありそうだけど
539 :
774ワット発電中さん:2013/04/28(日) 09:11:45.56 ID:EAtI+5Am
あさってでしょ
深夜の通販で腕時計タイプのやつ売ってるじゃん
やっぱりずっと前に思い付いた時に特許とっとくべきだったな
体に装着すると邪魔だし、アプリは検出が簡易なので、
パッシブセンサーを使って性能のいいのを作りたいとは思う
普通に思いつく程度のものは 殆ど誰かが先に出願してるヨ。
で、特許縛りがなくなった頃製品化される。
そんなわかりきったこと、いまさらドヤ顔で言われても、で?って言う。。。
>>546 ここまでやっておきながら、何故目覚まし機能を付けなかったのか不思議だ
定刻目覚まし機能はあるんだけど
>>535 > +すこしづつ明るくなる照明制御でスッキリ起きるぞ機能付き
あ〜まさにその機能付のアラーム時計のソフトを、某ビジネスホテル向け
に書いたよ。もう20年以上前だから期限切れているけど、確か特許もとって
いたなぁ。 マイコンは日立のZTATマイコンHD63F01だったかな。
シュリンクDIPの64Pだったかでピンは十分余っていたのに、なぜか時計/アラーム
表示用7セグメントとコロン表示LEDをあわせて確か1/10分割だかでダイナミック
点灯させるという効率の悪い回路構成で、2msでインターバル割込を掛けつつ、
さらにそれとは別に照明を調光するためにAC電源からフォトカプラで取った
ゼロクロス信号で60Hz地域だと8ms周期で割込を掛け、調光のデューティ制御
用に別のタイマを使うという、事前にソフト見積もりされていないハード
だった。
AVRと違って1命令1クロック動作じゃないし、クロックも1MHzなのに。(w
んで両方同時に割込が発生すると、割込応答時間にゆらぎが生じて、幽霊屋敷
の照明効果みたいになって、明かりを絞った状態で顕著に影響が出た。
結局、明るくするステップを4段階くらいにしてお茶を濁した。同じ会社の
別の社員が担当だったけど納期直前でソフトがまったく手付かずで狩り出さ
れてされて、デバッグ含めて数日徹夜で書いた。
今なら楽勝だけど、当時の開発環境はVMあたりの遅いPC9801で、フロッピー
起動のMS-DOS上でCP/M-80エミュレータを動かして、M68クロスアセンブラで
書いたHEXファイルをEPROMライタに転送して書いて、焼いたマイコンを実機
ボードのソケットに挿してデバッグしていたのでとにかく効率が悪かった。
はたして、じじぃの思い出話で、何匹のゆとりが釣れるかな。
>>18さんと同じことをやろうとしているんですが
ボーレートを9600付近にして通信を行うと
「A」ではなく「。」が表示されてしまいます
クロックは1Mhz UBRR0は5.5です
なにかわかる方いらっしゃいませんか
データシート良く見ながらここを良く考えろ
>クロックは1Mhz UBRR0は5.5です
>>551 すいません解決しました
倍速モードにしてUBRR0を12にしました
attiny10 で1ピンだけ使って
タクトスイッチのシングルクリック、ダブルクリック、トリプルクリックを検出したいのですが
フラッシュメモリ150バイト以内、SRAM8バイト以内で収まって
チャタリングによる誤検出が少なくなるようなうまい方法が何かあれば教えて下さい
クリックから500ms以内にクリックがあればダブルクリックとし
ダブルクリックから500ms以内にクリックがあればトリプルクリックとしたいです
狭いところに詰め込みたいのでタクトスイッチはAVRに直結してRC積分回路は無しにしたいです
>>553 今のソースコードだとどのくらいなの?
それをどこかにうpして皆で検証した方が早いと思うけど
>>553 に追加
タクトスイッチをつなぐピンは PB2 です
タイマー使ってピン読んでるなら楽チンだけど
>>554 まだ影も形もない状態です
最初に作ろうとしてるのは電池駆動のオフタイマー付ナイトライトですが
他にも使いたいです
じゃあ
> フラッシュメモリ150バイト以内、SRAM8バイト以内
これはどこから来たと言い張るのかね?
>>558 全部でフラッシュ1kバイト、SRAM32バイトなもんで
スイッチ部分だけにそんなに割けないだろうということで
最近はGWでも宿題が出るのか
最近は講義の回数も講師の評価に入るからな
長期の休み入れる代わりに課題を出すのが多い
いつもエラそうに言う説教先生発見
PIC専用のスレ Part44
http://uni.2ch.net/test/read.cgi/denki/1365509729/ 264 返信:774ワット発電中さん[sage] 投稿日:2013/05/02(木) 23:34:32.84 ID:CRM54XK7
> そんなことより、少しは自分の発言に責任を持ったらどうなんだ??
> 毎回ID変えるなんて、チキン野郎のする事だよ。
>
> 堂々としなさい。
と言いつつ、いつものくせでついIDを変えてしまい、自爆する説教先生。
>>563 > いつもエラそうに言う説教先生発見
ヨソのスレ引っ張ってくるなんて、なんかよっぽど悔しい目にでも逢ったのかな?
PIC厨が嫌われる原因を作るのが趣味なんでしょう
PIC オワッたん?
この人探してます
25
ちょっと調べればすぐわかるようなこと、
教えてもらうのが当然みたいな態度でいる
そんな自称初心者が一部にいるんだよな。
31
わざわざ初心者と名乗る奴って、「初心者」を努力する気もないことの免罪符に
使おうとしてるだけだからな。
40
理解できないのは仕方ない。でも、自分が理解できないことを理由に、自説の正当性を主張したり、
あまつさえ相手を罵倒するようでは、自身が成長しないことを知る
43
まっ、「初心者だ」と言いさえすれば、叩かれないで親切ご丁寧に
教えてもらえるものだなんて、幼稚な考え方は通用しないってこった。
学校じゃないからね。
569 :
774ワット発電中さん:2013/05/04(土) 17:05:09.20 ID:f6pd7aE3
スイッチサイエンスからスパムメールが来た・・・
おいおい スパムだけは辞めてくれよww
会員登録抹消しようかなww
attiny861はADCもあって良さげだと思って調べたら
attiny2313にあるUARTがないのでRX,TX端子がなくて
その代わりにUSI(汎用シリアルインターフェイス)があるが
その端子は、MOSI,MISO,SCKを使うもので独立してないのか
しかもVCCとGNDの他にADC用のAVCC,AGNDが必要で
使えるピン数は、20ピン-4ピンの16ピンしかなく
そのうち3ピンはSPI/USI、1ピンはRESET、2ピンはクロックで使うので
使える汎用ピンは10ピンだけ
4連7セグ光らせるのも無理だな
逆におもしろうそうではあるけれど
>>571 そんな4連があればよいですね
そんな時には、
Peripheral Interface Controllerをかませる
>>572 SPI/USIを空けている意図が読めないとか脳味噌にウジでも湧いてるのか?
NJU3711を使えば制御4+ゲート4=8ピンでいけるし
I2Cインターフェイスの少し高いやつ買うとかすれば2ピンでもいける
どっちにしても外部チップ必須かな
シリアル入力の16出力LEDドライバを使えば、ポート3本で7SEGを2個駆動
できるし、4桁ならコモン側の選択用にポートを1本(H/L)ないし2本追加
して1/2デューティでダイナミック点灯できる。
LEDは定電流駆動されるから外付けの抵抗が要らないし、PWM内蔵とかLED
断線検出機能付きのデバイスもある。
>>573 何でファビってんだかさっぱり分からない。
存在しない4連7セグの図面を書いて偉いねw
汎用出力1pinあればデータ送れるぞ
>>578 4連であることが目的なのか? 7seg4桁を光らせたいのが目的と読みかえるのは十分妥当だろう。
これだからPIC使いは頭が悪くて嫌いだ
うーん、なんでこうなるんだろう。。
ストレスたまってるんでしょ
>>579 汚い言葉で罵倒するあなたは、
とても頭が良くて賢いw
バカにもわかるようにお前はバカだと伝えることは必要なことですからね。
>>583 >>570 が書いているのは、残り10pinでは、何かと不自由だということですよ。
例えで、4連7セグてもpin数が足りないと言っているのです。
そのpin数が足りない例えを目的と勘違いしている読解力の無さといったら、、、、
Atmega使うのが一番いいんですね
> そのうち3ピンはSPI/USI、1ピンはRESET、2ピンはクロックで使うので
RESETはともかく、ここの残り5本の使途を決めてしまっている時点で
一般的なピン不足を嘆いているのでなく、
なんらかの限定された用途を既に頭の中に描いていると見るべき。
というか、570出てこい
というか、オマエ引っ込め
あ、書いてるうちに出てきてた。
>585 然り。
クロック上限が低いこととDIPがないことが問題ないなら
tiny1634も個人的にお勧め。ADCとUART両方あるぞ。
>>586 噛み付くのはそこじゃないだろ。
"pin数が足りないのは工夫次第で何とかなる例えで、カソード、アノードコモンを混ぜるとかを書いた"
とかの反論を期待したのに、、、
脱線して話を膨らませるなら、あなたの方法や
ドライバICを使ったりシフトレジスタやコントローラーでどれが良いかなとかの
話しになっても良いが、人を罵倒するだけなら楽しくないじゃん
あぼーんの刑に処す
八重の桜は、テコ入れで夫婦で福島県の色々な名所にいく回になったのかな
プルアップ忘れてね?と、うpされたファイルを一切見ずにエスパーw
どこかでVoutとGNDがショートしてないかい?
リレーがONになるのは150〜160行目くらいのあたりを中心に見直せ。
あと、1msecじゃちゃんと動かんような気もするが、それは誰かエロいひとに任せる
>>592 パスコン等は回路図上で省略してるだけ?
1ms間隔だとダメだと思う。0.55ms以下にしないと。
しかも、サンプリング開始タイミングの誤差があるので、
リモコン信号は同じにならない気がする。
赤外線リモコンは
NECフォーマットが 0.56ms
家電協フォーマットが 0.40ms
の倍数でサンプリングしたほうがよさげ
>>595 今ファイルを見た。
そうなんだよね、受光モジュールって案外ド派手に電源波形の影響を受けるから、
パスコン省略すると、盛大に誤動作するんだよね。
(時々正常動作するので、余計たちが悪い)
パスコンだけじゃ不安定。LPFにすべし。悩まなくてもデータシートに書いてある。
しかし根本的に擬信号ありきでプログラムしないとダメ。
蛍光灯やTV、太陽光でも擬信号は出る。
まず150オームの抵抗を取れ
謎の抵抗60Ωと150Ω
トランジスタはエミッタ接地の方がよくね?
赤外線モジュールはオープンコレクタ出力じゃねーの?
atmega328(フラットパッケージ)が載った超小型ボードないですか
32pinのピッチ変換基板使おうと思ったらでかいのしかないやorz
空中配線で作るしかないのかなぁ…
>>604おおー
LCDコネクタ要らんからバージョンアップ前の売ってくれんかな…
ちがった、ただの変換じゃなくてボードか。
Arduino MiniかArduino Pro Miniあたりでどうか?
ArduinoボードってISPで普通にフラッシュ全イレーズして
ファーム書き込んで普通のAVRとして動かせますか
ブートローダーを消して、全領域を自作プログラムで使えるか?という意味なら使えますよ。
>>612 もう少し細いとどういういいことがあんの?
久しぶりにAtmel Studio 6.1をインストールしてみたらエラーメッセージ出て起動できない・・・あれぇ
Arduinoの開発環境で作った実行ファイルを
ISPでAVRライターで書き込んで動かせますか?
書き込みに別途シリアルUSB変換基板が必要なArduinoボード買って
直接AVRとして使うつもりだったのですが調べてると
Arduino環境だとライブラリがいろいろ揃ってて楽そうだったので…
USART制御/状態レジスタB(UCSR0B)で
RXENnとTXENnに1を書くとRXDn,TXDnの標準I/Oポートは無効になるとありますが、
そのとき、DDRnの設定はどうなるのでしょうか。
たとえば、PD0、PD1がそれぞれRXD、TXDになる場合、PortDにこの2つしか接続して
いない場合DDRDの設定は?
>>618 PD1:
TXEN = 1: DDRD1の値に関係なく、PD1は出力
TXEN = 0: 通常のポート。DDRD1の値にしたがう
PD0:
RXEN = 1: DDRD0の値に関係なく、PD0は入力
RXEN = 0: 通常のポート。DDRD0の値にしたがう
どのチップかわからんけど、この辺の動作詳細はI/Oポートの章に書いてあると思う。
>>617 うごきますよ。
Arduino IDEが吐き出すHEXファイルを
ISPのAVRライターで直接書き込こめばOK。
Arduinoのサンプルスケッチ”Blink”のHEXファイルを書き込んで試してみたら?
失敗してもAVRライターがあるのなら、Arduinoのブートローダーを書き込んで
ヒューズ設定を元に戻せばOKだし。
普通に使えるな
あの珍妙な日本語のAVRのマニュアル作ってる人、せっかくなら一般的な用語で
翻訳すりゃいいのになんでああなんだろう。思想? 横文字嫌い?
>>623 これな
「13. 多用途直列インターフェース (USI: Universal Serial Interface)
13.1. 特徴
■2線同期データ転送 (主装置または従装置)
■3線同期データ転送 (主装置または従装置)
■データ受信割り込み
■アイドル動作からの起動復帰
■2線動作でのパワーダウン動作を含む全休止形態からの起動復帰
■割り込み能力を持つ2線動作開始条件検出器」
もしかしたら電気電子通信学会推奨の訳語かもしれん
よくできた翻訳エンジンかと思ってた…
まるで第二次世界大戦中の文書を読んでいるようだ。
「記憶保持動作が必要な随時読出し書込みメモリー」みたいな
適当に変換して読んでやれよ
FPGA付きAVRの話題が無いのは、みんな興味無いから?
XmegaのEシリーズのことか? 興味ないw
現物がてんで出回ってないんでどうにもならん。
XmegaAUシリーズ使いまくってるのにUSB機能使ったことありませんw
単にAシリーズのバグフィックス版として使ってるからなぁ
>>631 DigiKeyにはあるけど、秋月に無いとダメなのかい?
>>633 私のところではみるかぎり、digikeyにはEシリーズまるで無いように見えるのだが。
まだサンプルの段階で量産出荷して無いんじゃない?
データシート初版が先月だもんなー
AVR付きFPGAのFPSLICのことも
たまには思い出してあげてください。
コアがARMのAVRって
あんまり話題にならんね
Arduino Dueで使われてるのに
そりゃあAVRじゃないからスレチで話題にしたらだめだろうし。
ARMスレで見るかぎりDue以前から案外使われているようだが。
終息品だね
AVR のソフトコアならありそうだけどね
ソフトコアはやってる人いるよ
AVのソフトコア
に見えた
マイコンでキッチンタイマを作るとき、
キッチンタイマ起動中もリセットなどスイッチ入力がとれるようにする
には、キッチンタイマのタイマも、スイッチの入力も両方割り込みで
作るのですかね?
その程度なら割り込み使わずにポーリングでも十分作れる
リセットはリセット端子へ
実際そうやってる製品多そう
AVR(MEGA88V)の内蔵オシレータって電源電圧に変化が無くても早くなったり遅くなったりするんでしょうか?
時計を作ろうと思って一日かけて、ある程度合わせ込んだつもりなのに
次の日には20秒近く早くなったりしてガッカリしました
変動の話じゃないけどAVRの内蔵発振器の精度は+-10%という話を見た
電源電圧一定なら あとは温度の問題
ドライヤーで炙ると周波数が1%位変化する
次の日に20秒ならなかなかの合わせ込みじゃないか 性能を引き出しているよ
なんでデータシート読まないの?
温度とオシレータの特性も書いてあるのに・・・・
ドライヤーあてて1%????そんなもんで済むなら苦労しねーよ
内臓温度センサのA/D変換値と内蔵オシレータの発振周波数との関係を
テーブルとして持たせて補正したらおもしろいかもね
内蔵オシレータの発振周波数は例えばタイマ1のインプットキャプチャ入力に
1kHzの正確な発振信号入力して周期を測定すれば10000カウントで10.000MHzみたいに測定できる
1% もズレると時計として使えないですね
一時間で36秒
一日で864秒=14分24秒
ひどすぎる
手を近づけるだけでも変わるんじゃないかな
無駄に厳密な話しにもっていかれてつまらない流れになる 予言しとく
時計の設置場所の温度変化で発振周波数が1%上下するとして
温度センサからの出力が 0〜Vref で 10bit A/D変換の誤差が無いと仮定しても
どう頑張ってみても月差±16秒が限界ということになりそうですね
4台くらいで相談して決めるのはどうだ
間違ってるやつ同士で相談してもだめか。
じゃー当面の間毎日指導を受けて補正確度を高めるとか。
面白そうな話なんだけど
温度センサに超性能を求めるよりは水晶を使うほうが現実的
水晶+温度補正なら完璧!
GPSシールド買って1PPS信号と受信データ使う
スレのテンプレにあるサイト巡ればいいと思う。ロクな本ないし
そもそも本って時代じゃない気がするなぁ・・・ページめくるよりググったほうが早い
本が充実してるマイコンに乗り換えるのが良い。
素直にPICに乗り換えた方が幸せになれる。
とりあえずPICで一通りできるようになったら、
AVRは楽勝で使える筈だから
スイッチを押したらLED点灯、また押すとLED消灯というプログラムは作れたのですが、
スイッチを押している間LEDが点灯するのはどう作るのでしょうか。
C言語で作っています。
そっちの方が簡単なような
簡単なら教えてあげなさいよ
単に、ポート見て、押されてれば点灯出力、押されてなければ消灯出力するだけでしょ
チャタリングもそのまま全部出る
675 :
>>663:2013/05/19(日) 01:42:04.97 ID:ofii1B/r
みなさんありがとうございます!
やっぱAVRって参考書少ないのですね
まずはFPGAやってみようと思います!
オルタネートスイッチを使えば・・・
>>675 なんかスイミングスクールあきらめて、太平洋へ遠泳を始めたような気がする。
スイッチでLEDのON/OFFするだけならFPGAでも大差ないな。
そこから先に進めるとはとても思えないけど
論理回路の勉強したいからFPGA選択っていう良い時代になったんだべ
>>677 的確w
大きくなって戻ってこいよって感じw
>>680 ところが実社会に入ったらHDLで回路組まされる。
全く生きない訳じゃないが、徒労に近い。
684 :
774ワット発電中さん:2013/05/20(月) 00:23:17.82 ID:WlyCsAkg
最近、AVRを始めたものなんです。
C言語で開発する場合、wikiに乗ってる文法で開発してる人が大半なのかな?
Atmel Studio 6にASF なんとかっていうのが合ったから、何かと思って調べてみた。
Atmel Software Framework の略らしいね。
調べただけで、これから使ってみるところだけど、
レジスタ直接叩くより、ライブラリの関数でADCとか周辺機器の設定したほうが
とっつきやすく感じたよ。
↓例としてATmega328PのADCを使う時のmegaAVR ADC Driver
ttp://asf.atmel.com/docs/latest/mega/html/group__mega__adc__group.html ASF使うのと、レジスタ叩くの、どっちが主流なんだろう?
685 :
684:2013/05/20(月) 00:27:18.56 ID:WlyCsAkg
sage忘れた、失礼
詳細なSFRの内容見なくても組めてしまうのが用意されてるドライバーだし
アプリケーションノートがいっぱい出てるから読む人は使ってると思う。
おいらもTWIのドライバーとか使ってるし、チップが変わるとレジスタも変わったりで
いわゆる「ベタ書き」なコードは再利用しにくいよね。ドライバーはそこんとこ吸収してくれる。
使っていない人は単に知らないからってのが多いんじゃないかな?
データシートすら読まない人や調べない人もいっぱいいるし。
687 :
684:2013/05/20(月) 02:13:43.00 ID:WlyCsAkg
>>686 なるほど、いちいちレジスタ確認するためにデータシートとにらめっこしないと
プログラム書けないのが面倒だったんで、ASFにはすごく好感が持てたんだ。
使ってみようと軽くいじったけど、ボードデータが無いとかでビルドできないorz
エラーが出てるboard.hを読むと、どこかで
#define BOARD USER_BOARD //評価ボードじゃないからUSER_BOARDでいいのかな?
ってやるんだろうけど、main関数の前で定義してもダメだったし、
その先でインクルードされるuser_board.hもどこでどういう内容を定義すればいいのやら・・・
あぁ、明日から英語勉強しよう。
まずこれ読めっていう資料のURLや使い方の情報・ヒントいただけませんか?
今見てみたけど、ASFてmegaとかで使えるの少ないっていうかほとんどなくないか?
ASFはxmegaとか32bit向けがメインなのかな。
ここは8bit使ってる人が多いそうだからASF使えないってことじゃないだろうか。
ArduinoISPで、AtmegaもAttinyも使ってる
ただし、ArduinoUNOと10μFのキャパシタとブレッドボードが必要
どっちにしろ、データシートやソース読まなけりゃASF使えないしねぇ
AVRぐらい簡単ならASF使わなくてもって話にはなる
AVRなら、DDRとPORTだけでもGPIOは使えるし
ATMELのARMなSAMシリーズの様に、GPIOだけでもレジスタ多数あって
色々と設定しないと単なるI/Oでも操作出来ないってなら
ど忘れしてても利用できるからライブラリ化使う意味はあるけど
IO操作くらいしかしてないからそんな事言えるんじゃないの?
通信やADの割り込みハンドラとか普通にメリットあるよ。
ライブラリ知らないやつがベタに書いて「I2C液晶写らねー」とか騒ぐんだよな
>>691 いやまぁほら、90S時代から使ってるとさ、別に今更的な話になっちゃうんだよね…どうしてもね
SAMの方も、旧ライブラリからASFに変更になったもんだから、移行面倒…
大体、ASFって改行コードも今更的にnotepadなんかで開くと改行されない形式ってのは正直…
↑改行コードも知らない人?
694 :
684:2013/05/21(火) 15:11:29.51 ID:V4Fa6zO0
>>684です。
まだUserBoardでASFを使ってビルドできないorz
公式の"Get Started"を読んだけど、評価ボード用テンプレの使い方しか載ってないし。
>>688さんが指摘しているように、mega以下でASFがサポートしてるのは、
IOポートとADC、タイマ、割り込み位だから、
通信とかやりたいときは、結局レジスタ叩かないといけない。
今後のバージョンアップか、xmegaの入手が楽になることを祈るよ。
ひとまず、AVR初心者なんで、おとなしくwiki見てゴリゴリ書いてます。
RTOS がいいよ
マイコンでOS は大げさだと思ってたけど、複数のタスクをそれぞれのタイミングでこなそうとしたときに、スケジューリングで管理できる事の便利さをしってしまった
プログラムの流れをかなり把握しやすいし、メンテナンスを含めて色々楽できる
タスクを並列して実行させたい時はタイマ割り込みでSPを切り替えている。
10ステップ程度なのでtiny2313のような小さなMCUでもサイズ上の無理は無いけど、
工夫や注意は必要になるかも。
32なら、じゃないか?
megaクラスなら十分RTOS動く
ATMELのサイト見てこいよ・・・
ホンッと英語サイトは見ないんだなお前ら
RTOS使えばがっちり組めるけど、もうマイコンっていう感じがしないんだよな
まあ、人それぞれだ
いろんなこと勉強して好きなやり方選べばええんや
英語読めるようになりたい・・・
今は趣味でやってるからいいけど、
仕事でやってる人は英語必須なんだろうなぁ
技術英語なんて使う単語も表現も大体決まってるから、ちょっと勉強すればちょちょいのふぉいだよ
データシートに限っていえば中学英語で充分。
得意の技術分野は中学英語で確かに十分ですね。
専門用語はむしろ英語のままのほうが読みやすいし。
ただ、理解できていない分野の英語データシートを読むと一気に眠くなる・・・
>>701 へぇ〜、FreeRTOSってAVRでも動くんだ。
>>708 うん!
ATtinyは無理だけどね
tinyには、PICROSの移植版が有ったと思う
単発が涌いて来たな
トラウマでもあるんだろ
今の時代、みんな固定からだけで書いていると思っているのかしらんw
714 :
774ワット発電中さん:2013/05/23(木) 19:28:21.97 ID:KIaTpUTm
ATtiny10
買ったはいいが
何作ろう
AVR AVR
なにつくろー なにつくろー
俺も tiny10 10個パック買った
でもライタ持ってないから何もできないw
あまりにちっちゃいからライタがあっても
治具を作らないと書き込むのは苦労しそうだなーと思って手をつけてないや
>>717 tiny10はデータシートによるとDFN版もあるようだからどうにか入手して絶望してみるのもまた一興かと。
もう何もつくるものがない
私の電子工作余命も尽きたようだ
みんながんばってくれ
>>718 足の間隔さらに半分じゃねーかwww
挑戦しようとすら思えないレベル
>>719 tiny2313が秋月で売りだされて即購入しLチカやったが、今だにその領域から抜け出れない。
PIC、H8、SH、ARMを買っては、Lチカをやっては壊し、作っては壊し。
昔の真空管時代のハムと同じ。 最後はシャーシーが真空管ソケットの穴だらけ、、、 また、807でも持ちだすかな?
趣味のMCU工作を続けられる人は、
プログラミング作業そのものが楽しめる (作る物は何でも構わない)
あるいは「XXを作りたい」という強い欲求がある
のどちらかじゃないかなぁ。
仕事なら好きも嫌いもないけど。
作るものがないなら、リクエストを受けてみるとか。
ソースコード、回路図を代わりに準備してあげると。
AVRispMk2で4.19ならデバッグ機能使えるのに
6.1だとダメなのはなぜ?
ブレークポイントで停止せん。
というかStop/Resetなどのメニューも使えん。
もちろんAtMegaへの書き込みはできる。
そもそもISPmk2ってライター機能のみって製品じゃなかったっけ?
そうだな、その分安いな、
でもPickitはデバッグまで付いてさらに安いな。
AVRDragonのコスパはなかなかいいと思うの
でも32Kのフラッシュサイズのチップまでしかデバッグできないのはつらい。
いつのバージョンの話してんの?
そーとー昔の制限だよ32KBって
あー、32KB制限が無くなったのこの間知ったわ。
検索すると古い情報がヒットするからなぁ
>>691 megaでI2CのASF使えたっけ?
無い気がするんだけど。
>>732 それって、megarfとかいう無線モジュール付きで使うやつじゃないの?
よくわからんけども。
ここまで情報があるんだからそれ読めばいいじゃない?
使ってるって言ってる奴がいるんだし
わかった。
時間があるときに、
なのめ読みじゃなく、ちゃんと読んでみる。
I2C でリセットをかけるタイミングによっては
どいつがつかんでるのか分からないまま TW_BUS_ERROR になるんだが
全部リセットかける以外の方法は無い?
バスつかんだままにするのが違反なんだしそいつを使わなければいいと思う
俺の作った可愛い奴なんだよ
使いたいんだよ
方法あるじゃないか
自分で作ったんならファーム直せばいい
バス仕様違反なんだからバグ以外のなにものでもない
リセットピンを使わずに、リセットボタンとして適当なピンにスイッチをつなぎ、ボタンを押したときに I2C を正しく終了してからプログラムをリセットアドレスにとばす
スレーブがデータ送信中でマスタークロック待ってる状態てことだよね
マスター側で最初にダミーのストップとスタート送るんじゃだめなのかな
あ、送受信は関係ないか
ともかく一旦ダミーの通信入れればスレーブで何か検出できるでしょ
マスターが死んでイニシャルでストップ条件出してもスレーブがそれを無視してるんじゃどうしようもないって
そもそもマスターがI2Cを終了させずになぜかマスターだけリセット
されるという状況がよくないな
全体を見直すべきか
まさかハードウェアリセットをマスターにだけ掛けるようなアホなことはしてないよね
やるとしてもリセットは別のピンに割り当ててプログラム側で検出できるようにして
適切な終了処置後にWDTリセットするべきだな
というか
>>740が書いてるな
ハードウェアリセット入力のないI2Cデバイスなんざ普通にあるんだが・・・
仕様に違反してるスレーブのためになんでマスター側で変なことしようなんて言うんだ?
スレーブのファームをちゃんと直せばマスターは何も悪くないのに
通信途中にマスターが死のうがなんだろうが一切バス仕様に違反してない
8bitAVRにはDACが内蔵されてません
PWMもありますが、モーターやヒーター用で
正確な電圧を出すみたいな感じではありません
それでよく7セグ点灯させるのにシフトレジスタというのが出てきますが
例えばNJU3714という12bitのシフトレジスタの出力にR-2Rのラダー抵抗をつけると
DACになりはしませんでしょうか
NJU3714は5MHzぐらいまでなので、
12bitセットしてSTOをHIGHにするのに13クロック消費とか考えると
300kHzぐらい、実際はその1/10ぐらい
作るのはいいけど使い道が…
今度は精度が…ってなると思うから素直にDAC使ったほうが
マシなんじゃないかな?
pic12f1822みたいにDACついたちっこいチップがあればなあ、と思うことはしばしばあるね
>>748 xmegaにDACの乗ったのがあったはずだが無視ですか、そうですか。
DIP限定なんでしょ
趣味ならば仕方がないさね
>>753 xmegaは32bitだと思ってました
dueに使われてたのはAtmel SAM3か
Arduinoチームは
なんでdueにxmegaを使わなかったのか
DACは前に調べた事あったんですが
動かすまでが大変そうで
調べたのに32bitだと思ってたんかw
別に動かすの大変じゃないよ
周辺機能が細かくなってる程度だし性能で考えたらめっちゃ安いしね
面実装タイプしかないのと店頭で売ってないのがネックなだけ
>>756 MCP4522は前に検討した事があったんですが
ググってプログラムとか見るとけっこう大変だなと
それとは別に
dueに入ってるのがxmegaでxmegaのコアがARM CortexM3だxと思ってたという話です
8bitを32MHzで動かしてなんとかなるのは1インストラクション1クロックのRISCだからなのでしょう
メモ:
[core] [bits] [series] -- [他]
----------------------------------------
AVR 8bit ATTINY -- 乗算器なし。DIPあり
ATMEGA -- 大多数のArduino。DIPあり
ATXMEGA -- 5V不可、周辺機能はMegaより充実ぎみ、32MHzまで可。
AVR32 32bit UC3 -- AVR32は8ビットAVRと互換性は無いらしい?
ARM 32bit SAM3 -- Arduino Due
xmega16A4Uの方が安いから悩みどころよね〜
ATMEGA644 と ATMEGA1284 の DIPパッケージ版が秋月から消えてたんだね
あれ?644DIPなら先週秋葉秋月行ったときに見たような気がする。
>>687 一度はベタ書きして挙動を知るのも重要かと。
知っとくとライブラリが怪しいときに原因究明しやすいし。
>>762 先々週ならあったが先週は売り切れ。
>>748 > 正確な電圧を出すみたいな感じではありません
はぁ? なに言っちゃてんの?w
>>764 あんた、コミュ障?他人を不快にさせる。
分解能が足りないと言う意味だろ。
pwmの8bitでは足りないので12bitのシフトレジスタを使おうと考えたのだと思うよ。
スルー力を養おう
>>765 そういうアンタもアホ?
ラダー抵抗で12bitの精度が出る訳ないじゃん。
そんなレベルの質問者のスキルに、12bit DACを勧めても豚に真珠・猫に小判。
ってな事踏まえて
>>764は見直せと言っているのがわかんないのかな?
見直せなんて言ってないよねぇ
利口じゃないことは伝わるけど
PWM で DA変換するにはアナログ回路の勉強をしっかりしないとノイズまみれになる
ノイズは諦めるとしても最低限オペアンプを使った積分回路作って、応答速度とPWMの周波数に応じてRC決めないとね
ンだな、こんな奴に関わりたくないなとかは伝わったな。
音声レベルの周波数をPWMで出すのはマイコンでは無理ということが判るだけなんだけどな
使うアテは無いのに無くなると欲しくなる病気ががが
よくみたらコラじゃないか
何の為に作ったんだwww
>>774 ICよりレシートの日付と品名みてね。
撮った写真見て合成臭いのは自分でも笑ったけどさ。
昭栄と川越シェフが644DIPを食べてる写真も一緒に貼ってくれないと信用出来ません。
777
arduinoISPを使ってattiny861に
ArduinoIDEから書き込むという実験をしてたのですが
BLINKスケッチを書き込む事に成功しました!、が
1秒毎にLEDが点いたり消えたりするというスケッチのはずが
8秒毎になってます
これはつまり8MHzのつもりが1MHzで動いてるっぽいです
AVRライターは持ってないのですが
attiny861のヒューズビットを
Low =0xe2
High=0xdf
Extra=0x01
にする方法はあるでしょうか?
はじめに書き込む時に使ったarduinoISPはライターじゃないのかな?
もうちょっと細かく書くと
Arduino はArduinoUNO3で
attiny2313の書き込みと、「ブートローダー書き込み」で8MHz動作に変更は成功してます
attiny85や45はarduinoIDEからのブートローダーの書き込みではヒューズビットの変更ができないそうなので
attiny861も元々出来ないのかもしれません
avrdudeで直接書き込めない?
arduinoで使ってるシリアルポートがcom3の場合(avrpathは適当に設定して)
set avrpath="C:\arduino-1.0.1\hardware\tools\avr"
set port=com3
%avrpath%\bin\avrdude -C %avrpath%\etc\avrdude.conf -c arduino -P %port% -b 19200 -p t861 -F -u -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U efuse:w:0x01:m
という風に。
>>781 avrdudeなんてのがあるんですね
後でやってみます
switch文のbreak無し、いわゆるフォールスルー使うとそのcase入り口で不安定な割込みが発生するんだけど、、、
フォールスルーは使っちゃいけないのかな?
avr32とsam4s両方で発生する、、、 orz 原因がわかるまでえれ〜時間費やした。
>>781 試してみたら、無事フューズを書き込めました
BLINKのテストをしてみたら、LEDが1秒ごとに点灯と消灯を繰り返してます
8MHz動作になったようです
attiny2313と違って、attiny861は
フラッシュ 2kB → 8kB
RAM 128B → 512B
EPROM 128B → 512B
さらにADCがついてるので、けっこう使えるかも
analogreadとタイマー割り込みのテストをする予定
>>785 いくら?
秋月の200円のattiny861を、
秋月で売ってる70円のブレッドボードタイプのユニバーサル基板にさして
ピンソケットつけてテストしている段階です
表示出来ないとデバッグ出来ないので、74HC595と4連7セグもつけて
表示出来るようにした上でADCのテストをする予定です
attiny861はattiny2313と違ってUSARTが無いので
シリアル通信をどうするかは検討中
>>786 200円!!
そのROM/RAM容量で200円って、高くない?
200円ならほとんどの場合でmega168の方がいいなぁ
>>787 他にない機能ついてるし
サイズの兼ね合いもあるし
高いか安いかは使う人次第だろ
高い安いはオレが決める。誰も口出しできないぜ。
>>787 秋月のC型基板に色々載せようとか考えるとMEGAはでかいので
わずか8ピンの違いだけどその差でオペアンプ載せられる
もしくは三端子レギュレータと電解コンデンサが載せられる
>>791 内蔵されてるオペアンプを使えばプログラムで利得切替ができるぞ
atmega644p 1284p はとうとう通販のリストから消えたか
1つの時代の終焉だな
dipの話ね
そもそも、始まってたのかよ>AVR
秋月は通販からtiny45, 85が無くなってるな
Arduinoも売らないし
トラ技がなぜかごり押ししてるPSoCも8bitのしか無い
あまりマイコンに関心が無いのかも
単純に数字が出ないから取り扱わなくなってるんだろうなー
開発環境的に PIC に戻りたくないし、頑張って貰いたいところ
まあどの道 CAN コントローラー付きとかは DigiKey とかでしか買えないからいいんだけどさ
どこかで買えれば、それでいい
今日、秋月に行ってきたのだが、
AVRの売り場面積(パーツ箱?)がさらに狭くなっているのに驚いた。
在庫が無くなる=取り扱い終了なのかな。
秋月がmega328を終了すれば、俺もAVRを終了して他のMCUに移行しなくちゃ。
みんな32bitへいっちゃうのか
早くてメモリいっぱいの世界へ
誰でもPCBを起こせる時代になんで8ビットなのよ? いまさら、、、
いざ 32ビットへ
5V主義
流石にAVRしか出来ない奴は馬鹿だな。
32ビットでは実現出来ないアプリの方が圧倒的に多いのにw
腕時計のマイコンにもi7乗せそうな勢いだwww
低電圧版のtiny2313vがなくなったのが惜しい。
2313で20MHzとか高速なことしないから、無印よりVのほうを扱ってほしかった。
2313Aで1.8V4MHzカバーしてるんだが何か劣化したか?
AVRISPmkII ¥3000→3200
STK500 ¥7300→8000
ATMEGA644P-PU 店頭在庫終了(商品ページ消滅)
ATMEGA1284P-PU 商品ページ消滅
地味に終わりが近いな
AKI80を9個持ってるからAVRが終わっても憂い無いわ
秋月で終わったら終わりか。
arduinoがどれくらい続くのかだな
ここ1週間ArduinoISPでattiny861が動かないか試していました
ベースになってるのはここの方法です
http://www-ice.yamagata-cit.ac.jp/forum/viewtopic.php?t=840 ここではPLLの16MHzを使ってますが、8MHzで使おうとArduinoIDE上で
ヒューズの書き換えを試みましたが駄目で、
>>781 の方にやりかたを教えてもらいavrdudeで書き換えられました。
その後、4桁7セグLEDをタイマー割り込みでダイナミック点灯させようとしましたが
同じArduinoISPでattiny2313でやった方法では、TIMER1_OVF_vectに割り込みがかからず
タイマー1割り込みはあきらめて、7セグはloop内でダイナミック点灯に成功しました。
(TIMER0はコンパイル時にエラーが出ます、attiny2313でも同じで、
海外の掲示板では無理だからTIMER1使えと書いてありました)
残る課題はattiny861を導入した目的であるADCです
具体的にはarduinoの文法で気楽に使いたいので、
analogReadでad0を読みこんで、7セグに表示させるをやってみました。
しかし、0Vを挿しても電源電圧を挿しても分圧しても、1023が表示されるだけでした。
しょうがないのでarduinoIDEのソースを見てみると
arduino\hardware\arduino\cores\arduino\writing_analog.c
の30行目が
uint8_t analog_reference = DEFAULT;
となってました。
これはADCの参照電圧を決めるものなのですが、DEFAULTが未定義なのが原因ではないかという事で
コメントアウトした上で、
uint8_t analog_reference = 0x00;
として参照電圧を電源電圧に決め打ちすると、無事analogReadで読み込めました。
でも邪道すぎるので、もっとスマートな方法がないですかね。
>>813 ありがとうございます
でもそれはソース見ればわかります
それで比較的まともな解決策を見つけました
wiring_analog.c を元に戻し
Arduino.h の44行目の
#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)
を
#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) || defined(__AVR_ATtiny861__)
と変更します
これでattiny861でDEFAULTが0なります。
暇ならattiny26, 261, 461も追加しておきましょう。
その基板にピンヘッダ半田付けしなきゃ使えないじゃないか。
ブレッドボードで使う場合は、ISPのソケットの6穴に、
ブレッドボードで使うジャンパーケーブルを挿しこんで使うんだよ
ジャンパーケーブルの反対側はブレッドボードに挿しこむ
>>801 > 早くてメモリいっぱいの世界へ
それが時代の流れ
>>817 ど素人ですいません。ジャンパーケーブルは細すぎて
ISPのソケットに刺さらないと思うのですが、どうやるのでしょうか?
よく分からんがハンダ付けぐらいすればいいんじゃないか?
やめてやれよ
電子工作したいのに半田付け拒むとか、
時代は変わっちまったみたいだな。
はんだ付けは工程の一つに過ぎない。
面倒臭い奴もいるだろ
>>819 今実際やってみたけど、ちゃんと刺さるよ
そのうち、画面上で部品を繋げるだけで何でも動くようになるよ
各種ICもHDLかなんかでメーカーが提供して
確かに普通に刺さりました。すみません。
こないだやったときはなんか刺さってない気がして必死で手で押さえてたんですけど。
>>826 ソフトのデバッグ用として、メンター辺りがもう作ってた筈。
売り込みがあったのを覚えている。
atmega328Pでロックビット設定を
プログラミングもVerifyも禁止に設定してしまうと、
ロックビットの変更もできなくなりますが、
高電圧パラレルライターとかSTK500でも無理なんですか?。
>>829 秋月で250円で買えるんだから失敗したのは捨てればいい
クロックビットを書き換えるために高いツールを買ったり貴重な時間使うのは無駄でしょう
その状態で
パラレルライター環境の方へ
と称してオークション出したら売れたw
>>829 ビット個別にセット(0)にすることは出来ますが、
クリア(1)はチップ消去による一括クリアのみです。
別のライターは必要ありません。
補足です。
プログラミング禁止状態からさらにベリファイ禁止への変更は
ロックビットのLB2を(1)から(0)に変更するだけなので
「書き換えが出来たように見える」だけです。
個別セットのみ可能なのでその変更が可能な組み合わせであったに過ぎません。
fuseリセッタ作ると
もうビクビクする必要ないんだと
精神が解き放たれた感がパないよ
お薦め
パラレルライタを作ることからはじめた俺に隙は無かった
が、あまり出番は無い
ロックビットの操作にパラレルとか関係ないって回答付いてるのに・・・・
まぁ考えるとわかることなんだが、
ROM見られたくないからロックするのにロックだけ解除できたら意味ないわなw
STK600持ってる俺に隙はない
839 :
829:2013/06/04(火) 22:20:44.56 ID:uAnbOUVt
>>833 実際にやってみた。
なるほどそういうことかぁ。
AtmelStudioで書き込みしたときに、なぜかロックビットの設定が変わってたのは
書き込み前にイレース実施にチェックマーク入れていたからということに、今頃気づかせていただきました。
>>837 そりゃそうですね。
ArduinoにAVRISPをつないで設定をいじっていたときに、ロックビットが変わってしまい
元に戻せないとあせったのがきっかけ。
>>829が言うように、高々250円(福岡市では、マルツバーツのブートローダー書き込み済み350円が最安値みたい?です)とあきらめて、ゴミ箱に入れてしまったが、ゴミ箱から救出してイレースしたらOKでした(^^;
>>839 digikeyで買うんだ。今だと328P-PUが25個以上で@205JPY、
37〜48個にすれば送料と消費税とどちらもかからずに済む。
プログラムするとき状態遷移図とか書いてる?
組み込みのプログラムってフラグをいっぱいもって
次の状態に移るみたいな感じのようだけど、なんか
書き方で参考になるサイトとかないかな
アナログ回路とデジタル回路の電源分ける場合ってみんなどうしてるの?
三端子レギュレータ2つ使うとか?
>>842 Yes
用途によっては、DDコン追加してもいいけどね。
>>841 STATE使ってる。
パフォーマンスやメモリが厳しい時は使わないけど。
仕事だと許されないんだろうな。
>>841 条件判断が複雑に入り組んで、私の貧弱な脳ではパンクしそうな時は
紙に簡単なフローを書いて、見落としが無いか確認している。
設計の段階で面倒そうだなと予想したら、
tiniy2313程度でも最初からタスクを分けて書く。
>>842 私の場合も3端子レギュレータが多い。
コモンモードのノイズフィルタを入れて、ベタグラウンドにもする。
ASFのコード読みながらSPIのDMA転送組んでみたらあっさり動いた。
16Mbpsのブロック転送がCPU抜きで出来るってすげーな。
俺なんかでもグラフィックLCDでアニメーションとか出来そうな気がしてきた。
848 :
774ワット発電中さん:2013/06/07(金) 21:46:48.32 ID:H5OuzP65
>>841 ネットのサイトでみるより分厚めの書籍をかって読むのを薦めるよ。
通勤途中で読める記法の解説だけじゃなくて、具体的な設計ステップにも言及しているような奴
20年ぐらい話だがUMLの前身のOMT本は目からウロコだったな。
状態遷移図については、状態数の爆発を防ぐテクニックとしての、「入れ子」で書く記法に感心した。
一つの理論の域にまで達してるものは、やっぱ専門書じゃないとな
ちょっとしたテクニック程度ならネットで十分
AVRでコールオブデューティーが動くようなパソコン作りたいです。
AVRとは何かという初歩的な部分からすべて教えてください
消費電力で頭抱えそう
>>841 昔、条件が成立すると次の状態に進むコントローラを作った事がある。
クロス・インタープリタ形式の言語を採用して、PC側で中間コードに翻訳し、
制御ボード側でその中間コードを実行するようにした。
もちろん統合開発環境でデバッグ機能も持たせたので、完成までそれなりの時間が掛かったのに、
現場の人間からはプロコン(シーケンサー)の方が慣れているので使いやすいと不評だった。
>>850 AVRはAuto Voatage Regulatorの略で電圧安定化回路の事だよ。
電源がついてるパソコン買うと必ず入ってるよ!
何でも良いから作ってそれをコールオブデューティーと呼べばいいだけだ
ATmega168P、試しながら学ぶAVR入門という本で勉強しています。
タイマーの使い方についてなのですが、初期設定をすれば動くようですが、
プログラムの任意の場所で一時停止、再開のような設定はできないの
でしょうか(外からのポーズボタンに対応するようにできるように)。
あと、
TCCR0A.WGM00 = 0;
TCCR0A.WGM01 = 1;
TCCR0B.WGM00 = 0;
のような書きかたはできないのでしょうか。質問ばかりですみません。
TIMSKの割り込み許可フラグを操作すればいいような気がする
または割り込み自体は止めずに、ポーズ用のフラグを用意して
割り込み処理の先頭でチェック、フラグが立ってたら何もせず戻る
>>855 書き方は開発環境依存だな
できなけりゃ自分で共用体定義のヘッダ書けばいいんでないの
共用体? 構造体じゃなくて?
ググって勉強しなされ
何と何を共用する気なのやら。
ビットでもバイトでも指定するレジスタみたいなのは大抵共用体にするな
共用体が何か知らないから当然使い方も知らないんだろ
TCCR0A.WGM00 = 0;
と
TCCR0A = 0b00000000;
を両立するTCCR0Aを定義することはCでは出来ない、と言っているのですが理解できていないようですね。
*(volatile uint8_t*)TCCR0A = 0b00000000;
とか
TCCR0A.ALL = 0b00000000;
とかでいいならサルレベルで簡単ですがね。
訂正:
× *(volatile uint8_t*)TCCR0A = 0b00000000;
→ *(volatile uint8_t*)&TCCR0A = 0b00000000;
「書き方」の問題なんだからサルレベルで十分って事さ
オタクな知識はいらんよ
>>864 面倒なことなのに簡単というならやってくれよ
avr/ioxxx.h から自動変換するのを頼む
誰も
>>863みたいな要件は出してないのに、勝手にそうじゃないと駄目だと思い込んで、
そんなことは出来ないと主張している
他人にはよく判らない何かが彼の中では固まってしまっているので、
まともな会話は出来ない
これでいいのかな?
でもこれで便利になるのか
union tccr0a {
unsigned char BYTE;
struct {
unsigned char COM0A : 2;
unsigned char COM0B : 2;
unsigned char dummy : 1;
unsigned char dummy : 1;
unsigned char WGM : 2;
} BIT;
} TCCR0A;
union tccr0b {
unsigned char BYTE;
struct {
unsigned char FOC0A : 1;
unsigned char FOC0B : 1;
unsigned char dummy : 1;
unsigned char dummy : 1;
unsigned char WGM : 1;
unsigned char CS : 3;
} BIT;
} TCCR0B;
TCCR0A.BIT.WGM = 2; // CTC
TCCR0B.BIT.CS = 4; // 1/1024
ドキュメンテーションというのは便利とかそういう次元のものではない
便利かどうかはそれぞれだがそういう書き方もあるのは事実。
過去にそういう書き方に出会って慣れたんだろう。
AVRLIBCでも一部そういう書き方ができるようにヘッダで宣言されているものもある。
そういうのが組込みCの難しいとこなのかな
特に内蔵IFの場合、バス叩いてるから
コードの見え方に個人差ある気がする
マイコンすげえ難しいわ
実際なにが起きてるのかわからん
モールド開けてテスター当てたいw
共用体つかったら、コンパイルのとき、
意図しないアセンブリソースになることがあるから注意って何かに書いてあった気がする。
#include<stdio.h>
main()
{
printf("hello world");
}
このようなプログラムは書いてAVRに読み込んだのですが、動作しません!
なんでですか
動作はしてるだろ。目に見える結果が無いだけで。
>>873 コンソール出力が確実な場合の開発手順の確認に"hello world"。
OSが乗っていないマイコンの場合の開発手順確認やクロック等の初期化確認には、LEDチカチカ
>>873 int main(){
では無いのか?
int省略は警告だけだ
一応、void 入れとけ
テキストデータを読み込んでも動かないよ
デバッグ目的で JTAG ICE 互換デバイスを自作した
AVR STADIO 4 では問題なく使えるんだけど、 ATMEL STADIO 6 だとそもそもデバイスとして選択項目に上がらない
使う方法分かる人居るかな?
ちなみに接続は RS232C USB 変換経由
>>875 ということはAVRにWindows8を入れればいいんですね?
幸いにも手元にWindows8のOSがあるので入れようと思うのですが、どうやすればインストールできますか?
うわ…
本人は面白いと思ってるんだろうな
Core i7のソフトエミュレータを作ればいいんじゃね
ARM AVR にメモリ類増設すればある位は…
attiny861をArduinoIDEで動かす調査
前回までは
>>812 と
>>814 の方法で、ArduinoISPでattiny861にプログラムを書き込んで
AnalogReadから電圧を読みとるという事をしていました
しかし、softwareserialでシリアルポートに書きこんでみようと
SoftwareSerial.hをインクルードして書き込んでみると、コンパイル時にエラーが出ます
\arduino\hardware\arduino\variants\attiny861
に入れておく
pins_arduino.h
において、ハードウェア割り込みの記述が不足していたのです
具体的には
digitalPinToPCICR(p)
digitalPinToPCICRbit(p)
digitalPinToPCMSK(p)
digitalPinToPCMSKbit(p)
が未定義でした。softwareserialといえどもハードウェア割り込みを使ってたんですね。
そこで、pins_arduino.hを以下のページのものと入れ替えました
https://github.com/TCWORLD/ATTinyCore/tree/master/tiny/variants/tinyX61 しかし、ここのpins_arduino.hの中にコメントされているピン配置図は嘘っぱちで
>>812 にあるピン配置図と実は同じでした。ここで時間を取られた。
それでこのpins_arduino.hの環境でSoftwareSerialを使うとエラー無しにコンパイル出来て
無事にAttiny861からMAX232を経由してシリアルUSBケーブル経由でパソコン上にHwllo Worldを出せました。
Attiny861はUARTが載ってませんが、ADCもPWMも使えるしシリアル通信も出来るとあれば、
けっこう使えるかもしれませんよ
ArduinoとかBASCOMとかこのスレでは反応ないねぇ・・
流れ見てるともっとハード寄りかコテコテのC言語orアセンブラな住人が中心みたいだよ。
おいらもArduinoは出来合いのボードとして使い、Arduino環境自体は使ってない。
>>888 BASCOMは誰でも買える値段だけど、買いたい価格じゃない。
Arduinoはミニ四駆に近いね。0に近いところからゴリゴリ書く人と思想が違う。
Arduinoは入門用としてマイコンの敷居を低くしてくれたと思うね。
でも通過点だと思う。
>>887は頑張っていると思うが、環境によりいらない苦労をしてると感じる。
そこまで解析できるんなら素で書けばもっと小回りできるんじゃないかと・・・
まぁ、ホビーとして使いこなす楽しさは理解できる。
>>890 素でレジスタに書き込むのはつらい(笑
仕事じゃなくホビーでやってるならなおの事
>>890 arduinoにデバッガー機能が無いのは何故?
デバッグメッセージをシリアル出力するのは初心者に優しくない
>>892 そう思っちゃった人からArduinoを卒業していくんだろ
デバッガーを使わないのが初心者w
894 :
774ワット発電中さん:2013/06/12(水) 17:45:33.99 ID:TzEvdZBr
徐々にランクアップしていけばいいんだよ。 8ビットでハードを満喫したら、32ビットのソフトの世界へ。 いざ、向かうは仙人の世界!
age
>>892 じゃあ、どうやってメッセージ出すんだよ?
LEDでモールス符号か?
arduinoは完全スルーだったけど、シリアルでデバッグメッセージ出力できると聞いて、
むしろスゲー親切な設計だと思った。
USBシリアル変換ケーブルとかでTeratermに出せるんでしょ?
ひょっとして入力待ちにさせて、Teraterm上で入力させたりもできるの?
uint8_t foo( uint16_t x ){ return x >> 4; }
をavr-gcc4.3.4でコンパイル(-O3)すると
swap r25
swap r24
andi r24,0x0f
eor r24,r25
andi r25,0x0f
eor r24,r25
ret
になるのですが、
andi r24,0xf0
andi r25,0x0f
or r24, r25
swap r24
ret
でいいような気がします。
これはgccが根性無しなのか、私が何か見落としているのか、どちらなのでしょうか?
秋月LCDモジュールを4bit接続で繋いでprintfデバッグできるようにするまでのハードルがムチャムチャ高かったなぁw
AVR本のコードそのまま打ち込んでも動かなくて、原点に立ち返って、0から自分でコード起こして、
データシートのタイミングチャートと同じ波形がUSBオシロで見れるようにwaitのloop数調整したりして
結局6本いるんだっけ
忘れた
printf は可変引数だしフォーマット処理が面倒そうだな。
せめてsnprintfにしとけよ
tinyのprintfデバッグはprintfを使わないのだ
>>898 -O0(ゼロ)か-Osで最適化コンパイルになるよ
ゼロは最適化なしだよwwww
usart_putchar関数とかの名前で出力する奴を適当にでっち上げて
static FILE mystdout = FDEV_SETUP_STREAM(usart_putchar, NULL, _FDEV_SETUP_WRITE);
辺りの呪いを掛ければ、printf使える様になるけどさ
tiny2313辺りだと派手にメモリ使うから勿体無いんだよな
数KBしかメモリのないマイコンで標準関数のprintf使うとかありえねーよな
シリアルポートいじってキャラクタなりバイナリなりを出力させるって
入門レベルのことだと思うんだが、そこをすっ飛ばして何やるんだろうと思う。
そういえば、昔、私の初体験のCPUのプログラミング開発の「初めの1歩」は
アセンブラでUARTの1文字出力ルーチンを作る事だった。
それは偉大なる一歩だ
しょぼいターミナルソフトだと16進表示ができなくって不可視コードが化けてたなぁ・・・・
1クロック立ち上がるたびにおちんぽ立たせたいんですが、どういうプログラム書いたらいいですか?
914 :
774ワット発電中さん:2013/06/15(土) 00:35:23.13 ID:71hzLXSg
クロックの周期は?。まずは何Hzか決めてくれないとな。
普通なら
「クロックが8MHzと仮定してタイマー割り込みは何とかだから」
みたいに書くべきものを
「クロック周波数は?」
「じゃあ使う割り込み番号は?」
のようにチェット化させるのが悪質なスレの使い方
916 :
914:2013/06/15(土) 22:14:14.41 ID:71hzLXSg
>>915 えーと?。これ、俺が悪質だと非難されてるの?。
ネタに返したネタにネタで返した?
ネタにしてもよく分からないけど
チェ・・・っと
Tools->Options->Editor->Formatting->Language:C
Expand Tabs to Spaces
>?。
義務教育受けた?
重箱つついてないで建設的な話しようぜ!w
あ、略しちゃったけど、日本語大丈夫?とか言われちゃうのかなw
むしろデューティ比のほうが重要じゃね
個人的には20くらいが一番気持ちいい
そうだね、
50%だと「立ち上がり、立ち下がりのどっちを使うんだよ」と思ってしまうけど、
パルス幅が狭ければ「とにかくこの辺のタイミングで取り込むんだな」と想像できる。
搬送波は1Hz位が一般的ですか?
ところで、digikeyからSMDなAVRをカットテープで買ってるんだが、
最近フィルムがはがれやすすぎて困る。
ひどいときは届いたときに半分くらいチップが袋の中でばらけてる。
なんとかならんかな。
チップワンでAVRを2個だけ買ったらトレイ2段に真空パックで笑った
Digikeyも物によってはトレイorバルクになってるのないかい?
>>928 チップ見たら1306と書いてあったから、最大で4ヵ月もの長き間に渡って在庫されてしまっていたと言うことか…
>>927 digikeyはトレイとかバルクだと別品番になるからなー。
でもカットテープが品切れで仕方無くトレイで頼んだらカットテープで来たことはあったな。
結果オーライで困らなかったのでクレームは入れなかったが。
だいぶ昔RSでmega32U4を30個ばかり頼んだときは1個ずつ4cm角くらいの硬質プラスチックパッケージで
導電スポンジに挟まれてきっちりビニルテープで止められて送られて来たことが。
「RS高いから安くしろよ。」
と言ったら
「梱包だけで中身ナシになりますがよろしいですか?」
と言われた気がした。
おっきなエアキャップ。ほとんど空気w
>>927 俺はトレイを空けた瞬間、落として足を曲げてしまい、いろいろと申し訳ない気持ちになったorz
トイレに落としたのかとおもた
PCなしで書き込めるスタンドアロン型の書き込み機ってあるでしょうか。
仕事で使いたくて。
最大384kbyte(+α)をトグルスイッチで入力させるとか死なす気か
昔、洋物で見かけた覚えがあるけど、
このスレの住人なら自作しようぜ。
自作するとしたらSDカードから読み込んで
マイコンに順次コピーしていく感じか
>>936 今なら、Android+Ardinoのほうが安そうだ。
画面はトグルスイッチだとシャレが効いてるなw
データをメモリかカードに入れて、どんどん焼いて行くギャングライターがほしいのでは?
アドレスのビット数にデータのビット数のトグルスイッチ、それに書き込みスイッチ?
4004でやった...
そんなもんとっくの昔に売ってるぞ
バグ出して現地改修か
>>937 亀レスですまんが作ったぜ
FatFsの勉強兼ねてSDカードの固定ファイル名hexを
書き込むの作った。
SPI覚えとくとかなり応用範囲が広くて飯が食える
AVRのADCを使った電流計を作るのにシャント抵抗(10Ω)にかかる電圧を増幅したいです
10mA 以下を測定したい(できれば10μA単位)のですが
オペアンプの出力をADCピンのみにしか繋がない場合、-3V 5mA程度しかとれない貧弱な負電源でも大丈夫でしょうか?
オペアンプはLM358ですが単電源で使おうとすると3mV以上ないと期待した結果が得られなさそうなので
両電源で使おうとしてます
>>948 微小電流測定はシャント抵抗ではなくてオペアンプを使うのです
ただ反転回路なので、両電源が必要です
この回路で十分測定出来ます
ttp://analog-engineer.cocolog-nifty.com/blog/images/2012/03/08/img.jpg 電流は I=Vo/Ri
説明して間違っていたら悲しいので実験してみました
オペアンプはLM358で、電源には±4.5Vの両電源をつけます
Riは100Ωで、測定側のGNDは全て両電源の仮想GNDです
微小電流源はV=5.18Vのエネループ4本に、R=10kΩの抵抗を入れました
電流はI=5.18*10k=5.18*10^-4 Aです(518μA)
そしてVoを測定すると-51mVでした(符号が逆転します)、Vo/Ri=5.1*10^-4 A で良く合ってます
次に感度を上げるために、Riを1kΩにすると、Vo=-501mVでした。Vo/Ri=5.0*10^-4 Aでやはり合ってます
次に微小電源の抵抗R=100kΩにすると、電流は5.18*10^-5Aです(51.8μA)
これを先ほどと同じRiで測定するとVo=-50.1mVで、5.0*10^-5Aで、まあ合ってます。
式間違ってました
電流はI=5.18*10k=5.18*10^-4 Aです(518μA)
じゃなくて
電流はI=5.18/10k=5.18*10^-4 Aです(518μA)
このオペアンプの後ろに反転増幅回路を入れると、正の数字になります
そしてその反転増幅回路の増幅率を例えば1000倍にすれば
1mVまでしか測れない測定機で、1μVまで測れます
Riに1MΩの抵抗を使うと、
1μ/1M=10^-6/10^6=10^-12 Aまで測れます。ピコアンペアです。
その場合にはダークカレントが低いオペアンプが必要になります。
例えばLMC662とか。
>>949 ありがとうございます
オペアンプをポチったので届いたらやってみます
オペアンプの+入力端子をGND接続ではなく1.5V程度のDCオフセットに接続すると、
負電源不要で正負両電流の計測ができる。
オフセット電流とかあるんでpAは無理のような希ガス
AVRをコントローラにして昇圧回路組んで定電圧になるようにフィードバックかけようと
ADCにつっこんでたら思いがけない電流が流れてADCポートが一つ死んだ orz
不幸中の幸いというか死んだのはピンからADCのコアに繋がるどこかだったらしく
他のADCポートは使えるので大事には至らなかったが、さくっと30V超えたのにはビックリした
壊れた石なんて捨てろよ。時間の無駄。
まだまだ壊しそうな実験しないと捨てられない
ってか壊す可能性があったから tiny13A を実験台にした
壊れたポートも出力ポートとして使えるし実験台には十分
壊さない様に実験すれば良いだけ。でないと、いつまでたっても実力が身につかない
ADCは安いオペアンプでバッファしようよ
マイコンの動作電圧以上や以下の電圧を扱う入力には数キロΩの抵抗を直列に入れておく
そうすればポートの保護用ダイオードとの組合せで保護され壊れなくなる
そしてスルーレートが低下し昇圧回路が安定しなくなる
マイコンを使って、FBさせつつPWMって何か怖いなぁ
バグを含む何かの拍子で止まったらFET短絡とかありえる
(降圧だったら出力に入力がそのまま出ちゃう)
PWM以外の副業は全くやらない前提ならいいのかもしれないけど
「思いがけない電流が流れて」の状況が分からないけど、
何らかの保護回路(フェイルセーフ)が必要なのでは?
「思いがけない電圧がかかって」だろうな
オペアンプでボルテージフォロワしておけば
オペアンプの電源電圧以上かからないので比較的安全だし
アナログ入力の場合、回路とAVRは分離した方がいいと思う
オペアンプの耐圧越えの入力で破損し出力とショートモード
AVRのDACも道連れ
というケースもある
アナログ回路のような物理的な法則に基づいて
動くしくみというのも重要だよね
弾道計算をアナログ計算機で出来ないかな
968 :
774ワット発電中さん:2013/06/25(火) 01:07:54.94 ID:fGsDuN0/
>>967 とっくに実現されて大和に搭載されてたじゃん。
あれは歯車式だよ
埋めコメ
AtmelStudio6.1にしたらブート領域のデバッグが動かなくって1日悩んだ。
本家見たらバグ修正のアップデートが速攻出てた。
1日返せw
梅
歯車式はデジタル?
オベリスクがアナログ計算機とはしらなんだ
歯車が沢山付いているタイガー計算機はアナログ計算機の仲間らしい。
因みに、そろばんはデジタル計算機
微分回路で微分とかしちゃうアナログ計算機が昔はあったんだよ
今なら光学計算機がアナログ計算機じゃね?
歩幅で距離を測ったりする方がもっと最古
979 :
774ワット発電中さん:2013/06/26(水) 00:20:57.16 ID:BLsLULpN
>>976 だから光学式のアナログコンピュータなんてとっくに大和に搭載されとるがな。
980 :
774ワット発電中さん:2013/06/26(水) 00:35:50.44 ID:fmy4QN4f
PC-6001、こないだハードオフで見かけた。
安かったけど買う気も起きなかった。
画面2枚切り替えは今でも斬新だな
新品なのにヤニで汚れてるみたいなのがNECのパソコン。
ATtiny13のメモリ量でソフトウェアUART通信をすることはできますか?
余裕でしょ
>>984 TINY13AでUARTやってるページは見た
でも最低限通信が出来るだけで何かしようとすると容量が足りないっぽい
>>985,986
ありがとうございます
PCからの信号に応じた命令(AD変換やPWMの周期を変えるなど)をしたいのですがとりあえずやってみます
>>984 elmさんのところのテクニカルノートのページにちっこいサイズの
ソフトウェアUARTモジュールがあるよ
XBee のスレッドはないですか?