Indice
Descrizione
In questo episodio del tutorial di Arduino, impareremo a pilotare un motore DC collegato alla scheda di Arduino attraverso un transistor. Costruiremo il circuito che oltre il motore a corrente continua e un transistor NPN, comprende anche un pulsante di accensione/spegnimento e un potenziometro per regolare la velocità. Vedremo inoltre come proteggere il transistor e altri componenti dalle controtensioni che vengono generate dal motore DC.
Infine impareremo a scrivere lo sketch per gestire il motore.
#define MOTOR_PIN 3#define BUTTON_PIN 4#define POTENTIOMETER_PIN A0#define BOOT_TIME 400 bool enabled = false;int lastEnableValue = LOW;unsigned long startTime = 0; void setup(){ pinMode(MOTOR_PIN, OUTPUT); pinMode(BUTTON_PIN, INPUT);} void loop(){ int enableValue = digitalRead(BUTTON_PIN); if(enableValue != lastEnableValue && enableValue == HIGH){ if(!enabled){ startTime = millis(); } enabled = !enabled; } lastEnableValue = enableValue; if(enabled){ if((millis()-startTime) > BOOT_TIME){ int motorSpeed = map(analogRead(POTENTIOMETER_PIN), 0, 1023, 70, 255); analogWrite(MOTOR_PIN, motorSpeed); }else{ analogWrite(MOTOR_PIN, 255); } }else{ analogWrite(MOTOR_PIN, 0); } delay(50);}In qualità di Affiliato Amazon riceviamo un guadagno dagli acquisti idonei