![](/media/cache/group/mehmet_akif_arvas.jpg.50x50_q85.jpg)
rtos ile keypad, servo, step ve lcd ekran kontrolu
Dependencies: beep TextLCD keypad
main.cpp
- Committer:
- marvas
- Date:
- 2019-05-06
- Revision:
- 0:2680050cef72
File content as of revision 0:2680050cef72:
#include "mbed.h" #include "TextLCD.h" #include <iostream>//cin ve cout #include "beep.h" #include "Keypad.h" char x; TextLCD lcd(D7, D6, D5, D4, D3, D2); // rs, e, d4-d7 // Define your own keypad values char key_table[] = { '1', '2', '3', 'A', '4', '5', '6', 'B', '7', '8', '9', 'C', '*', '0', '#', 'D' }; Beep buzzer(A0); BusOut step(D8,D9,D10,D11); DigitalOut servo(D12); Serial pc(USBTX,USBRX); DigitalOut led(LED1); void servometot(); void stepmetot(); void lcdmetot(); Thread servomotor,stepmotor,lcdekran; int main() { Keypad key(PC_4, PB_13, PB_14, PB_15, PB_1, PB_2, PB_12, PA_11); //satır 4321 sutun 4321 uint32_t key_num; servomotor.start(servometot); stepmotor.start(stepmetot); lcdekran.start(lcdmetot); while(true) { while ((key_num = key.read()) != 0) { lcd.locate(0,1); lcd.printf("%c", *(key_table + key_num-1)); printf("%c\n", *(key_table + key_num-1)); } wait(0.1); } } void servometot() { while(1) { for(uint8_t x=0; x<5; x++) { servo=1; wait_ms(1.5); servo=0; wait_ms(18.5); } wait(1); for(uint8_t x=0; x<5; x++) { servo=1; wait_ms(1); servo=0; wait_ms(19); } wait(1); for(uint8_t x=0; x<10; x++) { servo=1; wait_ms(2); servo=0; wait_ms(18); } wait(1); } } void stepmetot() { step=0x0; while(1) { step=0x8; wait_ms(1); step=0x4; wait_ms(1); step=0x2; wait_ms(1); step=0x1; wait_ms(1); } } void lcdmetot() { // bool y=0; while(1) { for(uint8_t x=0; x<11; x++) { lcd.locate(x-1,0); lcd.printf(" "); lcd.locate(x,0); lcd.printf("mehmet"); wait_ms(200); } for(uint8_t x=0; x<16; x++) { lcd.locate(x,0); lcd.printf(" "); } // y=!y; } }