Vincent Ceyssens
/
4180_final_encoder
This is the encoder code
main.cpp@0:ddf6b258e38a, 2017-04-30 (annotated)
- Committer:
- vceyssens3
- Date:
- Sun Apr 30 23:48:27 2017 +0000
- Revision:
- 0:ddf6b258e38a
This is encoder code;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vceyssens3 | 0:ddf6b258e38a | 1 | #include "mbed.h" |
vceyssens3 | 0:ddf6b258e38a | 2 | |
vceyssens3 | 0:ddf6b258e38a | 3 | DigitalOut myled(LED1); |
vceyssens3 | 0:ddf6b258e38a | 4 | InterruptIn encoder(p15); |
vceyssens3 | 0:ddf6b258e38a | 5 | Serial pc(USBTX, USBRX); |
vceyssens3 | 0:ddf6b258e38a | 6 | int ticker; |
vceyssens3 | 0:ddf6b258e38a | 7 | |
vceyssens3 | 0:ddf6b258e38a | 8 | void ticker_func() |
vceyssens3 | 0:ddf6b258e38a | 9 | { |
vceyssens3 | 0:ddf6b258e38a | 10 | ticker++; |
vceyssens3 | 0:ddf6b258e38a | 11 | |
vceyssens3 | 0:ddf6b258e38a | 12 | } |
vceyssens3 | 0:ddf6b258e38a | 13 | int main() { |
vceyssens3 | 0:ddf6b258e38a | 14 | |
vceyssens3 | 0:ddf6b258e38a | 15 | encoder.mode(PullUp); |
vceyssens3 | 0:ddf6b258e38a | 16 | encoder.fall(&ticker_func); |
vceyssens3 | 0:ddf6b258e38a | 17 | encoder.rise(&ticker_func); |
vceyssens3 | 0:ddf6b258e38a | 18 | double distance = 0; |
vceyssens3 | 0:ddf6b258e38a | 19 | |
vceyssens3 | 0:ddf6b258e38a | 20 | while(1) { |
vceyssens3 | 0:ddf6b258e38a | 21 | myled=encoder; |
vceyssens3 | 0:ddf6b258e38a | 22 | distance = double(ticker)*2.5/12; |
vceyssens3 | 0:ddf6b258e38a | 23 | pc.printf("\r\n distance covered '%i'", ticker); |
vceyssens3 | 0:ddf6b258e38a | 24 | wait(1); |
vceyssens3 | 0:ddf6b258e38a | 25 | |
vceyssens3 | 0:ddf6b258e38a | 26 | } |
vceyssens3 | 0:ddf6b258e38a | 27 | } |