Smart IOT vagn för intern logistik (Intel IoT) (7 / 10 steg)
Steg 7: Rörlighet för vagn Robot
Källkoden för förflyttning av vagn robot
void runFunction()
{
Wire.BEGIN(); gå med i2c bussen (adress valfritt för master)
Serial.println ("skickats DC hastighet 100");
MotorDirectionSet(0b0101); "0b1010" definierar produktionen polariteten, "10" betyder M + är "positiva" medan M - är "negtive"
göra säker M + M - är olika polatity när man kör DC-motorer.
MotorSpeedSetAB (100.100); //defines hastigheten på motor 1 och motor 2.
0b0101 roterande i motsatt riktning
}
Funktion för att ange 2 DC motor
motorSpeedA: DC motor en hastighet; ska vara 0 ~ 100;
motorSpeedB: DC motor B hastighet; ska vara 0 ~ 100;
void MotorSpeedSetAB (unsigned char MotorSpeedA, unsigned char MotorSpeedB) {
MotorSpeedA=map(MotorSpeedA,0,100,0,255);
MotorSpeedB=map(MotorSpeedB,0,100,0,255);
Wire.beginTransmission(I2CMotorDriverAdd); överföra till enhet I2CMotorDriverAdd
Wire.write(MotorSpeedSet); Ställ in pwm header
Wire.write(MotorSpeedA); Skicka pwma
Wire.write(MotorSpeedB); Skicka pwmb
Wire.endTransmission(); stoppa överföring
}
ställa in prescale frekvens för PWM, 0x03 standard.
void MotorPWMFrequenceSet (unsigned char frekvens) {
Wire.beginTransmission(I2CMotorDriverAdd); överföra till enhet I2CMotorDriverAdd
Wire.write(PWMFrequenceSet); Ange frekvens header
Wire.write(frequence); Skicka frekvens
Wire.write(Nothing); måste skicka detta byte som den tredje byten (inget menande)
Wire.endTransmission(); stoppa överföring
}
Ange att textorienteringen DC-motor.
void MotorDirectionSet (unsigned char riktning) {/ / justera riktningen av motorerna 0b0000 I4 I3 I2 I1
Wire.beginTransmission(I2CMotorDriverAdd); överföra till enhet I2CMotorDriverAdd
Wire.write(DirectionSet); Riktning control-huvudet
Wire.write(Direction); Skicka riktning kontrollinformation
Wire.write(Nothing); måste skicka detta byte som den tredje byten (inget menande)
Wire.endTransmission(); stoppa överföring
}
void MotorDriectionAndSpeedSet (unsigned char riktning, unsigned char MotorSpeedA, unsigned char MotorSpeedB) {//you kan justera driection och snabba tillsammans
MotorDirectionSet(Direction);
MotorSpeedSetAB(MotorSpeedA,MotorSpeedB);
}