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: TextLCD mbed QEI
Fork of IPS_1 by
Revision 2:38cc05580c42, committed 2017-06-13
- Comitter:
- iskenny4
- Date:
- Tue Jun 13 08:14:10 2017 +0000
- Parent:
- 1:98945fb46bcc
- Commit message:
- yeah
Changed in this revision
| QEI.lib | Show annotated file Show diff for this revision Revisions of this file |
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QEI.lib Tue Jun 13 08:14:10 2017 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/users/aberk/code/QEI/#5c2ad81551aa
--- a/main.cpp Thu May 25 08:57:03 2017 +0000
+++ b/main.cpp Tue Jun 13 08:14:10 2017 +0000
@@ -1,40 +1,40 @@
#include "mbed.h"
#include "TextLCD.h"
+#include "QEI.h"
-TextLCD lcd(PA_0,PA_1,PA_4,PB_0,PC_1,PC_0); // RS, E, D4-D7
-Serial gy25(PA_9, PA_10, 115200);
-DigitalOut rw(PA_8); // RW
+// BUTTON
+InterruptIn button(USER_BUTTON);
-int g[3];
-char rxC[8];
+// for debugging
+//Serial pc(USBTX, USBRX, 115200);
-void rxIRQ(){
- rxC[0] = gy25.getc();
- if (rxC[0] == 170) {
- for (int i = 1; i < 8; i++) {
- rxC[i] = gy25.getc();
- }
- if (rxC[7] == 85) {
- for (int i = 0, j =1; i < 3; i++, j+=2) {
- g[i] = (rxC[j]<<8 | rxC[j+1])/100;
- if (g[i] > 475)
- g[i] = g[i] - 476 + 180;
- }
- }
- }
+// ENCODER
+#define N 1000
+QEI wheel(PA_5, PA_6, PA_7, N, QEI::X4_ENCODING); // A, B, Z, pulses/revolution, mode
+
+// 2x16 LCD
+TextLCD lcd(PC_11,PC_10,PC_0,PC_3,PC_1,PC_2); // RS, E, D4-D7
+
+void pressed() {
+ lcd.printf("Button Pressed\n");
+ wheel.reset();
}
int main()
{
- gy25.format(8,SerialBase::None,1);
+ //pc.format(8,SerialBase::None,1);
+ button.fall(&pressed);
lcd.cls();
- lcd.printf("LCD work");
- wait(1);
- gy25.attach(rxIRQ, RawSerial::RxIrq);
+ lcd.locate(0,0);
+ lcd.printf("Wellcome!");
+ int p,r;
while(1) {
+ p = wheel.getPulses();
+ r = wheel.getRevolutions();
lcd.locate(0,1);
- lcd.printf("%d,%d,%d",g[0],g[1],g[2]);
- wait(0.4);
+ lcd.printf("p : %i, r : %i\n",p,r);
+ //pc.printf("p : %i, r : %i\n",p,r);
+ wait(0.1);
lcd.cls();
}
}
\ No newline at end of file
