Ir para conteúdo
Fórum Script Brasil
  • 0

Me Deem uma dica! Setar variável...


beuleal

Pergunta

# Header
# Bibliotecas
# Conexão com a porta Serial

# Variaveis Globais
time_sleep = 1
wm ================================>> #Esta seria minha variavel global que seria setada somente quando o wiimote fosse selecionado



########################################################################
# Funcao que controla o envia e recebe de pacotes atraves do wiimote
########################################################################	
def wiimote_setup():
	
	print '1 e 2!!!!'
	wm = cwiid.Wiimote()
	
	#habilito o uso de botoes somente
	wm.rpt_mode = cwiid.RPT_BTN
	
	while True:
		
		status = wiimote()
		if status == False:
			break

########################################################################
# Funcao que controla o envia e recebe de pacotes atraves do wiimote
########################################################################	
def wiimote():
	
	print 'Use as setas para controlar o carrinho'

	while True:
		
		if wm.state['buttons'] & cwiid.BTN_UP:
			 ir_frente()
			 envia_recebe()
			 break
			 return True
		
		if wm.state['buttons'] & cwiid.BTN_DOWN:
			 ir_tras()
			 envia_recebe()
			 break
			 return True
				
		if wm.state['buttons'] & cwiid.BTN_LEFT:
			ir_esquerda()
			envia_recebe()
			break
			return True		

		if wm.state['buttons'] & cwiid.BTN_RIGHT:
			ir_direita()
			envia_recebe()
			break
			return True

		if wm.state['buttons'] & cwiid.BTN_1:
			ir_reto()
			envia_recebe()
			break
			return True

		if wm.state['buttons'] & cwiid.BTN_2:
			parar()
			envia_recebe()
			break
			return True
			
		if wm.state['buttons'] & cwiid.BTN_HOME:
			break
			return False
			

########################################################################
# Funcao principal
########################################################################
if __name__ == '__main__':

		

	while True:
	   try:

		
		  # Imprime na tela o menu de opушes
		  print ' '
		  print '----------------------MENU--------------------------'
		  print 'Escolha um dos comandos abaixo e depois aperte enter'
		  print '----------------------------------------------------'
		  print '0 - Escolher outro carrinho (',ID_carrinho,')'
		  print '8 - Ir para frente:'
		  print '2 - Ir para tras:'
		  print '6 - Direita:'
		  print '4 - Esquerda:'
		  print '5 - Reto:'
		  print '1 - Parar:'
		  print 'W - Wiimote:'
		  print 'S - Para sair:'
		  print ' '

		  # Leitura da opусo do menu escolhida
		  Opcao = raw_input('Comando:')


		  if Opcao == "0": # troca id do carrinho     
		  # Identificaусo do carrinho a ser acessado
			 ID_carrinho = raw_input('ID_carrinho:')

		  else:

			 #opсao de saьda
			 if Opcao == "s" or Opcao == "S": # caso o caracter digitado for s          
				ser.close() # fecha a porta COM
				print 'Fim da Execuусo'  # escreve na tela
				break
			
			 if Opcao == "w": # Wiimote
				wiimote_setup()
				continue


			 # Verifica a opусo de menu escolhida
			 if Opcao == "8": # Ir para frente
				ir_frente()
				
			 if Opcao == "2": # ir para tras
				ir_tras()
				
			 if Opcao == "4": # Ir para esquerda
			    ir_esquerda()

			 if Opcao == "6": # Ir para direita
				ir_direita()

			 if Opcao == "5": # Reto
				ir_reto()

			 if Opcao == "1": # Parar
				parar()
			
			 envia_recebe()
				
			 
				
			 



	   except KeyboardInterrupt:
		   ser.close()
		   break
 

Olá Galera,

Estou brincando um pouco com Radiuino + Wiimote + Python para controlar um carrinho :P

Enfim, meu problema é o seguinte: eu tenho um menu que permite a pessoa controlar o carrinho pelo teclado, e caso ela queira controlar pelo Wiimote ela aperta W. Apertando W, ela sera direcionada a uma função que fará a conexão com o wiimote, posteriormente será direcionada a uma função destinada a leitura do wiimote e não voltará mais ao menu. Como eu tenho duas funções que utilizam essa variavel de conexao do wiimote, eu deixei ela "global", porem como posso inicializar ela?

Obs: Dei uma limpadona no cod :D

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...