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.
Dependencies: mbed
Diff: main.cpp
- Revision:
- 0:33e3deecd2b1
- Child:
- 1:67ff37605839
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Tue Mar 17 10:10:05 2015 +0000
@@ -0,0 +1,181 @@
+#include "mbed.h"
+Serial pc(USBTX, USBRX);
+
+DigitalOut transistor1(p21);
+DigitalOut transistor2(p22);
+DigitalOut transistor3(p23);
+DigitalOut transistor1LED(LED1);
+DigitalOut transistor2LED(LED2);
+DigitalOut transistor3LED(LED3);
+AnalogIn batteriPort(p20);
+
+enum {startet, test1, test2, test3, tomtBatteri} systemstatus;
+
+Ticker testNR3;
+
+void test3funksjon();
+void lesTegn(void);
+void kommandoTolker(char kommando);
+void Test1(int verdi);
+void Test2 (int verdi);
+void Test3 (int verdi);
+//void Status-batteri (int verdi);
+void Resett();
+void Stopp();
+
+
+
+int main()
+{
+ pc.attach(&lesTegn);
+
+ systemstatus = startet;
+ float batterinivaa[10] = {2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5};
+ int index = 0;
+ float batterisnitt;
+
+ while(1) {
+
+ batterinivaa[index] = batteriPort.read() * 3.3;
+ batterisnitt = 0;
+ for (int i = 0; i < 10; i++)
+ {
+ batterisnitt += batterinivaa[i];
+ }
+ batterisnitt = batterisnitt / 10;
+ if (index == 9)
+ index = 0;
+ else
+ index++;
+
+ if (batterisnitt <= 1.8)
+ {
+ printf("Batterinivaa for lavt. Avslutter testing\n\r");
+ Stopp();
+ systemstatus = tomtBatteri; //egentlig unødvendig repetisjon av komando i void Stopp()
+ }
+ wait(0.5);
+ }
+}
+
+void lesTegn(void)
+{
+ char s = pc.getc();
+ kommandoTolker(s);
+}
+
+void kommandoTolker(char kommando)
+
+{
+ if(kommando == 'b'||kommando=='B') {
+ printf("B ble skrevet inn\n\r");
+ printf("Status-bateri: %f\n\r", batteriPort.read()*3.3);
+
+ } else if(kommando == 'h'|| kommando == 'H') {
+ printf("Hjelp:\n\r");
+ printf("Skriv inn tall fra 1-3 for tester.\n\r");
+ printf("Skriv inn R eller r for aa resette anlegget.\n\r");
+ printf("Skriv inn B eller b for aa faa batter-status.\n\r");
+ printf("H ble skrevet inn\n\r");
+
+ }
+
+ else if(kommando == '1')
+ {
+ if (systemstatus == startet) {
+ printf("Test 1 startet\n\r");
+ Test1(1);
+ systemstatus = test1;
+ }
+ else if (systemstatus == tomtBatteri)
+ printf("Batteriet har for lite strom til aa utfore en test\n\r");
+ else
+ printf("En test paagaar allerede\n\r");
+ }
+
+ else if(kommando =='2')
+ {
+ if (systemstatus == startet) {
+ printf("Test 2 startet\n\r");
+ Test2(1);
+ systemstatus = test2;
+ }
+ else if (systemstatus == tomtBatteri)
+ printf("Batteriet har for lite strom til aa utfore en test\n\r");
+ else
+ printf("En test paagaar allerede\n\r");
+ }
+
+ else if(kommando =='3')
+ {
+ if (systemstatus == startet)
+ {
+ printf("Test 3 startet\n\r");
+ Test3(1);
+ systemstatus = test3;
+ }
+ else if (systemstatus == tomtBatteri)
+ printf("Batteriet har for lite strom til aa utfore en test\n\r");
+ else
+ printf("En test paagaar allerede\n\r");
+ }
+
+ else if(kommando=='r'||kommando=='R') {
+ printf("Anlegger blir naa resatt\n\r");
+ Resett();
+
+ } else
+ printf ("Ugyldig komando: trykk \"h\" for hjelp\n\r");
+}
+
+void Resett()
+{
+ systemstatus = startet;
+ transistor1 = 0;
+ transistor1LED = 0;
+ transistor2 = 0;
+ transistor2LED = 0;
+ transistor3 = 0;
+ transistor3LED = 0;
+ testNR3.detach();
+}
+
+void Stopp()
+{
+ systemstatus = tomtBatteri;
+ transistor1 = 0;
+ transistor1LED = 0;
+ transistor2 = 0;
+ transistor2LED = 0;
+ transistor3 = 0;
+ transistor3LED = 0;
+}
+
+void Test1(int verdi)
+{
+ transistor1LED = verdi;
+ transistor1 = verdi;
+}
+void Test2 (int verdi)
+{
+ transistor2LED = verdi;
+ transistor2 = verdi;
+}
+
+void Test3 (int verdi)
+{
+ testNR3.attach(&test3funksjon, 2.0);
+}
+
+void test3funksjon ()
+{
+
+ transistor3LED = !transistor3LED;
+ transistor1 = !transistor1;
+ transistor2 = !transistor2;
+ transistor3 = !transistor3;
+}
+
+
+
+