18/05/23 22:46:42.94 msPKlAd+.net
タイマーなしでパイロットランプ(LED)を1秒周期くらいで点滅させる方法ありますか?
デューティ比は20%~30%くらいがいいです、周期ははだいたい1秒でかまいせん
玩具のミニロボットを作ってるのだけど
タイマー0はArduinoコアが、タイマー1はServoライブラリが、タイマー2はDCモーターのPWM制御が使っていて…
loopは高速でずっと回ってるんですが、millis
992:とか使ってうまくできますかね?
993:774ワット発電中さん
18/05/23 22:48:32.11 yZawOtCx.net
>>954
なんかあったわ、それ。タイマーを使わないプログラムのタイマー
ちょっとブラウザのブックマークを探してみる
返事がなければ寝たと思ってくれ
994:774ワット発電中さん
18/05/23 23:36:21.36 yZawOtCx.net
あ、無理だわw
ただ単にLEDを点滅させるだけなら・・・
long previousMillis = 0; //前のmillis
unsigned long currentMillis = 0; //現在のmillis
long interval = 1000; //インターバル 1秒
const int ledPin = 13; //LEDピン
void setup() { pinMode(ledPin, OUTPUT); }
void loop() {
currentMillis = millis();
if(currentMillis - previousMillis > interval) //現在のmillis - 前のmillis > インターバルの1秒過ぎたら
{
previousMillis = currentMillis; //前のmillisに現在のmillisを代入
//LEDをトグルさせる処理
digitalWrite(ledPin, !digitalRead(ledPin));
}
}
995:774ワット発電中さん
18/05/24 01:10:01.74 pprffWGk.net
>>956
LEDついてるかどうかdigitalreadして調べて、ついてたら点灯時間を超えているかどうか、消えていたら消灯時間を超えているかをmillsの値で判定すればいいんじゃね。あと、長時間動かすものならmillsのオーバフローの対処すればよいのでは。
996:774ワット発電中さん
18/05/24 01:42:06.82 vpiOFuDg.net
pro miniのRAWに印加していいのはmax150mAですか?USB電源5V/500mAを供給したら壊れるということですか?
URLリンク(imgur.com)
997:774ワット発電中さん
18/05/24 01:48:30.36 ad44qbHk.net
>>957
質問者はPWMで調光したいらしいから、その処理はどうすんの?
998:774ワット発電中さん
18/05/24 02:04:00.89 ad44qbHk.net
>>958
RAWピンにUSB電源を繋げるだけなら壊れないよ
電流は消費する分しか流れないから
Arduinoに1ピンあたり最大40mA、合計150mA以上消費する何かをつなげてArduino引き出そうとすると壊れる
999:774ワット発電中さん
18/05/24 03:51:38.66 xqBAm0eh.net
URLリンク(i.imgur.com)
何処ぞでブレッドボードのまま完成品にしてる人を見掛けて、あーもうこれで良いんじゃねと
3Dプリンタでブレッドボードを収める箱を作ってみた
1000:774ワット発電中さん
18/05/24 05:23:46.96 pprffWGk.net
>>959
俺にはPWMで調光するとは書いてないように思えるのだが。
1001:774ワット発電中さん
18/05/24 06:38:13.08 4iqOVRIj.net
>>954
「タイマー無しで」とはあるけども…それが「タイマー0と1と2が使用済みだからもう無い」ってだけなら
まだ遊んでる犬が居るぜ?大雑把な時間を数えるくらいなら出来る(番犬にしてなければな)
setup()の前に byte led;ISR(WDT_vect){led%=4;led+=5;} を追加
setup()の頭に cli();WDTCSR=24;WDTCSR=68;sei(); を追加
該当のポートに HIGH、LOW の代わりに 1&led>>■ を設定
■に数値を入れて点滅パターンを選ぶ
0 : 1/4秒点灯、1/4秒消灯(2Hz , 50%)
1 : 1/2秒点灯、1/2秒消灯(1Hz , 50%)
2 : 3/4秒点灯、1/4秒消灯(1Hz , 75%)
3 : 1/4秒点灯、3/4秒消灯(1Hz , 25%)
4~ 消灯
例 :
byte led;ISR(WDT_vect){led%=4;led+=5;}
void setup() {
cli();WDTCSR=24;WDTCSR=68;sei();
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, 1&led>>3); // 1Hz 25% dutyで内蔵LEDを点滅
/*
ループ処理なんとかかんとか
*/
}
1002:774ワット発電中さん
18/05/24 06:47:22.37 ErK8F4yD.net
>>961
4箇所の爪は弾性変形してパチっとはまる構造?
俺も作ってみようかな
1003:774ワット発電中さん
18/05/24 06:51:43.35 ErK8F4yD.net
>>954
CRとADCで出来そうな気がする。
1004:774ワット発電中さん
18/05/24 08:33:08.90 vpiOFuDg.net
>>960
ありがとう
RAWピンのMAXはそういうことだったんですね
1005:774ワット発電中さん
18/05/24 09:20:33.49 ErK8F4yD.net
>>966
質問に対する答えはそうだけど、つなぐべきはRAWじゃなくVCCピンでは?
1006:774ワット発電中さん
18/05/24 09:20:52.28 XM1MTmuP.net
「タイマー0と1と2が使用済みだからもう無い」
どうして初心者はそこで頭固まってしまうんだろうな?
使いたいタイマーの数だけ変数作って
タイマー1個使ってすべての変数をカウントアップさせて使えば
メモリのある限り無限な数のタイマー使えるじゃん
1007:774ワット発電中さん
18/05/24 10:52:50.69 0uuYOHbw.net
>>968
初心者だからこそ。自分が初心者のときにそこまで頭回ったか?回ったならあなたは天才
もしその方法でやるならライブラリの中弄るとか、全然初心者じゃなーい
1008:774ワット発電中さん
18/05/24 12:04:42.69 Rj2Y+LTP.net
>>968
そこまで出来たら初心者じゃなくね?w
既存のライブラリが使えて手軽に開発できるのがウリなんだし
マイコンの隅まで使いこなせるならArduinoじゃなくても良くね?ってなるし
まぁウォッチドッグのレジスタ叩く回答した自分が言うのもアレなんだけど
1009:774ワット発電中さん
18/05/24 12:13:27.82 wu/M8Rwf.net
C全般的にはタイマー割り込みの方がよっぽど特殊だよね
1010:774ワット発電中さん
18/05/24 12:16:57.28 Rj2Y+LTP.net
まぁArduinoが使ってる0とサーボライブラリの1はともかく
タイマー2はDCモーターのPWM制御とやらを自分で書いたのならば
PWM周波数をちょいと工夫すれば同時にLED点滅にも使えるかな?って考えたりすれば…
と思ったけどD3、D11にFETとかつけてanalogWriteしてるだけかな?
そもそもデフォルトのプリスケーラから変えるにはレジスタ叩かないといけないし
タイマー割り込みも標準だと使えないんだっけ?
MsTimer2とかライブラリ使えばあるけど
質問者はPWM制御で使っちゃってるって考えたわけだからなぁ
サーボライブラリやanalogWriteで使ってるタイマーが把握できてたりするだけ偉いと思うぜ俺は
1011:774ワット発電中さん
18/05/24 12:31:12.15 BRSVG0gy.net
○○が足りなくなった?
っ[Arduino Mega] スッ…
1012:774ワット発電中さん
18/05/24 12:42:03.35 qzNxBi2J.net
>>973
お金が足りなくなった
1013:774ワット発電中さん
18/05/24 12:43:09.85 BRSVG0gy.net
びんぼうでいいの
1014:774ワット発電中さん
18/05/24 15:14:39.29 VAcXdDVO.net
>>954
とりあえずこれ貼っときますね
URLリンク(eleshop.jp)
1015:774ワット発電中さん
18/05/24 15:26:00.76 BRSVG0gy.net
URLリンク(akizukidenshi.com)
ハードウェアで何とかしていくスタンス好き
1016:774ワット発電中さん
18/05/24 20:53:57.78 xqBAm0eh.net
>>964
URLリンク(i.imgur.com)
積層的に折れそうで恐く、こんなみっともない方法で止めてます
無駄にスペース空いてますが、手持ちの古いモバイルバッテリー+周囲2mmの
サイズに合わせて
1017:774ワット発電中さん
18/05/24 22:49:17.52 K0EDMzYZ.net
>>978
ケースにそこまで細かい細工を施すのに
基板の方はブレッドボードまんまというアンバランスに笑った。
1018:774ワット発電中さん
18/05/24 22:58:41.39 K0EDMzYZ.net
今作りかけはこんなの。
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
どっちもやっつけ仕事感丸出しでしょw
1019:774ワット発電中さん
18/05/24 23:05:35.93 gKQ7drpc.net
>>978
蓋はどんな感じ?
1020:774ワット発電中さん
18/05/24 23:41:11.32 xqBAm0eh.net
>>981
側面の□と天板の3ピース構造
ブレッドボード組み替えたら多分天板だけ出力し直す
1021:774ワット発電中さん
18/05/24 23:42:12.96 xI1VWk+l.net
3Dプリンターいいな
箱作りでいつも悩む
1022:774ワット発電中さん
18/05/24 23:44:11.99 oRsrlYE7.net
>>982
完成したらまた見せて
1023:774ワット発電中さん
18/05/25 00:02:29.44 lzzoZhGX.net
>>984
URLリンク(i.imgur.com)
出力はしてある
1024:774ワット発電中さん
18/05/25 00:06:47.19 orkpeOpQ.net
キレイだなあ
1025:774ワット発電中さん
18/05/25 00:10:57.49 NNMAQLX7.net
>>985
サンクス
USBコネクタ廻りはどうなってるの?
1026:774ワット発電中さん
18/05/25 00:48:42.09 orkpeOpQ.net
真似して作ってみた。ツメ難しい。
URLリンク(i.imgur.com)
1027:774ワット発電中さん
18/05/25 00:52:53.29 60jTX3Wi.net
>>985
何のプリンター使ってます?
1028:774ワット発電中さん
18/05/25 01:24:29.94 FlhPtpwM.net
>>988
真似っこでも、作れる人スゲー!
もちろんオリジナルはスゲー!!
1029:774ワット発電中さん
18/05/25 06:59:13.56 zN1zUC6X.net
>>979
プリント基板のむき出し利用より100倍良い
ケース作んないと実用性も耐久性もダメ
1030:774ワット発電中さん
18/05/25 07:26:17.16 j3hXAORo.net
てゆうか、売れるだろコレ。
1031:774ワット発電中さん
18/05/25 08:44:05.54 ZxrqFPpb.net
中華製の安売りしてるブレッドボードは反り返っちゃってるから、ジャストサイズだと嵌らなそうw
1032:774ワット発電中さん
18/05/25 10:42:19.30 +pDtAH35.net
>>988
指が短い
1033:774ワット発電中さん
18/05/25 19:09:48.07 QCYMOSbt.net
何のためにこういうケースというか台がいるのかわからない
1034:774ワット発電中さん
18/05/25 21:54:53.54 DlxbWaPO.net
ケースは埃からの保護のため、台(ブレッドボード)は配線試作の為・・・だけど使い方を把握するとこれでいいような気がしてきちゃう。
というか既に990過ぎてるから次スレ
Arduino初心者熱烈大歓迎質問スレ part21
スレリンク(denki板)
1035:774ワット発電中さん
18/05/25 21:57:17.03 5qm1iORx.net
台はこういうの使いやすそう
URLリンク(docid81hrs3j1.cloudfront.net)
1036:774ワット発電中さん
18/05/25 22:07:51.17 QCYMOSbt.net
他のものを並べて飾るとかテストするなら、ただの板切れに両面で張り付ければいいじゃないの。
しまうときは適当な箱に入れればいいじゃないの。
1037:774ワット発電中さん
18/05/25 22:14:45.24 a7jOxt4Q.net
>>991
何言ってるかよく分からないな。
>プリント基板のむき出し利用
と比較するっていう一方的なルールはあなたの思い付き?
1038:774ワット発電中さん
18/05/25 22:15:20.41 a7jOxt4Q.net
ま
1039:774ワット発電中さん
18/05/25 22:15:36.77 a7jOxt4Q.net
どーでもいいけどさ
1040:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 147日 13時間 50分 48秒
1041:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています