SPY-RT SOFTWARE

HARDWARE  x  SOFTWARE

 

A tecnologia digital possibilita uma visão mais ampla no desenvolvimento de sistemas.

É possível escolher entre projetar um hardware mais complexo e um software mais simples ou o contrário, isto é , um hardware mais simples e um software mais complexo. Esta segunda opção é a tendência.

Sempre que possível é melhor desenvolver um HARDWARE mais simples e compensar com um SOFTWARE mais sofisticado.

Em muitos casos é possível desenvolver um equipamento apenas usando software. Muito interessante.

_________________________________________________________________________________________________________________________________

_________________________________________________________________________________________________________________________________

 

Software de controle do ROBÔ SPY-RT

_________________________________________________________________________________________________________________________________

_________________________________________________________________________________________________________________________________

 

 

SPY-RT

 

DIR

                            "posicionamento do sensor Ultrassom"

USV0

    « LULS 200

      IF Š

      THEN LC1 LC2

LC6 LC14 USV1 RSG

      END

    »

 

  MGL5                             " Programa de fototropismo"

    « USHZ USV1

USV0

    »

  LU1 { 1.27 2.14

2.55 2.55 2.33 1.68     "Dados armazenados em matriz"

2.34 2.55 2.4 2.22

1.56 2.04 2.13 2.18

2.55 }

 

 

 

  MGL4                                "fototropismo"

    « RSG LC1 LC2

LC3 LC8 ERASE 1 15

      FOR Z LULS

100 / 'V' STO 0 0

RC Z .261 * COS V

* Z .261 * SIN V *

