Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduksjon

Når man skal styre noe som trekker mer strøm enn det Arduino klarer å levere må man bruke en eller annen form for forsterker, der energien kommer fra en annen kilde. Det kan være vanlige bipolare transistorer, darlingtontransistorer, MOSFET-transistorer, reléer eller mer anvanserte driverkretser for motorer og annet utstyr. Her tar vi for oss en MOSFET-transistor som er veldig enkel å bruke, samtidig som at den er svært fleksibel.

FQP30N06L

FQP30N06L er en N-channel MOSFET som tåler opptil 32A og 60V. Datablad (pdf).

En MOSFET har 3 terminaler: Gate, drain og source. Gate kobles til en utgang på Arduino. Når denne utgangen settes høy, vil det åpnes for strøm mellom source og drain, og når utgangen går lav vil strømmen stoppe. Det kan godt være engjerne være et PWM-signal. På den måten kan Arduino brukes til å styre en mye større strøm enn det Arduinoens utgang klarer å levere.

 

Eksempel: LED Strip dimmer

I dette eksempelet styrer vi en 12V LED Strip med en arduino via en MOSFET-transistor. Vi bruker et vanlig potmeter for å bestemme intensiteten på lyset.

Image Added

Her er potemeteret koblet inn på A0, og MOSFET-gaten styres fra D9. Hvis man vil bruke 12V-batteriet til å drive Arduinoen, er det bare å koble +12V til Vin på Arduino.

 

Code Block
languagecpp
titleled_strip_dimmer
const int potPin = 0;
const int ledPin = 9;
int potReading;
int ledIntensity;


void setup(){
  pinMode( ledPin, OUTPUT);
}

void loop(){
  potReading = analogRead(potPin);
  ledIntensity = map(potReading, 0, 1023, 0, 255);
  analogWrite(ledPin, ledIntensity);
} 

Programmet leser av verdien på A0, gjør verdien om til et tall mellom 0 og 255 ved hjelp av map, og skriver resultatet til D9.