mag niet van hendrik D:

Dependencies:   mbed MatrixMath QEI HIDScope Matrix biquadFilter MODSERIAL FastPWM

Committer:
Hendrikvg
Date:
Fri Sep 20 09:43:53 2019 +0000
Revision:
12:6aabdca32aee
Parent:
11:008c8060e640
Child:
13:6c9e9d2cf9cd
L3: Assignment 2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Hendrikvg 9:12b9865e7373 1 #include "mbed.h"
Hendrikvg 10:3a3d6373b41c 2 #include "HIDScope.h"
Hendrikvg 9:12b9865e7373 3
Hendrikvg 9:12b9865e7373 4 Serial pc(USBTX,USBRX);
Hendrikvg 11:008c8060e640 5 HIDScope scope(4);
Hendrikvg 10:3a3d6373b41c 6 Ticker AInTicker;
Hendrikvg 9:12b9865e7373 7 InterruptIn BUT1(D1);
Hendrikvg 9:12b9865e7373 8 PwmOut lichtje(D3);
Hendrikvg 9:12b9865e7373 9 AnalogIn ain(A0);
Hendrikvg 11:008c8060e640 10 AnalogIn bin(A1);
RobertoO 0:67c50348f842 11
Hendrikvg 9:12b9865e7373 12 float getal;
Hendrikvg 9:12b9865e7373 13 int n=5;
Hendrikvg 2:d9b0ebf3fcca 14
Hendrikvg 10:3a3d6373b41c 15 volatile float x;
Hendrikvg 10:3a3d6373b41c 16 volatile float x_prev=0;
Hendrikvg 10:3a3d6373b41c 17 volatile float y;
Hendrikvg 11:008c8060e640 18 volatile float xb;
Hendrikvg 11:008c8060e640 19 volatile float xb_prev=0;
Hendrikvg 11:008c8060e640 20 volatile float yb;
Hendrikvg 10:3a3d6373b41c 21
Hendrikvg 10:3a3d6373b41c 22 void ReadAnalogInAndFilter()
Hendrikvg 10:3a3d6373b41c 23 {
Hendrikvg 10:3a3d6373b41c 24 x = ain; // Capture data
Hendrikvg 10:3a3d6373b41c 25 scope.set(0, x); // store data in first element of scope memory
Hendrikvg 10:3a3d6373b41c 26 y = (x_prev+ x)/2.0; // averaging
Hendrikvg 10:3a3d6373b41c 27 scope.set(1, y);// store data in second element of scope memory filter
Hendrikvg 10:3a3d6373b41c 28 x_prev= x; // Prepare for next round
Hendrikvg 10:3a3d6373b41c 29
Hendrikvg 11:008c8060e640 30 xb = bin; // Capture data
Hendrikvg 11:008c8060e640 31 scope.set(2, xb); // store data in first element of scope memory
Hendrikvg 11:008c8060e640 32 yb= (xb_prev+ xb)/2.0; // averaging
Hendrikvg 11:008c8060e640 33 scope.set(3, yb);// store data in second element of scope memory filter
Hendrikvg 11:008c8060e640 34 xb_prev= xb; // Prepare for next round
Hendrikvg 11:008c8060e640 35
Hendrikvg 10:3a3d6373b41c 36 scope.send(); // send what's in scope memory to PC
Hendrikvg 10:3a3d6373b41c 37 }
Hendrikvg 10:3a3d6373b41c 38
Hendrikvg 9:12b9865e7373 39 void plus()
Hendrikvg 9:12b9865e7373 40 {
Hendrikvg 9:12b9865e7373 41 n++; // n=n+1
Hendrikvg 10:3a3d6373b41c 42 if (n>10) {
Hendrikvg 9:12b9865e7373 43 n=10;
Hendrikvg 9:12b9865e7373 44 }
Hendrikvg 10:3a3d6373b41c 45 }
Hendrikvg 10:3a3d6373b41c 46
Hendrikvg 9:12b9865e7373 47 void min()
Hendrikvg 8:d1794f225fff 48 {
Hendrikvg 9:12b9865e7373 49 n--;
Hendrikvg 10:3a3d6373b41c 50 if (n<0) {
Hendrikvg 9:12b9865e7373 51 n=0;
Hendrikvg 7:d307e31f7391 52 }
Hendrikvg 10:3a3d6373b41c 53 }
Hendrikvg 7:d307e31f7391 54
Hendrikvg 9:12b9865e7373 55 int main() {
RobertoO 0:67c50348f842 56 pc.baud(115200);
Hendrikvg 9:12b9865e7373 57 lichtje=1;
Hendrikvg 12:6aabdca32aee 58 pc.printf("Maak me dood svp\n\r");
Hendrikvg 10:3a3d6373b41c 59 AInTicker.attach(&ReadAnalogInAndFilter, 0.01);
Hendrikvg 12:6aabdca32aee 60 while(true)
Hendrikvg 9:12b9865e7373 61 {
Hendrikvg 10:3a3d6373b41c 62
Hendrikvg 9:12b9865e7373 63 }
Hendrikvg 2:d9b0ebf3fcca 64 }