Testing Linija
Dependencies: JoystickLinija IRremote mbed Tipkalo UniServ_linijapogona umotor_linijapogona
main.cpp@2:9d19b20a60a9, 2017-11-22 (annotated)
- Committer:
- mario_meh
- Date:
- Wed Nov 22 08:54:16 2017 +0000
- Revision:
- 2:9d19b20a60a9
- Parent:
- 0:4cac97044e74
Linija pogona
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mario_meh | 2:9d19b20a60a9 | 1 | /** Projektiranje ugradbenih računalnih sustava |
mario_meh | 2:9d19b20a60a9 | 2 | * Interakcija sa linijom |
mario_meh | 2:9d19b20a60a9 | 3 | * @author: mario_meh |
mario_meh | 2:9d19b20a60a9 | 4 | * |
mario_meh | 2:9d19b20a60a9 | 5 | */ |
mario_meh | 0:4cac97044e74 | 6 | #include "mbed.h" |
mario_meh | 2:9d19b20a60a9 | 7 | #include "tipkalo.h" |
mario_meh | 2:9d19b20a60a9 | 8 | #include "joystick.h" |
mario_meh | 0:4cac97044e74 | 9 | #include "IRremote.h" |
mario_meh | 2:9d19b20a60a9 | 10 | #include "UniServ.h" |
mario_meh | 2:9d19b20a60a9 | 11 | #include "umotor.h" |
mario_meh | 0:4cac97044e74 | 12 | |
mario_meh | 0:4cac97044e74 | 13 | Serial serial(USBTX, USBRX); // PC |
mario_meh | 2:9d19b20a60a9 | 14 | DigitalOut led(PTB19); |
mario_meh | 2:9d19b20a60a9 | 15 | IRrecv pinIn(PTB3); // IR |
mario_meh | 0:4cac97044e74 | 16 | I2C i2c(PTC9, PTC8); // SDA, SCL |
mario_meh | 0:4cac97044e74 | 17 | //Tipkalo led(PT); // LED svjetlo |
mario_meh | 2:9d19b20a60a9 | 18 | UniServ sMotor(PTB2); |
mario_meh | 2:9d19b20a60a9 | 19 | Timer t; |
mario_meh | 2:9d19b20a60a9 | 20 | Serial pc(USBTX, USBRX); // tx, rx |
mario_meh | 2:9d19b20a60a9 | 21 | |
mario_meh | 0:4cac97044e74 | 22 | |
mario_meh | 0:4cac97044e74 | 23 | const int addr = 0x0A; |
mario_meh | 2:9d19b20a60a9 | 24 | char remote[4]; |
mario_meh | 0:4cac97044e74 | 25 | |
mario_meh | 0:4cac97044e74 | 26 | int main() { |
mario_meh | 2:9d19b20a60a9 | 27 | |
mario_meh | 0:4cac97044e74 | 28 | //--------------------------------------------------tipke pogona |
mario_meh | 2:9d19b20a60a9 | 29 | Tipkalo *bTipka = new Tipkalo(); |
mario_meh | 0:4cac97044e74 | 30 | |
mario_meh | 0:4cac97044e74 | 31 | //--------------------------------------------------IR argumenti |
mario_meh | 2:9d19b20a60a9 | 32 | |
mario_meh | 2:9d19b20a60a9 | 33 | //--------------------------------------------------Provjera Servo C90 |
mario_meh | 2:9d19b20a60a9 | 34 | t.start(); |
mario_meh | 2:9d19b20a60a9 | 35 | sMotor.write_us(2000); |
mario_meh | 2:9d19b20a60a9 | 36 | t.stop(); |
mario_meh | 2:9d19b20a60a9 | 37 | pc.printf("%f\n\r", t.read()); |
mario_meh | 2:9d19b20a60a9 | 38 | wait_ms(1000); |
mario_meh | 2:9d19b20a60a9 | 39 | t.reset(); |
mario_meh | 2:9d19b20a60a9 | 40 | t.start(); |
mario_meh | 2:9d19b20a60a9 | 41 | sMotor.write_us(0); |
mario_meh | 2:9d19b20a60a9 | 42 | t.stop(); |
mario_meh | 2:9d19b20a60a9 | 43 | pc.printf("%f\n\r", t.read()); |
mario_meh | 2:9d19b20a60a9 | 44 | wait_ms(1000); |
mario_meh | 2:9d19b20a60a9 | 45 | t.reset(); |
mario_meh | 2:9d19b20a60a9 | 46 | t.start(); |
mario_meh | 2:9d19b20a60a9 | 47 | sMotor.write_us(3000); |
mario_meh | 2:9d19b20a60a9 | 48 | t.stop(); |
mario_meh | 2:9d19b20a60a9 | 49 | pc.printf("%f\n\r", t.read()); |
mario_meh | 2:9d19b20a60a9 | 50 | wait_ms(1000); |
mario_meh | 2:9d19b20a60a9 | 51 | t.reset(); |
mario_meh | 2:9d19b20a60a9 | 52 | t.start(); |
mario_meh | 2:9d19b20a60a9 | 53 | sMotor.write_us(1000); |
mario_meh | 2:9d19b20a60a9 | 54 | t.stop(); |
mario_meh | 2:9d19b20a60a9 | 55 | pc.printf("%f\n\r", t.read()); |
mario_meh | 2:9d19b20a60a9 | 56 | wait_ms(1000); |
mario_meh | 2:9d19b20a60a9 | 57 | sMotor.Disable(); |
mario_meh | 2:9d19b20a60a9 | 58 | //-------------------------------------------------Gotovo Provjera Servo C90 |
mario_meh | 2:9d19b20a60a9 | 59 | |
mario_meh | 2:9d19b20a60a9 | 60 | //--------------------------------------------------Unipolarni steper |
mario_meh | 2:9d19b20a60a9 | 61 | Steper *unipolar = new Steper(); |
mario_meh | 2:9d19b20a60a9 | 62 | |
mario_meh | 2:9d19b20a60a9 | 63 | unipolar->u_poz.u_krenuo = 1; // Treba biti 1(0) |
mario_meh | 2:9d19b20a60a9 | 64 | unipolar->u_poz.u_stao = 0; // Treba biti 0(1) |
mario_meh | 2:9d19b20a60a9 | 65 | unipolar->Brzina(4000); // < brzina = brze i krace |
mario_meh | 2:9d19b20a60a9 | 66 | unipolar->UEnable(); // Pokreni umotor |
mario_meh | 2:9d19b20a60a9 | 67 | //--------------------------------------------------Gotovo Unipolarni steper |
mario_meh | 2:9d19b20a60a9 | 68 | |
mario_meh | 2:9d19b20a60a9 | 69 | //-------------------------------------------------- IR Receiver |
mario_meh | 0:4cac97044e74 | 70 | pinIn.enableIRIn(); // Start the receiver |
mario_meh | 0:4cac97044e74 | 71 | decode_results results; |
mario_meh | 0:4cac97044e74 | 72 | |
mario_meh | 0:4cac97044e74 | 73 | int IR_REMOTE = 1; |
mario_meh | 0:4cac97044e74 | 74 | |
mario_meh | 0:4cac97044e74 | 75 | while(IR_REMOTE == 1) { |
mario_meh | 0:4cac97044e74 | 76 | if (pinIn.decode(&results)) { |
mario_meh | 0:4cac97044e74 | 77 | uint32_t value = results.value; |
mario_meh | 0:4cac97044e74 | 78 | remote[0] = (value); |
mario_meh | 0:4cac97044e74 | 79 | remote[1] = (value) >> 8; |
mario_meh | 0:4cac97044e74 | 80 | remote[2] = (value) >> 16; |
mario_meh | 0:4cac97044e74 | 81 | remote[3] = (value) >> 24; |
mario_meh | 0:4cac97044e74 | 82 | |
mario_meh | 0:4cac97044e74 | 83 | i2c.write(addr,remote, 4); |
mario_meh | 0:4cac97044e74 | 84 | pinIn.resume(); // Receive the next value |
mario_meh | 0:4cac97044e74 | 85 | } |
mario_meh | 0:4cac97044e74 | 86 | wait(0.1); |
mario_meh | 0:4cac97044e74 | 87 | } |
mario_meh | 0:4cac97044e74 | 88 | //-----------------------------------------------------gotov iR |
mario_meh | 0:4cac97044e74 | 89 | |
mario_meh | 0:4cac97044e74 | 90 | //------------------------------------------isprobavam joystick |
mario_meh | 0:4cac97044e74 | 91 | // Pozovi Joystick |
mario_meh | 0:4cac97044e74 | 92 | |
mario_meh | 2:9d19b20a60a9 | 93 | JoysKompas *data = new JoysKompas; |
mario_meh | 2:9d19b20a60a9 | 94 | Joystick *joys = new Joystick(data); |
mario_meh | 2:9d19b20a60a9 | 95 | joys->YEnable(); |
mario_meh | 2:9d19b20a60a9 | 96 | |
mario_meh | 2:9d19b20a60a9 | 97 | while(1) { |
mario_meh | 2:9d19b20a60a9 | 98 | switch(data->vertikala) { |
mario_meh | 0:4cac97044e74 | 99 | case 0: |
mario_meh | 2:9d19b20a60a9 | 100 | serial.printf("Gore: %i\r\n", data->vertikala); |
mario_meh | 0:4cac97044e74 | 101 | break; |
mario_meh | 0:4cac97044e74 | 102 | case 1: |
mario_meh | 2:9d19b20a60a9 | 103 | serial.printf("Dolje: %i\r\n", data->vertikala); |
mario_meh | 0:4cac97044e74 | 104 | break; |
mario_meh | 2:9d19b20a60a9 | 105 | } |
mario_meh | 2:9d19b20a60a9 | 106 | |
mario_meh | 0:4cac97044e74 | 107 | } |
mario_meh | 2:9d19b20a60a9 | 108 | |
mario_meh | 0:4cac97044e74 | 109 | //----------------------------------------------gotov joystick |
mario_meh | 0:4cac97044e74 | 110 | |
mario_meh | 0:4cac97044e74 | 111 | //-----------------------------------------------------svjetlo |
mario_meh | 0:4cac97044e74 | 112 | //led = 1; |
mario_meh | 0:4cac97044e74 | 113 | //-------------------------------------------------end svjetlo |
mario_meh | 0:4cac97044e74 | 114 | |
mario_meh | 2:9d19b20a60a9 | 115 | } |