Updated to latest version. Added in new version of the Siren

Dependencies:   mbed-src

Fork of VolundrIntroCase2015 by Volundr

Committer:
tweaker1331
Date:
Tue Aug 04 21:22:56 2015 +0000
Revision:
1:fad61b6e660b
Parent:
0:9826a0b36948
Child:
2:7ca8b2154664
Hierbij, Bluetooth werkend.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tweaker1331 0:9826a0b36948 1 #include "mbed.h"
tweaker1331 1:fad61b6e660b 2 /*
tweaker1331 1:fad61b6e660b 3 MOTOR A
tweaker1331 1:fad61b6e660b 4 ENA - p21
tweaker1331 1:fad61b6e660b 5 IN1 - p5 --> OUT1 - MOTORA+
tweaker1331 1:fad61b6e660b 6 IN2 - p6 --> OUT2 - MOTORA-
tweaker1331 1:fad61b6e660b 7 MOTOR B
tweaker1331 1:fad61b6e660b 8 ENB - p22
tweaker1331 1:fad61b6e660b 9 IN3 - p26 --> OUT3 - MOTORB+
tweaker1331 1:fad61b6e660b 10 IN4 - p25 --> OUT4 - MOTORB-
tweaker1331 1:fad61b6e660b 11 */
tweaker1331 1:fad61b6e660b 12
tweaker1331 1:fad61b6e660b 13 PwmOut in1(p5);
tweaker1331 1:fad61b6e660b 14 PwmOut in2(p6);
tweaker1331 1:fad61b6e660b 15
tweaker1331 1:fad61b6e660b 16 PwmOut in3(p26);
tweaker1331 1:fad61b6e660b 17 PwmOut in4(p25);
tweaker1331 1:fad61b6e660b 18
tweaker1331 1:fad61b6e660b 19 DigitalOut en_a(p21);
tweaker1331 1:fad61b6e660b 20 DigitalOut en_b(p22);
tweaker1331 1:fad61b6e660b 21
tweaker1331 1:fad61b6e660b 22 DigitalOut LED(LED1);
tweaker1331 1:fad61b6e660b 23
tweaker1331 1:fad61b6e660b 24 Serial bluetooth(p9, p10);
tweaker1331 1:fad61b6e660b 25 //Serial pc(USBTX, USBRX);
tweaker1331 1:fad61b6e660b 26
tweaker1331 1:fad61b6e660b 27
tweaker1331 1:fad61b6e660b 28 /* Initialize timers for the H-bridge*/
tweaker1331 1:fad61b6e660b 29 int init_drive()
tweaker1331 1:fad61b6e660b 30 {
tweaker1331 1:fad61b6e660b 31 // Set PWM frequency to 10 kHz
tweaker1331 1:fad61b6e660b 32 in1.period_us(100);
tweaker1331 1:fad61b6e660b 33 in2.period_us(100);
tweaker1331 1:fad61b6e660b 34 in3.period_us(100);
tweaker1331 1:fad61b6e660b 35 in4.period_us(100);
tweaker1331 1:fad61b6e660b 36 /* Set enable pin high. NEVER set this pins low during driving.
tweaker1331 1:fad61b6e660b 37 There are no protection diodes and with EN low, H-bridge is in Hi-Z mode.
tweaker1331 1:fad61b6e660b 38 This can generate a high voltage that breaks the H-bridge.*/
tweaker1331 1:fad61b6e660b 39 en_a.write(1);
tweaker1331 1:fad61b6e660b 40 en_b.write(1);
tweaker1331 1:fad61b6e660b 41
tweaker1331 1:fad61b6e660b 42 return 1;
tweaker1331 1:fad61b6e660b 43 }
tweaker1331 1:fad61b6e660b 44
tweaker1331 1:fad61b6e660b 45 /*Handler for Bluetooth messages*/
tweaker1331 1:fad61b6e660b 46 void rxCallback()
tweaker1331 1:fad61b6e660b 47 {
tweaker1331 1:fad61b6e660b 48 char a;
tweaker1331 1:fad61b6e660b 49 a = bluetooth.getc();
tweaker1331 1:fad61b6e660b 50 if(a == 'g') {
tweaker1331 1:fad61b6e660b 51 LED = 1;
tweaker1331 1:fad61b6e660b 52 }
tweaker1331 1:fad61b6e660b 53 }
tweaker1331 1:fad61b6e660b 54
tweaker1331 1:fad61b6e660b 55 /* Initialize the bluetooth module*/
tweaker1331 1:fad61b6e660b 56 int init_bluetooth()
tweaker1331 1:fad61b6e660b 57 {
tweaker1331 1:fad61b6e660b 58 bluetooth.baud(9600);
tweaker1331 1:fad61b6e660b 59 //wait(0.2);
tweaker1331 1:fad61b6e660b 60 //bluetooth.printf("AT+NAMETHOR1\r\n");
tweaker1331 1:fad61b6e660b 61 bluetooth.attach(&rxCallback, Serial::RxIrq);
tweaker1331 0:9826a0b36948 62
tweaker1331 0:9826a0b36948 63 return 1;
tweaker1331 1:fad61b6e660b 64 }
tweaker1331 1:fad61b6e660b 65
tweaker1331 1:fad61b6e660b 66 /* Initialize ADC ports*/
tweaker1331 1:fad61b6e660b 67 int init_ADC()
tweaker1331 1:fad61b6e660b 68 {
tweaker1331 1:fad61b6e660b 69 return 1;
tweaker1331 1:fad61b6e660b 70 }
tweaker1331 1:fad61b6e660b 71
tweaker1331 1:fad61b6e660b 72
tweaker1331 1:fad61b6e660b 73 /* Initialize GPIO's*/
tweaker1331 1:fad61b6e660b 74 int init_GPIO()
tweaker1331 1:fad61b6e660b 75 {
tweaker1331 1:fad61b6e660b 76 return 1;
tweaker1331 0:9826a0b36948 77 }
tweaker1331 0:9826a0b36948 78
tweaker1331 1:fad61b6e660b 79 int main()
tweaker1331 1:fad61b6e660b 80 {
tweaker1331 0:9826a0b36948 81
tweaker1331 0:9826a0b36948 82 init_drive();
tweaker1331 1:fad61b6e660b 83 init_bluetooth();
tweaker1331 0:9826a0b36948 84
tweaker1331 0:9826a0b36948 85 while(1) {
tweaker1331 1:fad61b6e660b 86 /* if(pc.readable()) {
tweaker1331 1:fad61b6e660b 87 bluetooth.putc(pc.getc());
tweaker1331 1:fad61b6e660b 88 }
tweaker1331 1:fad61b6e660b 89 if(bluetooth.readable()) {
tweaker1331 1:fad61b6e660b 90 pc.putc(bluetooth.getc());
tweaker1331 1:fad61b6e660b 91 }*/
tweaker1331 0:9826a0b36948 92 }
tweaker1331 1:fad61b6e660b 93
tweaker1331 1:fad61b6e660b 94 }