Innehållsförteckning:

Styr DC -motorer med L298N med CloudX -mikrokontroller: 3 steg
Styr DC -motorer med L298N med CloudX -mikrokontroller: 3 steg

Video: Styr DC -motorer med L298N med CloudX -mikrokontroller: 3 steg

Video: Styr DC -motorer med L298N med CloudX -mikrokontroller: 3 steg
Video: Arduino Medicine Transportation Robot Car | Arduino Bluetooth Robot Car Code | Arduino Nema17 Motor 2024, November
Anonim
Styra DC -motorer med L298N med CloudX -mikrokontroller
Styra DC -motorer med L298N med CloudX -mikrokontroller
Styr DC -motorer med L298N med CloudX Microcontroller
Styr DC -motorer med L298N med CloudX Microcontroller

I det här projektet kommer vi att förklara hur vi använder vår L298N H-bro för att öka och minska hastigheten på likströmsmotorn. L298N H-bryggmodulen kan användas med motorer som har en spänning mellan 5 och 35V DC.

Det finns också en inbyggd 5V regulator, så om din matningsspänning är upp till 12V kan du också hämta 5V från kortet. Dessa L298 H-bridge dual motor controller moduler är billiga och tillgängliga HÄR

Steg 1: Komponenter

Komponenter
Komponenter
Komponenter
Komponenter
Komponenter
Komponenter
  • CloudX mikrokontroller
  • CloudX Softcard
  • V3 USB -kabel
  • L298N H-bro
  • Bakbord
  • Bygelkablar
  • likströmsmotor
  • 10k motstånd
  • 4* tryckknapp

du kan online här

Steg 2: Kretsdiagram

Kretsdiagram
Kretsdiagram

följ upp kretsen

Steg 3: Kod

kopiera den här koden till ditt CloudX IDE

#inkludera #inkludera

signerad char i, j;

bitflagga;

uppstart(){

// konfigurera här för (i = 1; i <5; i ++) {pinMode (i, INPUT); } PWM1_Init (5000); PWM2_Init (5000); PWM1_Start (); PWM2_Start (); PWM1_Duty (0); PWM2_Duty (0); i = j = 0; loop () {// Program här om (! readPin (1)) {delayMs (200); om (flagga == 0) {PWM1_Duty (i); PWM2_Duty (0); } om (flagga == 1) {PWM2_Duty (j); PWM1_Duty (0); } flagga = ~ flagga; } if (! readPin (2)) {delayMs (200); om (flagga == 1) {// i -= 10; i--; om (i <= 0) i = 0; PWM1_Duty (i); PWM2_Duty (0); } om (flagga == 0) {// j -= 10; j--; om (j <= 0) j = 0; PWM2_Duty (j); PWM1_Duty (0); }} if (! readPin (3)) {delayMs (200); om (flagga == 1) {// i += 10; i ++; om (i> = 100) i = 100; PWM1_Duty (i); PWM2_Duty (0); } om (flagga == 0) {// j += 10; j ++; om (j> = 100) j = 100; PWM2_Duty (j); PWM1_Duty (0); }}

if (! readPin (4)) {

delayMs (200); PWM1_Duty (0); PWM2_Duty (0); i = 0; j = 0; }

}

}

Rekommenderad: