Płytka Arduino ma pewne znaczące ograniczenie, które powoduje, że do pinów wyjściowych nie możemy sobie bezpośrednio podłączyć grzałki akwaryjnej czy nawet większego buzera, bo przepalimy wyjście/wejście. Przyjęło się, że bezpieczny prąd jaki możemy czerpać z pinów to 40mA. Więcej informacji na ten temat znajdziemy w internecie. Polecam artykuł Datasheet: Mikrokontroler – prądy pinów I/O.
Bardzo dobrym rozwiązaniem, które umożliwia sterowanie prądożernymi urządzeniami jest stosowanie tranzystorów. Poniżej prosty przykład umożliwiający płynną regulację obrotami małego silniczka.
SCHEMAT:
CZĘŚCI:
- Arduino Uno
- Tranzystor 2N2222
- Dioda 1N4007
- Rezystor 1kΩ
- Potencjometr 5kΩ
- Silniczek DC 5V
- Zasilacz DC 5V
KOD:
int potPin = A0;
int motorPin = 3;
int potValue = 0;
int motorValue = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
potValue = analogRead(potPin);
motorValue = map(potValue, 0, 1023, 0, 255);
analogWrite(motorPin, motorValue);
Serial.print("potentiometer = " );
Serial.print(potValue);
Serial.print("t motor = ");
Serial.println(motorValue);
delay(2);
}
int potPin = A0; int motorPin = 3; int potValue = 0; int motorValue = 0; void setup() { Serial.begin(9600); } void loop() { potValue = analogRead(potPin); motorValue = map(potValue, 0, 1023, 0, 255); analogWrite(motorPin, motorValue); Serial.print("potentiometer = " ); Serial.print(potValue); Serial.print("t motor = "); Serial.println(motorValue); delay(2); }