[RaspberryPI] 자이로센서 응용

정재훈·2022년 4월 21일
0

RaspberryPi

목록 보기
9/12

균형 게임 제작

센스헷에 장착된 자이로센서를 이용하여 좌우상하로 기울여, 출발지에서 목적지로 도착하게 되는 게임입니다.

from sense_hat import SenseHat
from time import sleep;

x=0;
y=0;

sense = SenseHat();

B = [0, 0, 0];
W = [200, 200, 200];
L = [30, 255, 30];
P = [180, 0, 180];
R = [255, 255, 150];

_map = [
    L, W, B, B, B, B, B, B,
    B, W, W, W, W, W, W, B,
    B, B, B, B, B, B, W, B,
    B, W, W, W, W, B, W, B,
    B, B, W, B, B, B, W, B,
    B, B, W, B, W, W, W, B,
    B, W, W, B, B, B, B, B,
    B, B, B, B, W, W, W, L,
];
    
def refresh():
    global x, y;
    sense.clear();
    sense.set_pixels(_map);
    sense.set_pixel(x, y, P);
    
while True:
    ori = sense.get_orientation_degrees();
    pitch = ori["pitch"];
    roll = ori["roll"];
    if 15 < pitch < 50 : # left
        if x > 0 and _map[y*8+x-1] != W : x -= 1;
    elif 300 < pitch < 350 : # right
        if x < 7 and _map[y*8+x+1] != W : x += 1;
    elif 300 < roll < 350 : # up
        if y > 0 and _map[(y-1)*8+x] != W : y -= 1;
    elif 15 < roll < 50 : # down
        if y < 7 and _map[(y+1)*8+x] != W : y += 1;
        
    refresh();
    sleep(0.1);
profile
여러 방향으로 접근하는 개발자

0개의 댓글