print(board) distances = np.zeros((size, size)) for i in range(0, size): for j in range(0, size): if not board[i,j] == 1: distances[i,j] = getDistDijkstra(board, (i,j), target, 0) else: distances[i, j] = -1 print(distances) print(np.nanmax(distances)) maximum = np.nanmax(distances[distances != np.inf]) for i in range(0, size): for j in range(0, size): if distances[i,j] == -1: sense.set_pixel(i, j, 255, 255, 255) elif distances[i,j] == 0: sense.set_pixel(i, j, 255, 255, 0) elif distances[i,j] == np.inf: sense.set_pixel(i, j, 0, 0, 0) else: value = 255-int(distances[i,j]*255/maximum) if value == 0: sense.set_pixel(i, j, 10, 0, 0) else: sense.set_pixel(i, j, value, 0, 0) sense.flip_h(True)
from sense_hat import SenseHat from time import sleep sense = SenseHat() w = (150, 150, 150) b = (0, 0, 255) e = (0, 0, 0) image = [ e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, w, w, w, e, e, w, w, w, w, w, b, e, e, w, w, b, w, w, w, e, e, w, w, w, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e ] sense.set_pixels(image) while True: sleep(1) sense.flip_h()
from sense_hat import SenseHat import time sense = SenseHat() w = [150,150,150] b = [0,0,255] e = [0,0,0] image = [ e,e,e,e,e,e,e,e, e,e,e,e,e,e,e,e, w,w,w,e,e,w,w,w, w,w,b,e,e,w,w,b, w,w,w,e,e,w,w,w, e,e,e,e,e,e,e,e, e,e,e,e,e,e,e,e, e,e,e,e,e,e,e,e ] sense.set_pixels(image) while True: time.sleep(1) sense.flip_h() # From here: https://github.com/raspberrypilearning/getting-started-with-the-sense-hat/blob/master/code/eyes.py
class senseHAT: def __init__(self): self.sense = SenseHat() self.red = (255, 0 , 0) self.green = (0, 255, 0) self.blue = (0, 0, 255) self.lightGreen = (70, 255, 102) self.black = (0, 0, 0) self.white = (255, 255, 255) # Display a message using user input with orange text & black background def displayText(self): textColor = (253, 95, 0) message = input('Enter a message to display: ') self.sense.show_message(message, text_colour = textColor, back_colour = self.black) # Given any word, this method will display each char every x seconds in red def displayChars(self, word, x): for letter in word: self.sense.show_letter(letter, text_colour = self.red) sleep(x) # Lights the entire board light green def makeOneColor(self): self.sense.clear(self.lightGreen) # Makes a happy face by setting individual pixels def onePixel(self): self.sense.set_pixel(2, 2, self.blue) self.sense.set_pixel(4, 2, self.blue) self.sense.set_pixel(3, 4, self.lightGreen) self.sense.set_pixel(1, 5, self.red) self.sense.set_pixel(2, 6, self.red) self.sense.set_pixel(3, 6, self.red) self.sense.set_pixel(4, 6, self.red) self.sense.set_pixel(5, 5, self.red) # Lights up entire LED Board based on list def manyPixels(self): matrix = [] # Appends black or white into matrix based on number value while len(matrix) < 64: randNum = randint(0, 1) if randNum == 0: matrix.append(self.black) matrix.append(self.white) self.sense.set_pixels(matrix) # Given an orientation, LED Matrix will either be flipped horizontally, vertically, or rotated def setOrientation(self, option): w = (150, 150, 150) e = self.white b = self.blue option = option.lower() image = [ e,e,e,e,e,e,e,e, e,e,e,e,e,e,e,e, w,w,w,e,e,w,w,w, w,w,b,e,e,w,w,b, w,w,w,e,e,w,w,w, e,e,e,e,e,e,e,e, e,e,e,e,e,e,e,e, e,e,e,e,e,e,e,e ] if option == 'horizontal': self.sense.flip_h(image) elif option == 'vertical': self.sense.flip_v(image) elif option == 'rotate': rotation = int(input('Enter degrees to rotate: ')) self.sense.set_rotation(rotation) else: self.sense.set_pixels(image) # Output environment details to LED Matrix def getEnvironment(self): # get_temperature() returns celsius... convert this to farenheit temp = round(self.sense.get_temperature() * 1.8 + 32, 2) humidty = round(self.sense.get_humidity(), 2) pressure = round(self.sense.get_pressure(), 2) tempMessage = "Temperature: " + str(temp) + "F" humidtyMessage = "Humidity: " + str(humidty) + "%" pressureMessage = "Pressue: " + str(pressure) + "millibars" self.sense.show_message(tempMessage) sleep(1) self.sense.show_message(humidtyMessage) sleep(1) self.sense.show_message(pressureMessage) sleep(1) # Will water freeze right now? if temp <= 32: self.sense.show_message('Water will freeze at current temp') else: self.sense.show_message('Water will not freeze right now') # Detecting Movement using IMU def detectMovement(self): while True: acceleration = self.sense.get_accelerometer_raw() x = acceleration['x'] y = acceleration['y'] z = acceleration['z'] x = abs(x) y = abs(y) z = abs(z) if x > 1 or y > 1 or z > 1: self.sense.show_letter('!', self.red) else: self.sense.clear() # Using the joystick def joystick(self): choice = input( 'Enter the key of what you want to do: \n 1 - Show on terminal directions \n 2 - Show on LED Matrix \n ' ) if choice == '1': while True: for event in self.sense.stick.get_events(): print(event.direction, event.action) elif choice == '2': e = self.black w = self.white self.sense.clear() while True: for event in self.sense.stick.get_events(): if event.action == 'pressed': if event.direction == 'up': self.sense.show_letter('U') elif event.direction == 'down': self.sense.show_letter('D') elif event.direction == 'left': self.sense.show_letter('L') elif event.direction == 'right': self.sense.show_letter('R') elif event.direction == 'middle': self.sense.show_letter('M') sleep(0.5) self.sense.clear()
import argparse from _str2bool import str2bool from _return import finish parser = argparse.ArgumentParser( description='Flips the image on the LED matrix horizontally.') parser.add_argument( '--redraw', type=str2bool, nargs='?', default=True, help= 'Whether or not to redraw what is already being displayed on the LED matrix. Defaults to True' ) args = parser.parse_args() try: from sense_hat import SenseHat sense = SenseHat() result = sense.flip_h(args.redraw) # A list containing 64 smaller lists of [R, G, B] pixels (red, green, blue) representing the flipped image. finish({"result": result}) except Exception, e: finish(e, 1)
from sense_hat import SenseHat from time import sleep sense = SenseHat() w = (150, 150, 150) b = (0, 0, 255) e = (0, 0, 0) image = [ e, w, w, e, e, w, w, e, w, e, e, e, e, e, e, w, w, w, w, e, e, w, w, w, w, w, b, e, e, w, w, b, w, w, w, e, e, w, w, w, e, e, e, e, e, e, e, e, e, e, w, w, w, w, e, e, e, w, e, e, e, e, w, e ] sense.set_pixels(image) while True: sleep(1) sense.flip_h() # Therefore the blue eyeball will flip horizontally, # thus giving the visual that it is looking from right # to left repeatly every second.
from sense_hat import SenseHat from time import sleep sense = SenseHat() # Define some colours g = (0, 255, 0) # Green b = (0, 0, 0) # Black # Set up where each colour will display creeper_pixels = [ g, g, g, g, g, g, g, g, g, b, b, g, g, b, b, g, g, b, b, g, g, b, b, g, g, g, g, b, b, g, g, g, g, g, b, b, b, b, g, g, g, g, b, b, b, b, g, g, g, g, b, g, g, b, g, g, g, g, g, g, g, g, g, g ] # Display these colours on the LED matrix using the 'set_pixels' cmd to change # all 64 LEDs using just one line of code. sense.set_pixels(creeper_pixels) # From sense get the set_pixels function and # set the creeper_pixels attribute. sleep(5) sense.set_rotation(180) # Rotate the display by 180 degrees. sleep(5) sense.flip_h() # Flip the image on the screen horizontally. #sleep(5) #sense.flip_v() # Flip the image on the screen vertically. sleep(5) sense.clear()
from sense_hat import SenseHat s = SenseHat() s.flip_h() s.show_message("Hello Master") s.load_image("sword1.png")
# Astro Pi Submission for Matthew Charlston, Owen Cole and James Cook for Phase 2 of Mission Space Lab 2018 # Import libraries needed for experiment from sense_hat import SenseHat # For outputting to the hat import time # For timing and sleeping import logging # For logging from logzero import logger # For the csv output import logzero # For logging import os # For getting current directory import datetime # For getting the current time # Initiate Sense Hat sense = SenseHat() # Initiate sense.flip_v() # Flip the screen so it is visible to the astronauts sense.flip_h() # Continued # Set up libraries, timing, logging and variables numberOfPassings = 0 # Variable to store the number of times an astronaut has passed dirPath = os.path.dirname(os.path.realpath(__file__)) # Get current directory nowTime = datetime.datetime.now() # Get current time startTime = datetime.datetime.now() # Get start time logzero.logfile(dirPath + "/data01.csv") # Set file to output data to formatter = logging.Formatter( '%(name)s - %(asctime)-15s - %(levelname)s: %(message)s') # Create custom formatter logzero.formatter(formatter) # Use custom formatter # Loop for 170 minutes so the program is not terminated by the pi uncleanly while (nowTime < startTime + datetime.timedelta(minutes=17)): # Declare variables