Use IQS62X sensor and move motor by detected angle
Dependencies: DRV8830 IQS62x IQSDisplayTerminal UIT_ACM1602NI mbed
Fork of Nucleo_ACM1602_I2C_DC by
main.cpp@0:132eb47d57fb, 2015-07-06 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Mon Jul 06 09:46:13 2015 +0000
- Revision:
- 0:132eb47d57fb
- Child:
- 1:d5e9bd9b38ad
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:132eb47d57fb | 1 | //------------------------------------------------------------ |
MikamiUitOpen | 0:132eb47d57fb | 2 | // Demo program for LCD ACM1602NI using I2C interface |
MikamiUitOpen | 0:132eb47d57fb | 3 | // Pullup resistors for SDA and SCL: 4.7 kΩ |
MikamiUitOpen | 0:132eb47d57fb | 4 | // 2015/04/16, Copyright (c) 2015 MIKAMI, Naoki |
MikamiUitOpen | 0:132eb47d57fb | 5 | //------------------------------------------------------------ |
MikamiUitOpen | 0:132eb47d57fb | 6 | |
MikamiUitOpen | 0:132eb47d57fb | 7 | #include "ACM1602NI.hpp" |
MikamiUitOpen | 0:132eb47d57fb | 8 | using namespace Mikami; |
MikamiUitOpen | 0:132eb47d57fb | 9 | |
MikamiUitOpen | 0:132eb47d57fb | 10 | Acm1602Ni lcd_; // Default, OK |
MikamiUitOpen | 0:132eb47d57fb | 11 | //Acm1602Ni lcd_(D14, D15); // OK |
MikamiUitOpen | 0:132eb47d57fb | 12 | //Acm1602Ni lcd_(D14, D15, 200000); // OK |
MikamiUitOpen | 0:132eb47d57fb | 13 | //Acm1602Ni lcd_(D14, D15, 200000, true, true); // OK |
MikamiUitOpen | 0:132eb47d57fb | 14 | //Acm1602Ni lcd_(PB_3, PB_10); // OK |
MikamiUitOpen | 0:132eb47d57fb | 15 | //Acm1602Ni lcd_(PC_9, PA_8); // OK |
MikamiUitOpen | 0:132eb47d57fb | 16 | //Acm1602Ni lcd_(PB_4, PA_8); // OK |
MikamiUitOpen | 0:132eb47d57fb | 17 | |
MikamiUitOpen | 0:132eb47d57fb | 18 | Ticker timer_; |
MikamiUitOpen | 0:132eb47d57fb | 19 | |
MikamiUitOpen | 0:132eb47d57fb | 20 | // Display elapsed time in minutes and seconds |
MikamiUitOpen | 0:132eb47d57fb | 21 | void TimerIsr() |
MikamiUitOpen | 0:132eb47d57fb | 22 | { |
MikamiUitOpen | 0:132eb47d57fb | 23 | static int k = 0; |
MikamiUitOpen | 0:132eb47d57fb | 24 | int sec = k % 60; // seconds |
MikamiUitOpen | 0:132eb47d57fb | 25 | int min = k / 60; // minits |
MikamiUitOpen | 0:132eb47d57fb | 26 | char str[20]; |
MikamiUitOpen | 0:132eb47d57fb | 27 | sprintf(str, "%d'%2d\"", min, sec); |
MikamiUitOpen | 0:132eb47d57fb | 28 | lcd_.WriteStringXY(str, 0, 1); |
MikamiUitOpen | 0:132eb47d57fb | 29 | k++; |
MikamiUitOpen | 0:132eb47d57fb | 30 | } |
MikamiUitOpen | 0:132eb47d57fb | 31 | |
MikamiUitOpen | 0:132eb47d57fb | 32 | int main() |
MikamiUitOpen | 0:132eb47d57fb | 33 | { |
MikamiUitOpen | 0:132eb47d57fb | 34 | if (lcd_.IsConnected()) printf("\r\nConnected"); |
MikamiUitOpen | 0:132eb47d57fb | 35 | else printf("\r\nDisconnected"); |
MikamiUitOpen | 0:132eb47d57fb | 36 | |
MikamiUitOpen | 0:132eb47d57fb | 37 | lcd_.WriteString("Hello World!"); |
MikamiUitOpen | 0:132eb47d57fb | 38 | |
MikamiUitOpen | 0:132eb47d57fb | 39 | TimerIsr(); |
MikamiUitOpen | 0:132eb47d57fb | 40 | timer_.attach(&TimerIsr, 1); |
MikamiUitOpen | 0:132eb47d57fb | 41 | |
MikamiUitOpen | 0:132eb47d57fb | 42 | while (true) {} |
MikamiUitOpen | 0:132eb47d57fb | 43 | } |
MikamiUitOpen | 0:132eb47d57fb | 44 |