I just need to know what the code is to check the central press of the joystick and if it is not pressed, then to loop back and check again, meaning it is constantly checking.
Thanks
The Astro Pi / Sense HAT's joystick is mapped to the up/down/left/right/enter keys on the keyboard. To detect joystick use, use an event loop in PyGame:richardhughes wrote:I just need to know what the code is to check the central press of the joystick and if it is not pressed, then to loop back and check again, meaning it is constantly checking.
Thanks
Code: Select all
from astro_pi import AstroPi # Imports the Astro Pi
ap = AstroPi() # Changing Astro Pi into 'ap'
import pygame
from pygame.locals import *
from astro_pi import AstroPi
import time # Imports the time
t = time
ap.set_rotation(270)
#ap.show_message("Welcome, Tim!", scroll_speed=0.05, text_colour=[255,0,0]) # Shows the message: Welcome, Tim!
X = [255, 255, 255] # Displays the text in white.
O = [0, 0, 0] # No colour
tem = ap.get_temperature() # This gets the temperature from the surroundings
temp = int(round(float(tem))) # Turns the temperature into an integer
t.sleep(3)
# --------------------------------------------------------2--
twenty = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, X, X,
O, O, O, X, O, X, O, X,
O, O, X, O, O, X, O, X,
O, X, O, O, O, X, O, X,
O, X, X, X, O, X, X, X
]
if temp == 20:
ap.set_pixels(twenty)
# ----------------------------------------------------------
twenty_one = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, X, O,
O, O, O, X, O, O, X, O,
O, O, X, O, O, O, X, O,
O, X, O, O, O, O, X, O,
O, X, X, X, O, X, X, X
]
if temp == 21:
ap.set_pixels(twenty_one)
# ----------------------------------------------------------
twenty_two = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, X, X,
O, O, O, X, O, O, O, X,
O, O, X, O, O, O, X, O,
O, X, O, O, O, X, O, O,
O, X, X, X, O, X, X, X
]
if temp == 22:
ap.set_pixels(twenty_two)
# ----------------------------------------------------------
twenty_two = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, X, X,
O, O, O, X, O, O, O, X,
O, O, X, O, O, O, X, O,
O, X, O, O, O, X, O, O,
O, X, X, X, O, X, X, X
]
if temp == 22:
ap.set_pixels(twenty_two)
# ----------------------------------------------------------
twenty_three = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, X, X,
O, O, O, X, O, O, O, X,
O, O, X, O, O, O, X, X,
O, X, O, O, O, O, O, X,
O, X, X, X, O, X, X, X
]
if temp == 23:
ap.set_pixels(twenty_three)
# ----------------------------------------------------------
twenty_four = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, O, O,
O, O, O, X, O, X, O, O,
O, O, X, O, O, X, X, O,
O, X, O, O, O, X, X, X,
O, X, X, X, O, O, X, O
]
if temp == 24:
ap.set_pixels(twenty_four)
# ----------------------------------------------------------
twenty_five = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, X, X,
O, O, O, X, O, X, O, O,
O, O, X, O, O, X, X, X,
O, X, O, O, O, O, O, X,
O, X, X, X, O, X, X, X
]
if temp == 25:
ap.set_pixels(twenty_five)
# ----------------------------------------------------------
twenty_six = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, X, X,
O, O, O, X, O, X, O, O,
O, O, X, O, O, X, X, X,
O, X, O, O, O, O, O, X,
O, X, X, X, O, X, X, X
]
if temp == 26:
ap.set_pixels(twenty_six)
# ----------------------------------------------------------
twenty_seven = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, X, X,
O, O, O, X, O, O, O, X,
O, O, X, O, O, O, O, X,
O, X, O, O, O, O, O, X,
O, X, X, X, O, O, O, X
]
if temp == 27:
ap.set_pixels(twenty_seven)
# ----------------------------------------------------------
twenty_eight = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, X, X,
O, O, O, X, O, X, O, X,
O, O, X, O, O, X, X, X,
O, X, O, O, O, X, O, X,
O, X, X, X, O, X, X, X
]
if temp == 28:
ap.set_pixels(twenty_eight)
# ----------------------------------------------------------
twenty_nine = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, X, X,
O, O, O, X, O, X, O, X,
O, O, X, O, O, X, X, X,
O, X, O, O, O, O, O, X,
O, X, X, X, O, O, O, X
]
if temp == 29:
ap.set_pixels(twenty_nine)
#----------------------------------------------------------
thirty = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, X, X,
O, O, O, X, O, X, O, X,
O, O, X, X, O, X, O, X,
O, O, O, X, O, X, O, X,
O, X, X, X, O, X, X, X
]
if temp == 30:
ap.set_pixels(thirty)
# ----------------------------------------------------------
thirty_one = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, X, O,
O, O, O, X, O, O, X, O,
O, O, X, X, O, O, X, O,
O, O, O, X, O, O, X, O,
O, X, X, X, O, X, X, X
]
if temp == 31:
ap.set_pixels(thirty_one)
t.sleep
# ----------------------------------------------------------
thirty_two = [
X, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, X, X, O, X, X, X,
O, O, O, X, O, O, O, X,
O, O, X, X, O, O, X, O,
O, O, O, X, O, X, O, O,
O, X, X, X, O, X, X, X
]
if temp == 31:
ap.set_pixels(thirty_one)
t.sleep
# ----------------------------------------------------------
# ----------------------------------------------------------
hum = ap.get_humidity() # This gets the humidity from the surroundings
humi = int(round(float(hum))) # This turns it into an integer
# ----------------------------------------------------------
fourty = [
X, X, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, O, O, O, O, O, O, O,
O, X, O, O, O, X, X, X,
O, X, O, O, O, X, O, X,
O, X, X, O, O, X, O, X,
O, X, X, X, O, X, O, X,
O, O, X, O, O, X, X, X
]
if humi == 40:
ap.set_pixels(fourty)
# ----------------------------------------------------------
pygame.init()
pygame.display.set_mode((640, 480))
ap = AstroPi()
ap.clear()
if event.key == K_DOWN and ap.set_pixels == 'twenty_nine':
ap.set_pixels == 'twenty_three'
from astro_pi import AstroPi # Imports the Astro Piben_nuttall wrote:The Astro Pi / Sense HAT's joystick is mapped to the up/down/left/right/enter keys on the keyboard. To detect joystick use, use an event loop in PyGame:richardhughes wrote:I just need to know what the code is to check the central press of the joystick and if it is not pressed, then to loop back and check again, meaning it is constantly checking.
Thanks
Examples:
https://github.com/astro-pi/astro-pi-ha ... oystick.py
https://github.com/bennuttall/astro-pi- ... r_match.py
Code: Select all
if event.key == K_DOWN and ap.set_pixels == 'twenty_nine':
ap.set_pixels == 'twenty_three'