2016-09-16 2 views
0

저는 파이썬과 나무 딸기 파이에 익숙하지 않습니다. 나는 바퀴 달린 로봇을 만들고 전진, 후진, 좌회전, 우회전 코드를 작성했습니다! 그러나 다른 스크립트를 실행하고 싶을 때마다 새 코드를 열고 실행해야합니다 (예 : 전달 용 파일 열기, 왼쪽 파일 용 파일 열기 등)키보드를 사용하여 로봇을 제어하십시오.

키보드 화살표는 어떻게 사용합니까? 스크립트의 일부를 실행 하시겠습니까?

위로 버튼을 누르고 로봇이 앞으로 움직일 수있게하려면 상향 버튼과 로봇 정지를 놓은 다음 왼쪽 화살표 키를 누르고 로봇이 열쇠 등을 놓을 때까지 왼쪽으로 회전하십시오.

IV이 포럼 스레드의 톤을 시도했지만 그들은 모두 (거북이에 대한 키보드 이벤트를 사용할 수 있지만,이 I2C 또는 GPIO에서 작동하지 않는 방법을 발견 IV) differant 코드 관련

아무도 내가 거기에 내기 나에게 을 도와 드릴까요 진짜 간단한 명령 코드지만, 나는 그것이 무엇인지, 어디에서 찾을 수 있는지 모른다.

나는 이것이에만이 하나의 파일이 필요

+2

을 도움이 여기 https://learn.pimoroni.com/tutorial/robots/controlling-your-robot-wireless-keyboard 그것에 대해 더 읽기 시도하거나 특정 키를 누를 때 닫힙니다. 그런 다음 키를 눌렀다가 스위치 나 if/else에서 사용하고 앞으로, 뒤로 등의 코드를 적절한 조건에서 사용합니다. –

+0

어떻게 키를 눌러야합니까? 어떤 예나 심지어 약간의 코드가 있습니까? –

+0

이미 여러 파일을 사용하여 자신을 말하고 있습니다. 그 파일을 하나로 결합하십시오. –

답변

0

차이를 만드는 경우 모터에 전원을 공급 라즈베리 파이로 그리고 Adafruit 모터 모자를 사용하고 있습니다. 새 파일을 만드십시오.

무한 루프가 필요합니다. while(true) 루프를 사용할 것을 제안합니다. 그런 다음

if(/*key was UP ARROW*/){ 
/*CODE TO MAKE MOVE FORWARD HERE*/ 
}else if(/*KEY WAS DOWN ARROW*/{ 
/*CODE TO MAKE MOVE DOWN HERE*/ 
} etc... 

그 안에 while(true) 루프가 필요합니다. 이 방법을 사용하면 하나의 파일을 사용하여 모든 키보드 데이터를 캡처 할 수 있습니다. 따라서이 모양과 비슷할 것입니다.

while(true){ 
//read key input 
if(/*key was UP ARROW*/){ 
    /*CODE TO MAKE MOVE FORWARD HERE*/ 
    }else if(/*KEY WAS DOWN ARROW*/{ 
    /*CODE TO MAKE MOVE DOWN HERE*/ 
    } etc... 
} 

이렇게하면 필요한 작업을 수행 할 수 있습니다. 이미 코드를 옮겨야한다고 말했으므로 이전하는 데 시간이 오래 걸리지 않을 것입니다.

는 무한 루프 것, 이것은 파이썬 코드에서 당신에게 대단히

+0

Alao, 올바른 파이썬 구문을 사용하고 있는지 확인하십시오. 그것은 잠시 동안 나와 생각이 종합적으로 맞지 않을지도 모르지만, 잠시있었습니다. –

+0

또한 정지 키를 코딩 할 수 있습니다. 그냥 좋은 제안입니다. –

+0

이것은 정확히 내가 원하는 것입니다 그러나 나는 여전히 내가 원하는 코드의 실제 텍스트를 알지 못합니다. 제가 작성한 코드를 시도해 보았습니다. 지금까지 가지고있는 것들과 내가 쓴 것들을 볼 수 있습니다. –

관련 문제