Show Flashing RGB LED Interrupted by two keys two turn on green and blue LEDs on the AZ3166

Committer:
appa
Date:
Thu Feb 04 16:41:22 2021 +0000
Revision:
0:53c4ae3fbc5b
Flashing Random RGB LED interrupt with buttons

Who changed what in which revision?

UserRevisionLine numberNew contents of line
appa 0:53c4ae3fbc5b 1 #include "mbed.h"
appa 0:53c4ae3fbc5b 2 #include "platform/mbed_thread.h"
appa 0:53c4ae3fbc5b 3 #include "RPinName.h"
appa 0:53c4ae3fbc5b 4
appa 0:53c4ae3fbc5b 5 // Blinking rate in milliseconds
appa 0:53c4ae3fbc5b 6 #define loopdelay 1000
appa 0:53c4ae3fbc5b 7 #define betweenleds 500
appa 0:53c4ae3fbc5b 8 // Initialise the digital pins for LEDs as an output
appa 0:53c4ae3fbc5b 9 DigitalOut ledg(led1); // WiFi or same as LED1
appa 0:53c4ae3fbc5b 10 DigitalOut ledb(led2); // Azure
appa 0:53c4ae3fbc5b 11 DigitalOut ledy(led3); // User
appa 0:53c4ae3fbc5b 12
appa 0:53c4ae3fbc5b 13 InterruptIn ButtonA(Key2);
appa 0:53c4ae3fbc5b 14 InterruptIn ButtonB(Key3);
appa 0:53c4ae3fbc5b 15
appa 0:53c4ae3fbc5b 16 // Initialise the pulse-width-moudulation for RGB LED
appa 0:53c4ae3fbc5b 17 PwmOut RGBR(RedRGB);
appa 0:53c4ae3fbc5b 18 PwmOut RGBG(GreenRGB);
appa 0:53c4ae3fbc5b 19 PwmOut RGBB(BlueRGB);
appa 0:53c4ae3fbc5b 20
appa 0:53c4ae3fbc5b 21 Serial AZ(tx, rx); // tx, rx
appa 0:53c4ae3fbc5b 22
appa 0:53c4ae3fbc5b 23 void ToggleGreen()
appa 0:53c4ae3fbc5b 24 {
appa 0:53c4ae3fbc5b 25 ledg = !ledg;
appa 0:53c4ae3fbc5b 26 }
appa 0:53c4ae3fbc5b 27 void ToggleBlue()
appa 0:53c4ae3fbc5b 28 {
appa 0:53c4ae3fbc5b 29 ledb = !ledb;
appa 0:53c4ae3fbc5b 30 }
appa 0:53c4ae3fbc5b 31
appa 0:53c4ae3fbc5b 32 int main()
appa 0:53c4ae3fbc5b 33 {
appa 0:53c4ae3fbc5b 34 //ButtonA.rise(&ToggleGreen);
appa 0:53c4ae3fbc5b 35 //ButtonB.rise(&ToggleBlue);
appa 0:53c4ae3fbc5b 36 ButtonA.mode(PullUp);
appa 0:53c4ae3fbc5b 37 ButtonA.fall(&ToggleGreen);
appa 0:53c4ae3fbc5b 38 ButtonB.mode(PullUp);
appa 0:53c4ae3fbc5b 39 ButtonB.fall(&ToggleBlue);
appa 0:53c4ae3fbc5b 40
appa 0:53c4ae3fbc5b 41 while(1) {
appa 0:53c4ae3fbc5b 42
appa 0:53c4ae3fbc5b 43 AZ.printf("Hi There from Appa\r\n");
appa 0:53c4ae3fbc5b 44 RGBR = 0;
appa 0:53c4ae3fbc5b 45 AZ.printf("Random Green RGB LED\r\n");
appa 0:53c4ae3fbc5b 46 RGBG = rand() % 100;
appa 0:53c4ae3fbc5b 47 thread_sleep_for(betweenleds);
appa 0:53c4ae3fbc5b 48 RGBG = 0;
appa 0:53c4ae3fbc5b 49 AZ.printf("Random Blue RGB LED\r\n");
appa 0:53c4ae3fbc5b 50 RGBB = rand() % 100;
appa 0:53c4ae3fbc5b 51 thread_sleep_for(betweenleds);
appa 0:53c4ae3fbc5b 52 RGBB = 0;
appa 0:53c4ae3fbc5b 53 AZ.printf("Random Red RGB LED\r\n");
appa 0:53c4ae3fbc5b 54 RGBR = rand() % 100;
appa 0:53c4ae3fbc5b 55 thread_sleep_for(loopdelay);
appa 0:53c4ae3fbc5b 56 }
appa 0:53c4ae3fbc5b 57 }