NHK2021_ikarashiSolenoidValve

Dependents:   NHK2021_ikarashiSV_code NHK2021_ikarashiSV_code_withservo 2021NHK_B_syudo

ikarashiSV.h

Committer:
ikarashikota
Date:
2021-10-21
Revision:
5:1ef248a66820
Parent:
1:696f7c0ab1bd
Child:
7:58da8ee2b38d

File content as of revision 5:1ef248a66820:

/** @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