Space / Mbed 2 deprecated DORA-myTest

Dependencies:   mbed

Committer:
pinofal
Date:
Wed Oct 30 23:21:41 2019 +0000
Revision:
0:aaeeba6e02f5
Child:
1:762bbfe2fc71
test motore CC in PWM

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pinofal 0:aaeeba6e02f5 1 // Test motore CC, pilotato in PWM
pinofal 0:aaeeba6e02f5 2 // testato su F070RB
pinofal 0:aaeeba6e02f5 3
pinofal 0:aaeeba6e02f5 4 #include "mbed.h"
pinofal 0:aaeeba6e02f5 5 #include<stdlib.h>
pinofal 0:aaeeba6e02f5 6
pinofal 0:aaeeba6e02f5 7 // Definizione periferica USB seriale del PC
pinofal 0:aaeeba6e02f5 8 Serial pc(USBTX, USBRX, 921600); // seriale di comunicazione con il PC. Associati a PA_11 e PA_12
pinofal 0:aaeeba6e02f5 9
pinofal 0:aaeeba6e02f5 10 // Definizione periferica seriale del Modulo BLE ELETT114A
pinofal 0:aaeeba6e02f5 11 Serial myBLE(PA_9, PA_10, 9600); //Tx, Rx, bps
pinofal 0:aaeeba6e02f5 12
pinofal 0:aaeeba6e02f5 13
pinofal 0:aaeeba6e02f5 14 // User Button, LED
pinofal 0:aaeeba6e02f5 15 DigitalIn myButton(USER_BUTTON); // pulsante Blu sulla scheda. Associato a PC_13
pinofal 0:aaeeba6e02f5 16 DigitalOut myLed(LED2); // LED verde sulla scheda. Associato a PA_5
pinofal 0:aaeeba6e02f5 17
pinofal 0:aaeeba6e02f5 18 // Output per pilotaggio di un motore PWM
pinofal 0:aaeeba6e02f5 19 PwmOut OutPWM (PB_8);
pinofal 0:aaeeba6e02f5 20
pinofal 0:aaeeba6e02f5 21 /**********/
pinofal 0:aaeeba6e02f5 22 /* MAIN */
pinofal 0:aaeeba6e02f5 23 /**********/
pinofal 0:aaeeba6e02f5 24 int main()
pinofal 0:aaeeba6e02f5 25 {
pinofal 0:aaeeba6e02f5 26
pinofal 0:aaeeba6e02f5 27 // messaggio di benvenuto
pinofal 0:aaeeba6e02f5 28 pc.printf("************ Hallo ************** \r\n");
pinofal 0:aaeeba6e02f5 29 pc.printf("*********** Test PWM *************\r\n");
pinofal 0:aaeeba6e02f5 30
pinofal 0:aaeeba6e02f5 31
pinofal 0:aaeeba6e02f5 32 // inizializza il PWM
pinofal 0:aaeeba6e02f5 33 OutPWM.period_ms(50); // periodo del PWM
pinofal 0:aaeeba6e02f5 34 OutPWM.write(0.0); // inizializza duty cycle del PWM
pinofal 0:aaeeba6e02f5 35
pinofal 0:aaeeba6e02f5 36 // Ciclo principale
pinofal 0:aaeeba6e02f5 37 while(true)
pinofal 0:aaeeba6e02f5 38 {
pinofal 0:aaeeba6e02f5 39 // accende il motore se è premuto lo User Button (BLU)
pinofal 0:aaeeba6e02f5 40 if(myButton == 0)
pinofal 0:aaeeba6e02f5 41 {
pinofal 0:aaeeba6e02f5 42 // accendi LED su scheda
pinofal 0:aaeeba6e02f5 43 myLed = 1;
pinofal 0:aaeeba6e02f5 44 // regola velocità del motore modificando duty cycle del PWM
pinofal 0:aaeeba6e02f5 45 OutPWM.write(0.4); // velocità massima = 1.0
pinofal 0:aaeeba6e02f5 46 }
pinofal 0:aaeeba6e02f5 47 else
pinofal 0:aaeeba6e02f5 48 {
pinofal 0:aaeeba6e02f5 49 // spegni LED su scheda
pinofal 0:aaeeba6e02f5 50 myLed = 0;
pinofal 0:aaeeba6e02f5 51 // ferma il PWM
pinofal 0:aaeeba6e02f5 52 OutPWM.write(0.0); // motore fermo = 0.0
pinofal 0:aaeeba6e02f5 53 } // if(myButton==0)
pinofal 0:aaeeba6e02f5 54 } // while(true) Principale
pinofal 0:aaeeba6e02f5 55 }