質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

2回答

1236閲覧

猫の自動餌やり機をArduinoでサーボモータを用いて作ろうとしてます。

kinazou710

総合スコア1

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2020/07/22 11:51

猫の自動餌やり機をArduinoでサーボモータを用いて作ろうとしてます。12時間に1回餌を与えることを想定してます。が、しかしサーボモータを12時間に1回起動させる方法がわからず、手詰まりな状況です。12時間に1回サーボモータを起動させるArudinoのコードを教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/07/22 12:24

12時間に1回はとりあえず置いておいて、任意のタイミングで目的のエサやり動作をさせることはできているのでしょうか。
kinazou710

2020/07/24 07:47

まずはタクトスイッチを用いて手動餌やり機を作ろうとしたんですが、それもうまくいかない状況です。
dodox86

2020/07/24 16:54

> それもうまくいかない状況です。 むしろ、まずはそこからでは。「12時間に1回」のコードを回答でいただいても、適用させて正しく動作させるのは正直、まだ難しい気がします。コードも提示しないことには質問者さんの理解度もプログラムの完成度も分からず、いただいた回答が消化できない可能性があります。
guest

回答2

0

ベストアンサー

Arduinoにはmillis関数やdelay関数があるのですから、それを利用すればいいと思います。

例えば下記で、起動直後、そして、12時間ごとに餌やりのコードを実行する事になります。
まぁ、Arduinoのクロックは時計のように正確ではないので、時刻合わせ(餌やり時間に合わせて再起動またはリセットボタンを押す)は必要になるでしょうけど。
※実際の餌やりのコード部は全く含まれていません。

Arduino

1extern volatile unsigned long timer0_millis; 2uint32_t interval=(long)12*60*60*1000;//12時間 3 4void setup(){ 5 6} 7 8void loop(){ 9 //餌やりのコード 10 while(millis() > interval);//12時間待つ 11 timer0_millis -= interval;//時刻を12時間戻す 12}

投稿2020/07/24 12:34

nac_tnk

総合スコア494

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kinazou710

2020/07/25 13:17

ありがとうございました!参考にさせていただきます
guest

0

内蔵タイマで一定周期のタイマ割り込みを発生させ、それでカウンタを回して時間計測を行い、12時間ごとのカウントを行えばよろしい

投稿2020/07/22 13:03

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問