Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@3:783382bcf2ec, 2018-11-30 (annotated)
- Committer:
- janusboandersen
- Date:
- Fri Nov 30 12:18:13 2018 +0000
- Revision:
- 3:783382bcf2ec
- Parent:
- 2:41af46339652
Put results in comments
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
janusboandersen | 3:783382bcf2ec | 1 | /* |
janusboandersen | 3:783382bcf2ec | 2 | * This program utilizes max power on the m3pi to measure current |
janusboandersen | 3:783382bcf2ec | 3 | * Results: about 7-800 mA when no resistance on motors |
janusboandersen | 3:783382bcf2ec | 4 | * about 1000-1100 mA when physical resistance on motors (not stalling) |
janusboandersen | 3:783382bcf2ec | 5 | */ |
janusboandersen | 0:2b88d9638dd6 | 6 | #include "mbed.h" |
janusboandersen | 0:2b88d9638dd6 | 7 | #include "m3pi.h" |
janusboandersen | 0:2b88d9638dd6 | 8 | |
janusboandersen | 0:2b88d9638dd6 | 9 | m3pi m3pi; |
janusboandersen | 0:2b88d9638dd6 | 10 | |
janusboandersen | 0:2b88d9638dd6 | 11 | |
janusboandersen | 0:2b88d9638dd6 | 12 | //Print to LCD (character, line) numbers are zero indexed |
janusboandersen | 0:2b88d9638dd6 | 13 | void print_battery() { |
janusboandersen | 0:2b88d9638dd6 | 14 | |
janusboandersen | 0:2b88d9638dd6 | 15 | //measure battery voltage |
janusboandersen | 0:2b88d9638dd6 | 16 | float f = m3pi.battery(); |
janusboandersen | 0:2b88d9638dd6 | 17 | char text[8]; |
janusboandersen | 0:2b88d9638dd6 | 18 | m3pi.cls(); |
janusboandersen | 0:2b88d9638dd6 | 19 | m3pi.locate(0,0); |
janusboandersen | 0:2b88d9638dd6 | 20 | |
janusboandersen | 0:2b88d9638dd6 | 21 | //convert to a string |
janusboandersen | 0:2b88d9638dd6 | 22 | sprintf(text, "%4.2f", f); |
janusboandersen | 0:2b88d9638dd6 | 23 | m3pi.printf(text); |
janusboandersen | 0:2b88d9638dd6 | 24 | } |
janusboandersen | 0:2b88d9638dd6 | 25 | |
janusboandersen | 0:2b88d9638dd6 | 26 | |
janusboandersen | 0:2b88d9638dd6 | 27 | int main(void) { |
janusboandersen | 0:2b88d9638dd6 | 28 | |
janusboandersen | 0:2b88d9638dd6 | 29 | //user push button p21 |
janusboandersen | 0:2b88d9638dd6 | 30 | DigitalIn button(p21); |
janusboandersen | 0:2b88d9638dd6 | 31 | button.mode(PullUp); |
janusboandersen | 0:2b88d9638dd6 | 32 | |
janusboandersen | 0:2b88d9638dd6 | 33 | //set the LEDs as objects |
janusboandersen | 0:2b88d9638dd6 | 34 | //on the m3pi |
janusboandersen | 0:2b88d9638dd6 | 35 | DigitalOut redled8(p13); |
janusboandersen | 0:2b88d9638dd6 | 36 | DigitalOut redled7(p14); |
janusboandersen | 0:2b88d9638dd6 | 37 | DigitalOut redled6(p15); |
janusboandersen | 0:2b88d9638dd6 | 38 | DigitalOut redled5(p16); |
janusboandersen | 0:2b88d9638dd6 | 39 | DigitalOut redled4(p17); |
janusboandersen | 0:2b88d9638dd6 | 40 | DigitalOut redled3(p18); |
janusboandersen | 0:2b88d9638dd6 | 41 | DigitalOut redled2(p19); |
janusboandersen | 0:2b88d9638dd6 | 42 | DigitalOut redled1(p20); |
janusboandersen | 0:2b88d9638dd6 | 43 | |
janusboandersen | 0:2b88d9638dd6 | 44 | //on the mbed |
janusboandersen | 0:2b88d9638dd6 | 45 | DigitalOut myled1 (LED1); |
janusboandersen | 0:2b88d9638dd6 | 46 | DigitalOut myled2 (LED2); |
janusboandersen | 0:2b88d9638dd6 | 47 | DigitalOut myled3 (LED3); |
janusboandersen | 0:2b88d9638dd6 | 48 | DigitalOut myled4 (LED4); |
janusboandersen | 0:2b88d9638dd6 | 49 | |
janusboandersen | 0:2b88d9638dd6 | 50 | |
janusboandersen | 2:41af46339652 | 51 | // Set all LEDs to on |
janusboandersen | 2:41af46339652 | 52 | redled1 = 1; |
janusboandersen | 2:41af46339652 | 53 | redled2 = 1; |
janusboandersen | 2:41af46339652 | 54 | redled3 = 1; |
janusboandersen | 2:41af46339652 | 55 | redled4 = 1; |
janusboandersen | 2:41af46339652 | 56 | redled5 = 1; |
janusboandersen | 2:41af46339652 | 57 | redled6 = 1; |
janusboandersen | 2:41af46339652 | 58 | redled7 = 1; |
janusboandersen | 2:41af46339652 | 59 | redled8 = 1; |
janusboandersen | 2:41af46339652 | 60 | myled1 = 1; |
janusboandersen | 2:41af46339652 | 61 | myled2 = 1; |
janusboandersen | 2:41af46339652 | 62 | myled3 = 1; |
janusboandersen | 2:41af46339652 | 63 | myled4 = 1; |
janusboandersen | 0:2b88d9638dd6 | 64 | |
janusboandersen | 0:2b88d9638dd6 | 65 | |
janusboandersen | 0:2b88d9638dd6 | 66 | //Initialize the car |
janusboandersen | 2:41af46339652 | 67 | m3pi.sensor_auto_calibrate(); |
janusboandersen | 0:2b88d9638dd6 | 68 | |
janusboandersen | 0:2b88d9638dd6 | 69 | // Start the loop |
janusboandersen | 0:2b88d9638dd6 | 70 | while (1) { |
janusboandersen | 2:41af46339652 | 71 | |
janusboandersen | 2:41af46339652 | 72 | // set full speed |
janusboandersen | 2:41af46339652 | 73 | m3pi.left_motor(1.0); |
janusboandersen | 2:41af46339652 | 74 | m3pi.right_motor(1.0); |
janusboandersen | 0:2b88d9638dd6 | 75 | |
janusboandersen | 2:41af46339652 | 76 | //print voltage |
janusboandersen | 2:41af46339652 | 77 | print_battery(); |
janusboandersen | 2:41af46339652 | 78 | } |
janusboandersen | 0:2b88d9638dd6 | 79 | |
janusboandersen | 2:41af46339652 | 80 | } |