fork of seeed studio 4-digit display for st nucleo board
Dependencies: Data_Clock_Pair Seeed_Chainable_LED Seeed_Four_Digit_Disp Seeed_IR_Temp_Sensor Seeed_Led_Bar
Fork of Seeed_Grove_4_Digit_Display_Clock by
main.cpp@6:14929f54ed6f, 2017-04-20 (annotated)
- Committer:
- tulanthoar
- Date:
- Thu Apr 20 11:19:18 2017 -0600
- Revision:
- 6:14929f54ed6f
- Parent:
- 5:d28207a2d2a6
- Child:
- 7:b16b9733d859
Add my own implimentation of LED bar, four digit disp, and chainable LED.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tulanthoar | 4:d540dccad60a | 1 | #include <algorithm> |
tulanthoar | 4:d540dccad60a | 2 | #include <cmath> |
tulanthoar | 4:d540dccad60a | 3 | #include "mbed.h" |
tulanthoar | 6:14929f54ed6f | 4 | #include "SeeedLedBar.h" |
tulanthoar | 6:14929f54ed6f | 5 | #include "SeeedFourDigitDisp.h" |
tulanthoar | 6:14929f54ed6f | 6 | #include "SeeedQTouch.h" |
tulanthoar | 6:14929f54ed6f | 7 | #include "SeeedChainableLED.h" |
tulanthoar | 4:d540dccad60a | 8 | |
tulanthoar | 3:c4427ce4d171 | 9 | Serial pc(SERIAL_TX, SERIAL_RX); |
tulanthoar | 6:14929f54ed6f | 10 | DigitalOut led(LED1); |
tulanthoar | 4:d540dccad60a | 11 | AnalogIn knob(PA_3); |
tulanthoar | 3:c4427ce4d171 | 12 | |
tulanthoar | 6:14929f54ed6f | 13 | int main() { |
tulanthoar | 6:14929f54ed6f | 14 | pc.printf("\n\nstarting algorithm\n\n"); |
tulanthoar | 6:14929f54ed6f | 15 | SeeedLedBar ledBar = SeeedLedBar(PE_9, PF_13); |
tulanthoar | 6:14929f54ed6f | 16 | SeeedFourDigitDisp disp = SeeedFourDigitDisp(PE_13, PF_15); |
tulanthoar | 6:14929f54ed6f | 17 | SeeedQTouch qTouch = SeeedQTouch(PB_9, PB_8); |
tulanthoar | 6:14929f54ed6f | 18 | SeeedChainableLED led_chain = SeeedChainableLED(PE_11, PF_14); |
tulanthoar | 3:c4427ce4d171 | 19 | |
tulanthoar | 3:c4427ce4d171 | 20 | |
tulanthoar | 6:14929f54ed6f | 21 | disp.set_digit(0,0); |
tulanthoar | 4:d540dccad60a | 22 | int knob_led_bar[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; |
tulanthoar | 6:14929f54ed6f | 23 | ledBar.ten_on(); |
tulanthoar | 6:14929f54ed6f | 24 | disp.clear_display(); |
tulanthoar | 6:14929f54ed6f | 25 | led_chain.turn_on(); |
tulanthoar | 6:14929f54ed6f | 26 | led_chain.set_color_rgb(100,200,100); |
tulanthoar | 6:14929f54ed6f | 27 | while (1) { |
tulanthoar | 6:14929f54ed6f | 28 | led = !led; |
tulanthoar | 4:d540dccad60a | 29 | float led_frac = knob.read(); |
tulanthoar | 4:d540dccad60a | 30 | int led_percent = floor(led_frac * 100); |
tulanthoar | 4:d540dccad60a | 31 | int tens = floor(led_frac * 10); |
tulanthoar | 4:d540dccad60a | 32 | int ones = led_percent % 10; |
tulanthoar | 4:d540dccad60a | 33 | ones = floor(ones * 10 / 8); |
tulanthoar | 4:d540dccad60a | 34 | if (ones > 8) ones = 8; |
tulanthoar | 4:d540dccad60a | 35 | int ones_led = ones * 16; |
tulanthoar | 4:d540dccad60a | 36 | for (int i = 0; i < 10; ++i) knob_led_bar[i] = 0x00; |
tulanthoar | 6:14929f54ed6f | 37 | for (int i = 0; i < tens; ++i) knob_led_bar[i] = 0xff; |
tulanthoar | 4:d540dccad60a | 38 | knob_led_bar[tens] = ones_led; |
tulanthoar | 6:14929f54ed6f | 39 | ledBar.ten_set(knob_led_bar); |
tulanthoar | 6:14929f54ed6f | 40 | disp.set_digit(2,tens); |
tulanthoar | 6:14929f54ed6f | 41 | disp.set_digit(3,ones); |
tulanthoar | 6:14929f54ed6f | 42 | int eightBitInput = led_frac * 255; |
tulanthoar | 6:14929f54ed6f | 43 | led_chain.set_color_rgb(eightBitInput, eightBitInput, eightBitInput); |
tulanthoar | 4:d540dccad60a | 44 | } |
tulanthoar | 4:d540dccad60a | 45 | } |