Grove - MOSFET
Version från den 3 februari 2021 kl. 15.17 av Christian (diskussion | bidrag)
MOSFET gör att du kan styra högre spänningsprojekt, säg 15V DC, med låg spänning, säg 5V, på mikrokontroller. MOSFET är också en typ av strömbrytare, men dess omkopplingsfrekvens kan nå upp till 5MHz, mycket snabbare än normalt mekaniskt relä. Det finns två skruvplintar på brädet. En för yttre strömkälla och den andra för enheten du vill styra. Grove - MOSFET kommer att överföra kraften från ena änden till en annan när den är stängd. Men om den yttre strömkällan är frånvarande kan din enhet fortfarande dra ström från mikrokontroller via Grove-gränssnittet.
Kompatibilitet
- Arduino
- Raspberry Pi
Port
- Digital
Exempelkod
Arduino
int motorPin = 6;
void setup()
{
Serial.begin(38400);
pinMode(motorPin, OUTPUT);
Serial.println("Grove - MOSFET Test Demo!");
}
void loop()
{
motorOnThenOffWithSpeed();
motorAcceleration();
}
void motorOnThenOffWithSpeed()
{
int onSpeed = 200; // a number between 0 (stopped) and 255 (full speed)
int onTime = 2500;
int offSpeed = 50; // a number between 0 (stopped) and 255 (full speed)
int offTime = 1000;
analogWrite(motorPin, onSpeed);
delay(onTime);
analogWrite(motorPin, offSpeed);
delay(offTime);
}
void motorAcceleration()
{
int delayTime = 50;
for(int i=0; i<256; i++)
{
analogWrite(motorPin, i);
delay(delayTime);
}
for(int i=255; i>=0; i--)
{
analogWrite(motorPin, i);
delay(delayTime);
}
}
Raspberry Pi
import time
import grovepi
# Connect the Grove MOSFET to digital port D6
# SIG,NC,VCC,GND
mosfet = 6
grovepi.pinMode(mosfet,"OUTPUT")
time.sleep(1)
while True:
try:
# Full speed
grovepi.analogWrite(mosfet,255)
print "full speed"
time.sleep(2)
# Half speed
grovepi.analogWrite(mosfet,128)
print "half speed"
time.sleep(2)
# Off
grovepi.analogWrite(mosfet,0)
print "off"
time.sleep(2)
except KeyboardInterrupt:
grovepi.analogWrite(mosfet,0)
break
except IOError:
print "Error"