RC LINE { # 0d

# 0d } PVIEW 7

FREEZE LC8 LULS 100

/  NEXT 15 LIST

'LU1' STO LC1 LC2

    »

  TNR .214392544593

 

 

  USHR                         "posicionamento sensor Ultrassom"

 

    « RSG USV2 MVR

USV2 MVR USV2 LC6

LC14 LC8 LC1 LC2

MGL5 5 WAIT DC6 LC5

10 WAIT DC5 DC8

DC14 USHR

    »

  MVR

    « RAND 'TNR'

STO

      IF 'TNR‰.5'

      THEN MVE

      ELSE MVD

      END

    »

 

  USVL

    « LPOT 'POT'

STO

      WHILE 'POTŠ97

'

      REPEAT LMT

LPOT 'POT' STO

      END LULS

    »

 

  USHZ

    « LPOT 'POT'             "LPOT lê a posição do sensor "

STO

      IF 'POT‰122'

      THEN

        WHILE 'POT‰

122'

        REPEAT LMF      "Liga motor ultrassom para frente"

LPOT 'POT' STO

        END

      END

      IF 'POTŠ126'

      THEN

        WHILE 'POTŠ

126'

        REPEAT LMT    "Liga motor ultrassom ao contrário"

LPOT 'POT' STO

        END

      END LULS            "LULS - Leia ULTRASSOM"

    »

  USBX

    « LPOT 'POT'

STO

      WHILE 'POT‰

126'

      REPEAT LMF

LPOT 'POT' STO

      END LULS

    »

  USAC

    « LPOT 'POT'

STO

      IF 'POT‰107'

      THEN

        WHILE 'POT‰

107'

        REPEAT LMF

LPOT 'POT' STO

        END

      END

      IF 'POTŠ111'

      THEN

        WHILE 'POTŠ

111'

        REPEAT LMT

LPOT 'POT' STO

        END

      END LULS

    »

  USHV

    « RSG USV2 MVD

USV2 MVD USV2 LC5

LC14 LC1 LC2 LC8

MGL5 2 WAIT DC8 DC5

DC14 USHV

    »

  CST { RSG USVH

USVL USAC USHZ USBX

LULS LPOT }

  USVH

    « USV1 MVD USV1

MVE USV1 MVE USV1

LC5 FRTE 3 WAIT DC5

USVH

    »

 

  RSG                   "RSG reset todos os canais de saida "

 

    « 1 64

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  USV2

    « USBX USV1

USHZ USV1 CLEAR

    »

 

  USV1

    « LULS 160

      IF ‰

      THEN MRE

      END

    »

  POT 108

  LMT

    « LC15 DC15

    »

  LMF

    « LC7 LC15 DC15

DC7

    »

  LULS

    « 1 3

      FOR P OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT BUFLEN

CLOSEIO DROP

    »

 

 

  LPOT

    « 1 4

      FOR P OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT BUFLEN

CLOSEIO DROP

    »

_________________________________________________

 

  DC16                   "D16 a D1 desligam os canais de saida"

 

    « 1 30

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  DC15

    « 1 29

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

 

 

DC14

    « 1 28

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  DC13

    « 1 27

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  DC12

    « 1 26

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

 

 

 

  DC11

    « 1 25

      FOR U OPENIO CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  DC10

    « 1 24

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  DC9

    « 1 23

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

 

 

 

 

DC8

    « 1 14

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  DC7

    « 1 13

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  DC6

    « 1 12

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

 

 

 

 DC5

    « 1 11

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  DC4

    « 1 10

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  DC3

    « 1 9

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

 

 

 

 DC2

    « 1 8

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  DC1

    « 1 7

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  MUSF

    « LC15 LC15

    »

  MUST

    « LC7 LC15 LC15

    »

 

  MULS

    « 1 32

      FOR U OPENIO

CLOSEIO

      NEXT 1 WAIT

OPENIO .03 WAIT

CLOSEIO

    »

  TRK

    « FRTE LC5

    »

____________________________________________

 

  TOFD   "Testa olho frontal direito " sensor infravermelho

 

    « LOFD 35

      IF >

      THEN LC3

      ELSE .01 WAIT

      END

    »

  TOFE

    « LOFE 35

      IF >

      THEN LC4

      ELSE .01 WAIT

      END  »

  FRTE

    « LC1 LC2

    »

  MRE

    « LC1 LC2 LC3

LC4 LC8 3 WAIT DC3

2 WAIT DC8 DC4 DC1

DC2

    »

  MVD

    « LC1 LC2 LC4

LC8 1 WAIT DC8 DC4

DC1 DC2

    »

  MVE

    « LC1 LC2 LC3

LC8 1 WAIT DC8 DC3

DC1 DC2

    »

  LA1 {

2.86666666667

3.02222222222

3.91111111111

3.93333333333

3.46666666667

3.51111111111

3.28888888889

3.17777777778

3.64444444444

3.77777777778

2.64444444444

2.71111111111

2.68888888889

2.82222222222

3.28888888889 }

  TL

    « LA1 SORT 14

GET LA1 SWAP POS

    »

  MGL3

    « RSG LC1 LC2

LC3 LC8 ERASE 1 15

      FOR Z OPENIO

.03 WAIT BUFLEN

CLOSEIO DROP 45 /

'V' STO 0 0 RC Z

.261 * COS V * Z

.261 * SIN V * RC

LINE { # 0d # 0d }

PVIEW 7 FREEZE LC8

OPENIO .03 WAIT

BUFLEN CLOSEIO DROP

45 /

      NEXT 15 LIST

'LA1' STO LC1 LC2

    »

_________________________________________

 

  TLZA         " Testa luz ambiente" sensor LDR

 

    « CLEAR 1 5

      FOR P OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT BUFLEN

CLOSEIO

    »

  MGL2

    « RSG LC1 LC2

LC3 LC8 ERASE 0

6.28

      FOR Z OPENIO

.03 WAIT BUFLEN

CLOSEIO DROP 45 /

'V' STO 0 0 RC Z

COS V * Z SIN V *

RC LINE { # 0d

# 0d } PVIEW 7

FREEZE LC8 .18

      STEP LC1 LC2

    »

  V 2.29

  PPAR {

(-6.5,-3.1)

(6.5,3.2) X 0 (0,0)

FUNCTION Y }

  VNI3

    « RSG LC14 LC1

LC2 LC8 2 WAIT LC5

2 WAIT LC5 LC6 1

WAIT LC5 2 WAIT LC3

1 WAIT LC3 1 WAIT

LC4 1 WAIT LC8

    »

  VNI2

    « RSG LC1 LC2

LC6 LC5 LC14 LC8 3

WAIT LC6 3 WAIT LC5

LC6 LC5

    »

  VNIR

    « RSG LC1 LC2

LC6 LC5 LC14 LC8 3

WAIT LC6 3 WAIT LC5

LC6 LC5

    »

  LOLD

    « 1 4

      FOR P OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT BUFLEN

CLOSEIO DROP

    »

  LOFD

    « 1 3

      FOR P OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT BUFLEN

CLOSEIO DROP

    »

  LOLE

    « 1 2

      FOR P OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT BUFLEN

CLOSEIO DROP

    »

  LOFE

    « 1 1

      FOR P OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT BUFLEN

CLOSEIO DROP

    »

___________________________________

 

  TBAT                 "Testa nível da bateria"

 

    « 1 6

      FOR P OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT BUFLEN

CLOSEIO

    »

  VOM1

    « OPENIO .03

WAIT BUFLEN CLOSEIO

    »

  RS

    « OPENIO .03

WAIT CLOSEIO

    »

______________________________________

 

  SEQ1   "Teste sequencial dos canais de saida"

 

    « 1 10

      FOR D LC1 LC2

LC3 LC4 LC5 LC6 LC7

LC8 LC9 LC10 LC11

LC12 LC13 LC14 LC15

LC16

      NEXT

    »

___________________________________

 

  LC16   "L16  a L1   liga os canais de saida"

 

    « 1 30

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC15

    « 1 29

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC14

    « 1 28

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC13

    « 1 27

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC12

    « 1 26

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC11

    « 1 25

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC10

    « 1 24

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC9

    « 1 23

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC8

    « 1 14

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC7

    « 1 13

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC6

    « 1 12

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC5

    « 1 11

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC4

    « 1 10

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC3

    « 1 9

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC2

    « 1 8

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  LC1

    « 1 7

      FOR U OPENIO

CLOSEIO

      NEXT OPENIO

.03 WAIT CLOSEIO

    »

  CLK

    « OPENIO

CLOSEIO

    »

END