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
Fork of AnalogInterrupt by
main.cpp@0:db459a4b2e6b, 2017-08-12 (annotated)
- 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?
| User | Revision | Line number | New 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 |
