2021 NHK B

Revision:
0:2b253298d427
Child:
1:696f7c0ab1bd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ikarashiSV.h	Mon Oct 11 07:48:12 2021 +0000
@@ -0,0 +1,65 @@
+/** @ikarashiSV.h
+ *
+ * NHK2021Bチーム 電磁弁のライブラリです
+ * @attention 回路が悪いのか電磁弁が悪いのかわかりませんが、訳あってpin_c,pin_dの代入値を本来とは逆にしています。
+ */
+#ifndef ikarashi_SOLENOID
+#define ikarashi_SOLENOID
+
+#include "mbed.h"
+
+/** ikrashiSV
+ *
+ * 電磁弁が動かせます
+ */
+class ikarashiSV
+{
+public:
+
+    /** コンストラクタ
+     *
+     * @param pin_a 下の電磁弁
+     * @param pin_b ↑同じ
+     *
+     * @param pin_c 上の電磁弁
+     * @param pin_d ↑同じ
+     */
+    ikarashiSV(PinName pin_a,PinName pin_b,PinName pin_c,PinName pin_d);
+    
+    /** 使っても使わなくてもいいやつ
+     *
+     * state って言いう変数に+1します(state初期値0)
+     */
+    void add_state();
+    
+    /** 大本命関数
+     *
+     * _state = 1 ・・・ 下の電磁弁が押す
+     * _state = 2 ・・・ 上の電磁弁が押す(投げる)
+     * _state = 0 ・・・ 元に戻る
+     * @param _state 条件分岐用変数
+     */
+    void solenoid(int _state);
+    
+    /** 電磁弁の状態を確認する関数
+     * 押していたらpushで、引いていたらpullです
+     */
+    void solenoid_show();
+    
+    /** 使わなくてもいい(n回目)
+     *
+     * @return state を返します
+     */
+    int state_show();
+private:
+    int state;
+    int _state;
+    int solenoid_status;
+    DigitalOut port_a;//1 下の電磁弁
+    DigitalOut port_b;//
+
+    DigitalOut port_c;//2 上の電磁弁
+    DigitalOut port_d;//
+};
+
+#endif
\ No newline at end of file