Você está na página 1de 2

Programao em NXT Mais Informaes

Pessoal, para ajudar vocs estou enviando mais algumas informaes sobre a
programao do NXT no Bricx Command Center.
Algumas dicas, pelos erros que notei vocs cometendo:
No esqueam de fechar parnteses e chaves
No esqueam do ponto e vrgula (;)
No esqueam de usar a funo Off(<sada>) para desligar os motores no programa
No preciso adicionar ponto e vrgula em linhas de definio (#define ...) ou em
funes (void funcao() { ...) ou condies (while(...) { ...) apenas dentro das funes e
condies
Variveis do tipo INT so inteiros, nmeros
Instalem o software e o drive pela apresentao que disponibilizei para vocs no Frum
da Graduao
Alguns alunos tiveram problemas ao compilar um arquivo que estava identificando
erros, sem existirem erros, neste caso reiniciamos o software, abrimos novamente o
programa e assim compilou sem erros (possivelmente BUG do sistema)

Definindo Valores
#define speed 50
#define low_speed 30
Obs.: Definam antes de tudo!
Definindo os Botes do NXT
#define BTN1 0
#define BTN2 1
#define BTN3 2
#define BTN4 3
#define BTNEXIT BTN1
#define BTNRIGHT BTN2
#define BTNLEFT BTN3
#define BTNCENTER BTN4
#define NO_OF_BTNS 4
Obs.: Definam antes de tudo, este o modelo de definio dos botes, assim vocs iro os
chamar nas condies por BTN1, BTN2, BTN3 ou BTN4 conforme definidos!
Definindo Variveis do Tipo INT
int variavel = 1;
Obs.: Variveis globais devem ser definidas antes de tudo, caso sejam definida em uma
funo/task main ser uma varivel local!
Definindo Funes
void funcao(){
... ... ... ;
}
Obs.: Funes sero definidas como void, no se esqueam de abrir e fechar parnteses e abrir
e fechar chaves!
Outros
Obs.: Comentrios em linha podem ser escritos depois de //
Funo: TextOut(Coluna, Linha, Texto) //exibe texto na tela
Ex.: TextOut(1, LCD_LINE3, "Defina Origem");
Funo: NumOut(Coluna, Linha, Varivel) //exibe uma varivel (nmero) na tela
Ex.: NumOut(50, LCD_LINE7, voltas); //voltas o nome de uma varivel
Funo: ClearScreen(); //limpa tela
Situao: ButtonPressed(Boto, Resetar)
Ex.: ButtonPressed(BTN3, false); //utilizado em condies if(ButtonPressed(Boto) == 1 { ...
Task Main
task main(){
SetSensorTouch(IN_1);
SetSensorLight(IN_2);
SetSensorLight(IN_3);
SetSensorLowspeed(IN_4);



}
Obs.: Estas so as definies das entradas necessrias que devem estar no task main!

Pessoal, j encontrei peas de alguns kits no cho do LPR. Tenham cuidado, pois dependendo
da pea no ser possvel fazer sua reposio. Lembrando que qualquer problema com os kits
vocs devem me comunicar para que eu possa ajud-los o mais rpido possvel!
Agora vocs j conhecem todas as funes e definies necessrias
para programar o AGV. Qualquer dvida lembrem-se de rever a
apresentao disponvel no Frum da Graduao, entrem em
contato comigo ou me procurem no LPR nos horrios de
atendimento da Monitoria.
Procurem ser criativos encontrando solues inovadoras

Você também pode gostar