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.
Revision 0:81601ec178b2, committed 2020-11-16
- Comitter:
- wawrzynek
- Date:
- Mon Nov 16 19:40:35 2020 +0000
- Commit message:
- Krystian Wawrzynek - projektni zadatak
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Blinker.lib Mon Nov 16 19:40:35 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/wawrzynek/code/Blinker/#fe04c98c6eef
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Mon Nov 16 19:40:35 2020 +0000
@@ -0,0 +1,90 @@
+#include "mbed.h"
+#include "Blinker.h" // !LIBRARY!
+// In this program is made turning on white, yellow and red led according to potentiometer output.
+// In case of switching the switch to ON position, red LED turns ON and blue led blinks 5 times. !HARDWARE INTERRUPT!
+// After that, red LED stays ON, while white and yellow can be switched ON or OFF according to potentiometer output.
+// When switch goes back to OFF position, blue LED blinks for 2 times and the program goes back to standard mode.
+// Internal green LED blinks every 0.2 seconds to indicate that the program is running. !TICKER!
+
+InterruptIn button(D6,PullUp); // Interrupt - switch
+AnalogIn Ain(A1); // Potentiometer input
+DigitalOut internalled(LED1); // Internal green LED
+DigitalOut whiteled(D2);
+DigitalOut yellowled(D3);
+DigitalOut redled(D4);
+BusInOut led(D2,D3,D4); // Bus with four LEDs
+Blinker blueled(D5); // !CLASS! for blinking led in case of event
+
+Ticker flipper;
+void toggle(void); // function protype - 1st interrupt !FUNCTION!
+void toggle2(void); // function protype - 2nd interrupt
+void flip() // flip function
+{
+ internalled = !internalled; // Internal LED changes its state
+}
+bool emergency = 0; // Starting position of emergency "button"
+
+int main() // Glavni program
+{
+ internalled = 0;
+ flipper.attach(&flip, 0.2); // the address of the ticker function to be attached and the interval (sec).
+
+ button.fall(&toggle); // attach the address of the toggle function to the falling edge
+ button.rise(&toggle2); // attach the address of the toggle function to the rising edge
+
+ led.output();
+ float ADCdata; // float for output from potentiometer
+
+ while (1) // loop for raising and falling temperature (potentiometer)
+ {
+ ADCdata = Ain; // Assining analog input value to float ADCdata
+ if (emergency==0) // If emergency "button" is in off position
+ { // Regular events for changing temperature of transformer
+ if(ADCdata<=0.3)// If potentiometer value is equal or less than 0.3
+ {
+ led = 0; // All LEDs are off
+ }
+ if(ADCdata>0.3) // If potentiometer value is over 0.3
+ {
+ led = 0b0001; // Switch on white (1st) LED - fans
+ }
+ if(ADCdata>0.6) // If potentiometer value is over 0.6
+ {
+ led = 0b0011; // Switch on also yellow (2nd) LED - alarm
+ }
+ if(ADCdata>0.9) // If potentiometer value is over 0.9
+ {
+ led = 0b0111; // Switch on also red (3rd) LED - trip
+ }
+ wait (0.2);
+ }
+ else // If an emergency button is in ON position (Oil Level Indicator sent signal "trip")
+ {
+ if(ADCdata<=0.3) // If potentiometer value is equal or less than 0.3
+ {
+ led = 0b0100; // Keep LEDs off except from red LED (trip)
+ }
+ if(ADCdata>0.3) // If potentiometer value is over 0.3
+ {
+ led = 0b0101; // Switch on white LED and keep red LED on
+ }
+ if(ADCdata>0.6) // If potentiometer value is over 0.6
+ {
+ led = 0b0111; // Switch on also yellow LED and keep red LED on. There is no need to make an "if" for over 0.9, because red LED is already ON.
+ }
+ }
+ }
+}
+
+void toggle() // First interrupt
+{
+ emergency = 1; // Emergency button ON
+ redled=1; // Switch on red LED
+ blueled.blink(5); // Blinking blue LED for 5 times
+ wait (1); // Hold for 1 second
+} // Interrupt is over, but the emergency button is still pushed. Red LED stays ON.
+void toggle2() // Second interrupt
+{
+ emergency = 0; // Emergency button OFF
+ blueled.blink(2); // Blinking blue LED for 2 times
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Mon Nov 16 19:40:35 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file