MSOE EE2905 / Mbed 2 deprecated AnalogInterrupt

Dependencies:   mbed

Fork of AnalogInterrupt by Sheila Ross

Committer:
rossatmsoe
Date:
Sat Aug 12 21:40:42 2017 +0000
Revision:
0:db459a4b2e6b
Initial version of AnalogInterrupt program for MSOE EE2905

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rossatmsoe 0:db459a4b2e6b 1 /*
rossatmsoe 0:db459a4b2e6b 2 AnalogInterrupt
rossatmsoe 0:db459a4b2e6b 3
rossatmsoe 0:db459a4b2e6b 4
rossatmsoe 0:db459a4b2e6b 5 The circuit:
rossatmsoe 0:db459a4b2e6b 6 * Three analog comparators
rossatmsoe 0:db459a4b2e6b 7 * photoresistor from comparator + inputs to +3.3V
rossatmsoe 0:db459a4b2e6b 8 * 10K resistor from comparator + inputs to ground
rossatmsoe 0:db459a4b2e6b 9 * Four resistors (1K or more) in series from ground to +3.3V
rossatmsoe 0:db459a4b2e6b 10 * Junction of each resistor to a single comparator - input
rossatmsoe 0:db459a4b2e6b 11 * Outputs of comparators to digital pins D2, D3, D4
rossatmsoe 0:db459a4b2e6b 12
rossatmsoe 0:db459a4b2e6b 13 created 1 Jul 2009
rossatmsoe 0:db459a4b2e6b 14 modified 9 Apr 2012
rossatmsoe 0:db459a4b2e6b 15 by Tom Igoe
rossatmsoe 0:db459a4b2e6b 16
rossatmsoe 0:db459a4b2e6b 17 modified for Nucleo / mbed 12 Aug 2017
rossatmsoe 0:db459a4b2e6b 18 by Sheila Ross
rossatmsoe 0:db459a4b2e6b 19
rossatmsoe 0:db459a4b2e6b 20 This example code is in the public domain.
rossatmsoe 0:db459a4b2e6b 21
rossatmsoe 0:db459a4b2e6b 22 */
rossatmsoe 0:db459a4b2e6b 23
rossatmsoe 0:db459a4b2e6b 24
rossatmsoe 0:db459a4b2e6b 25 #include "mbed.h"
rossatmsoe 0:db459a4b2e6b 26
rossatmsoe 0:db459a4b2e6b 27
rossatmsoe 0:db459a4b2e6b 28 // Define the interrupt pins
rossatmsoe 0:db459a4b2e6b 29 InterruptIn dark_dim(D2);
rossatmsoe 0:db459a4b2e6b 30 InterruptIn dim_medium(D3);
rossatmsoe 0:db459a4b2e6b 31 InterruptIn medium_bright(D4);
rossatmsoe 0:db459a4b2e6b 32
rossatmsoe 0:db459a4b2e6b 33 // Create a serial connection over our USB
rossatmsoe 0:db459a4b2e6b 34 Serial pc(USBTX, USBRX);
rossatmsoe 0:db459a4b2e6b 35
rossatmsoe 0:db459a4b2e6b 36 void dark();
rossatmsoe 0:db459a4b2e6b 37 void dim();
rossatmsoe 0:db459a4b2e6b 38 void medium();
rossatmsoe 0:db459a4b2e6b 39 void bright();
rossatmsoe 0:db459a4b2e6b 40
rossatmsoe 0:db459a4b2e6b 41 int main() {
rossatmsoe 0:db459a4b2e6b 42
rossatmsoe 0:db459a4b2e6b 43 pc.baud(9600); // Set serial communication speed
rossatmsoe 0:db459a4b2e6b 44 dark_dim.fall(&dark);
rossatmsoe 0:db459a4b2e6b 45 dark_dim.rise(&dim);
rossatmsoe 0:db459a4b2e6b 46 dim_medium.fall(&dim);
rossatmsoe 0:db459a4b2e6b 47 dim_medium.rise(&medium);
rossatmsoe 0:db459a4b2e6b 48 medium_bright.fall(&medium);
rossatmsoe 0:db459a4b2e6b 49 medium_bright.rise(&bright);
rossatmsoe 0:db459a4b2e6b 50
rossatmsoe 0:db459a4b2e6b 51 while(1) {
rossatmsoe 0:db459a4b2e6b 52 wait(1);
rossatmsoe 0:db459a4b2e6b 53
rossatmsoe 0:db459a4b2e6b 54 }
rossatmsoe 0:db459a4b2e6b 55 }
rossatmsoe 0:db459a4b2e6b 56
rossatmsoe 0:db459a4b2e6b 57 void dark() {
rossatmsoe 0:db459a4b2e6b 58 pc.printf("dark\n");
rossatmsoe 0:db459a4b2e6b 59 }
rossatmsoe 0:db459a4b2e6b 60
rossatmsoe 0:db459a4b2e6b 61 void dim() {
rossatmsoe 0:db459a4b2e6b 62 pc.printf("dim\n");
rossatmsoe 0:db459a4b2e6b 63 }
rossatmsoe 0:db459a4b2e6b 64
rossatmsoe 0:db459a4b2e6b 65 void medium() {
rossatmsoe 0:db459a4b2e6b 66 pc.printf("medium\n");
rossatmsoe 0:db459a4b2e6b 67 }
rossatmsoe 0:db459a4b2e6b 68
rossatmsoe 0:db459a4b2e6b 69 void bright() {
rossatmsoe 0:db459a4b2e6b 70 pc.printf("bright\n");
rossatmsoe 0:db459a4b2e6b 71 }
rossatmsoe 0:db459a4b2e6b 72
rossatmsoe 0:db459a4b2e6b 73
rossatmsoe 0:db459a4b2e6b 74
rossatmsoe 0:db459a4b2e6b 75