rtos ile keypad, servo, step ve lcd ekran kontrolu

Dependencies:   beep TextLCD keypad

Committer:
marvas
Date:
Mon May 06 10:32:55 2019 +0000
Revision:
0:2680050cef72
rtos ile keypad, servo, step ve lcd ekran kontrolu

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marvas 0:2680050cef72 1 #include "mbed.h"
marvas 0:2680050cef72 2
marvas 0:2680050cef72 3 #include "TextLCD.h"
marvas 0:2680050cef72 4 #include <iostream>//cin ve cout
marvas 0:2680050cef72 5 #include "beep.h"
marvas 0:2680050cef72 6 #include "Keypad.h"
marvas 0:2680050cef72 7 char x;
marvas 0:2680050cef72 8 TextLCD lcd(D7, D6, D5, D4, D3, D2); // rs, e, d4-d7
marvas 0:2680050cef72 9 // Define your own keypad values
marvas 0:2680050cef72 10 char key_table[] = { '1', '2', '3', 'A',
marvas 0:2680050cef72 11 '4', '5', '6', 'B',
marvas 0:2680050cef72 12 '7', '8', '9', 'C',
marvas 0:2680050cef72 13 '*', '0', '#', 'D'
marvas 0:2680050cef72 14 };
marvas 0:2680050cef72 15
marvas 0:2680050cef72 16
marvas 0:2680050cef72 17 Beep buzzer(A0);
marvas 0:2680050cef72 18
marvas 0:2680050cef72 19 BusOut step(D8,D9,D10,D11);
marvas 0:2680050cef72 20 DigitalOut servo(D12);
marvas 0:2680050cef72 21 Serial pc(USBTX,USBRX);
marvas 0:2680050cef72 22 DigitalOut led(LED1);
marvas 0:2680050cef72 23 void servometot();
marvas 0:2680050cef72 24 void stepmetot();
marvas 0:2680050cef72 25 void lcdmetot();
marvas 0:2680050cef72 26 Thread servomotor,stepmotor,lcdekran;
marvas 0:2680050cef72 27
marvas 0:2680050cef72 28
marvas 0:2680050cef72 29 int main()
marvas 0:2680050cef72 30 {
marvas 0:2680050cef72 31 Keypad key(PC_4, PB_13, PB_14, PB_15, PB_1, PB_2, PB_12, PA_11);
marvas 0:2680050cef72 32 //satır 4321 sutun 4321
marvas 0:2680050cef72 33 uint32_t key_num;
marvas 0:2680050cef72 34 servomotor.start(servometot);
marvas 0:2680050cef72 35 stepmotor.start(stepmetot);
marvas 0:2680050cef72 36 lcdekran.start(lcdmetot);
marvas 0:2680050cef72 37 while(true) {
marvas 0:2680050cef72 38 while ((key_num = key.read()) != 0) {
marvas 0:2680050cef72 39 lcd.locate(0,1);
marvas 0:2680050cef72 40 lcd.printf("%c", *(key_table + key_num-1));
marvas 0:2680050cef72 41 printf("%c\n", *(key_table + key_num-1));
marvas 0:2680050cef72 42 }
marvas 0:2680050cef72 43 wait(0.1);
marvas 0:2680050cef72 44 }
marvas 0:2680050cef72 45 }
marvas 0:2680050cef72 46 void servometot()
marvas 0:2680050cef72 47 {
marvas 0:2680050cef72 48 while(1) {
marvas 0:2680050cef72 49 for(uint8_t x=0; x<5; x++) {
marvas 0:2680050cef72 50 servo=1;
marvas 0:2680050cef72 51 wait_ms(1.5);
marvas 0:2680050cef72 52 servo=0;
marvas 0:2680050cef72 53 wait_ms(18.5);
marvas 0:2680050cef72 54 }
marvas 0:2680050cef72 55 wait(1);
marvas 0:2680050cef72 56 for(uint8_t x=0; x<5; x++) {
marvas 0:2680050cef72 57 servo=1;
marvas 0:2680050cef72 58 wait_ms(1);
marvas 0:2680050cef72 59 servo=0;
marvas 0:2680050cef72 60 wait_ms(19);
marvas 0:2680050cef72 61 }
marvas 0:2680050cef72 62 wait(1);
marvas 0:2680050cef72 63 for(uint8_t x=0; x<10; x++) {
marvas 0:2680050cef72 64 servo=1;
marvas 0:2680050cef72 65 wait_ms(2);
marvas 0:2680050cef72 66 servo=0;
marvas 0:2680050cef72 67 wait_ms(18);
marvas 0:2680050cef72 68 }
marvas 0:2680050cef72 69 wait(1);
marvas 0:2680050cef72 70 }
marvas 0:2680050cef72 71
marvas 0:2680050cef72 72 }
marvas 0:2680050cef72 73
marvas 0:2680050cef72 74
marvas 0:2680050cef72 75 void stepmetot()
marvas 0:2680050cef72 76 {
marvas 0:2680050cef72 77 step=0x0;
marvas 0:2680050cef72 78 while(1) {
marvas 0:2680050cef72 79
marvas 0:2680050cef72 80 step=0x8;
marvas 0:2680050cef72 81 wait_ms(1);
marvas 0:2680050cef72 82 step=0x4;
marvas 0:2680050cef72 83 wait_ms(1);
marvas 0:2680050cef72 84 step=0x2;
marvas 0:2680050cef72 85 wait_ms(1);
marvas 0:2680050cef72 86 step=0x1;
marvas 0:2680050cef72 87 wait_ms(1);
marvas 0:2680050cef72 88 }
marvas 0:2680050cef72 89 }
marvas 0:2680050cef72 90 void lcdmetot()
marvas 0:2680050cef72 91 {
marvas 0:2680050cef72 92 // bool y=0;
marvas 0:2680050cef72 93 while(1) {
marvas 0:2680050cef72 94
marvas 0:2680050cef72 95 for(uint8_t x=0; x<11; x++) {
marvas 0:2680050cef72 96
marvas 0:2680050cef72 97 lcd.locate(x-1,0);
marvas 0:2680050cef72 98 lcd.printf(" ");
marvas 0:2680050cef72 99 lcd.locate(x,0);
marvas 0:2680050cef72 100 lcd.printf("mehmet");
marvas 0:2680050cef72 101 wait_ms(200);
marvas 0:2680050cef72 102 }
marvas 0:2680050cef72 103 for(uint8_t x=0; x<16; x++) {
marvas 0:2680050cef72 104
marvas 0:2680050cef72 105 lcd.locate(x,0);
marvas 0:2680050cef72 106 lcd.printf(" ");
marvas 0:2680050cef72 107 }
marvas 0:2680050cef72 108 // y=!y;
marvas 0:2680050cef72 109
marvas 0:2680050cef72 110 }
marvas 0:2680050cef72 111 }