Progetto 21: Ventilatore

(1)Descrizione:

Questo modulo ventilatore utilizza un chip di controllo motore HR1124S, un chip driver H-bridge a canale singolo contenente transistor di potenza PMOS e NMOS a bassa resistenza di conduzione. La bassa resistenza di conduzione può ridurre il consumo energetico, contribuendo al funzionamento sicuro del chip per un tempo più lungo.

Inoltre, la sua bassa corrente di standby e la bassa corrente di lavoro statica lo rendono adatto ai giocattoli. Possiamo controllare la direzione di rotazione e la velocità del ventilatore inviando segnali IN+ e IN- e segnali PWM.

(2)Specifiche:

Tensione di lavoro: 5V

Corrente: 200MA

Potenza massima: 2W

Temperatura di funzionamento: da -10 gradi Celsius a +50 gradi Celsius

Dimensioni: 47.6MM *23.8MM

(3)Schema di collegamento:

Il modulo ventilatore necessita di essere alimentato con corrente elevata; pertanto, installiamo un portabatterie.

I pin GND, VCC, IN+ e IN- del modulo ventilatore sono collegati ai pin G, V, D12 e D13 dello shield.

(4)Codice di Test:

(Nota: Non collegare il modulo Bluetooth prima di caricare il codice, perché il caricamento del codice utilizza anch’esso la comunicazione seriale e potrebbero verificarsi conflitti con la comunicazione seriale Bluetooth, causando il fallimento del caricamento.)

/*
Keyestudio Mini Tank Robot V3 (Popular Edition)
lesson 21.1
130 motor
http://www.keyestudio.com
*/

int INA = 12;
int INB = 13;

void setup()
{
    pinMode(INA, OUTPUT);//Imposta la porta digitale INA come uscita
    pinMode(INB, OUTPUT);//Imposta la porta digitale INB come uscita
}

void loop() 
{
    //Imposta il ventilatore per ruotare in senso antiorario per 3s
    digitalWrite(INA, LOW);
    digitalWrite(INB, HIGH);
    delay(3000);
    //Imposta il ventilatore per fermarsi per 1s
    digitalWrite(INA, LOW);
    digitalWrite(INB, LOW);
    delay(1000);
    //Imposta il ventilatore per ruotare in senso orario per 3s
    digitalWrite(INA, HIGH);
    digitalWrite(INB, LOW);
    delay(3000);
}

(5)Risultati del Test:

Carica il codice, collega i componenti e inserisci l’alimentazione. Il piccolo ventilatore girerà in senso antiorario per 3000ms, si fermerà per 1000ms e girerà in senso orario per 3000ms.

(6)Pratica Avanzata:

Abbiamo compreso il principio di funzionamento del sensore di fiamma. Ora, collegare un sensore di fiamma nel circuito, come mostrato di seguito. Quindi controllare il ventilatore per spegnere il fuoco con il sensore di fiamma.

(Nota: Non collegare il modulo Bluetooth prima di caricare il codice, perché il caricamento del codice utilizza anch’esso la comunicazione seriale e potrebbero verificarsi conflitti con la comunicazione seriale Bluetooth, causando il fallimento del caricamento.)

/*
Keyestudio Mini Tank Robot V3 (Popular Edition)
lesson 21.2
130 motor
http://www.keyestudio.com
*/

int INA = 12;
int INB = 13;
int flame = A1; //Definisci il pin della fiamma come pin analogico A1
int val = 0; //Definisci variabili digitali

void setup() 
{
    pinMode(INA, OUTPUT);//Imposta la porta digitale INA come uscita
    pinMode(INB, OUTPUT);//Imposta la porta digitale INB come uscita
    pinMode(flame, INPUT); //Definisci la fiamma come sorgente di ingresso
}

void loop() 
{
    val = analogRead(flame); //Leggi il valore analogico del sensore di fiamma
    if (val <= 700)  //Quando il valore analogico≤700, il ventilatore è acceso
    {
        //Accendi il ventilatore quando viene rilevata una fiamma
        digitalWrite(INA, LOW);
        digitalWrite(INB, HIGH);
    } 
    else 
    {
        //Altrimenti si ferma
        digitalWrite(INA, LOW);
        digitalWrite(INB, LOW);
    }
}

Dopo aver caricato il codice, accendi l’interruttore di alimentazione dello shield del driver motore; potrai accendere il ventilatore quando viene rilevata una fiamma dal sensore di fiamma sinistro del robot.