Code: Select all
from sense_hat import SenseHat
import ephem
import time
import datetime
from timezonefinder import TimezoneFinder
import os
from random import randint
#Astro Pi Concept
tf = TimezoneFinder()
sense = SenseHat()
name = ("ISS (ZARYA)")
line1 = ("1 25544U 98067A 17289.51526942 .00003700 00000-0 62982-4 0 9992")
line2 = ("2 25544 51.6418 153.4906 0004809 30.2192 49.5232 15.54187126 80624")
def Logo():
p=[255,51,152]
g=[0,255,0]
b = [0, 0, 0]
d=[64, 64, 64]
logo_1= [
b, b, b, g, g, b, b, b,
b, b, p, p, p, p, b, b,
b, p, p, p, p, p, p, b,
b, p, p, p, p, p, p, b,
b, p, p, p, p, p, p, b,
b, b, p, p, p, p, b, b,
b, b, b, p, p, b, b, b,
b, b, b, b, b, b, b, b,
]
sense.set_pixels(logo_1)
time.sleep(0.7)
logo_2= [
b, b, b, g, g, b, b, d,
b, b, p, p, p, p, b, d,
b, p, p, p, p, p, p, d,
b, p, p, p, p, p, p, d,
b, p, p, p, p, p, p, d,
b, b, p, p, p, p, b, d,
b, b, b, p, p, b, b, d,
b, b, b, b, b, b, b, d,
]
sense.set_pixels(logo_2)
time.sleep(0.7)
logo_3= [
b, b, b, g, g, b, d, d,
b, b, p, p, p, p, d, d,
b, p, p, p, p, p, d, d,
b, p, p, p, p, p, d, d,
b, p, p, p, p, p, d, d,
b, b, p, p, p, p, d, d,
b, b, b, p, p, b, d, d,
b, b, b, b, b, b, d, d,
]
sense.set_pixels(logo_3)
time.sleep(0.7)
logo_4= [
b, b, b, g, g, d, d, d,
b, b, p, p, p, d, d, d,
b, p, p, p, p, d, d, d,
b, p, p, p, p, d, d, d,
b, p, p, p, p, d, d, d,
b, b, p, p, p, d, d, d,
b, b, b, p, p, d, d, d,
b, b, b, b, b, d, d, d,
]
sense.set_pixels(logo_4)
time.sleep(0.7)
logo_5= [
b, b, b, g, d, d, d, d,
b, b, p, p, d, d, d, d,
b, p, p, p, d, d, d, d,
b, p, p, p, d, d, d, d,
b, p, p, p, d, d, d, d,
b, b, p, p, d, d, d, d,
b, b, b, p, d, d, d, d,
b, b, b, b, d, d, d, d,
]
sense.set_pixels(logo_5)
logo_6= [
b, b, b, g, d, d, d, d,
b, b, p, p, d, d, d, d,
b, p, p, p, d, d, d, d,
b, p, p, p, d, d, d, d,
b, p, p, p, d, d, d, d,
b, b, p, p, d, d, d, d,
b, b, b, p, d, d, d, d,
b, b, b, b, d, d, d, d,
]
sense.set_pixels(logo_6)
time.sleep(0.7)
logo_7= [
b, b, b, g, d, d, d, d,
b, b, p, p, d, d, d, d,
b, p, p, p, d, d, d, d,
b, p, p, p, d, d, d, d,
b, p, p, p, d, d, d, d,
b, b, p, p, d, d, d, d,
b, b, b, p, d, d, d, d,
b, b, b, b, d, d, d, d,
]
sense.set_pixels(logo_7)
time.sleep(0.7)
logo_8= [
b, b, b, d, d, d, d, d,
b, b, p, d, d, d, d, d,
b, p, p, d, d, d, d, d,
b, p, p, d, d, d, d, d,
b, p, p, d, d, d, d, d,
b, b, p, d, d, d, d, d,
b, b, b, d, d, d, d, d,
b, b, b, d, d, d, d, d,
]
sense.set_pixels(logo_8)
time.sleep(0.7)
logo_9= [
b, b, d, d, d, d, d, d,
b, b, d, d, d, d, d, d,
b, p, d, d, d, d, d, d,
b, p, d, d, d, d, d, d,
b, p, d, d, d, d, d, d,
b, b, d, d, d, d, d, d,
b, b, d, d, d, d, d, d,
b, b, d, d, d, d, d, d,
]
sense.set_pixels(logo_9)
time.sleep(0.7)
logo_10= [
b, d, d, d, d, d, d, d,
b, d, d, d, d, d, d, d,
b, d, d, d, d, d, d, d,
b, d, d, d, d, d, d, d,
b, d, d, d, d, d, d, d,
b, d, d, d, d, d, d, d,
b, d, d, d, d, d, d, d,
b, d, d, d, d, d, d, d,
]
sense.set_pixels(logo_10)
time.sleep(0.7)
logo_11= [
d, d, d, d, d, d, d, d,
d, d, d, d, d, d, d, d,
d, d, d, d, d, d, d, d,
d, d, d, d, d, d, d, d,
d, d, d, d, d, d, d, d,
d, d, d, d, d, d, d, d,
d, d, d, d, d, d, d, d,
d, d, d, d, d, d, d, d,
]
sense.set_pixels(logo_11)
Logo()
def Clock():
T = [255, 0, 0]
I = [204, 255, 255]
if local_time == ("00") or local_time == ("12") :
clock1 = [
I, I, I, I, I, I, I, I,
I, T, T, T, T, T, T, I,
I, T, I, I, I, I, T, I,
I, T, I, T, T, I, T, I,
I, T, I, T, T, I, T, I,
I, T, I, I, I, I, T, I,
I, T, T, T, T, T, T, I,
I, I, I, I, I, I, I, I
]
sense.set_pixels(clock1)
if local_time == ("01") or local_time == ("13"):
clock2 = [
T, T, T, I, I, I, I, T,
T, T, T, T, T, T, T, T,
T, T, T, I, T, T, T, T,
T, T, I, I, T, T, T, T,
T, T, T, I, T, T, T, T,
T, T, T, I, T, T, T, T,
T, T, I, I, I, T, T, T,
T, T, T, T, T, T, T, T
]
sense.set_pixels(clock2)
if local_time == ("02") or local_time == ("14"):
clock3 = [
T, T, T, I, I, I, I, I,
T, T, T, T, T, T, T, I,
T, T, I, I, I, T, T, I,
T, T, T, T, I, T, T, T,
T, T, I, I, I, T, T, T,
T, T, I, T, T, T, T, T,
T, T, I, I, I, T, T, T,
T, T, T, T, T, T, T, T
]
sense.set_pixels(clock3)
if local_time == ("03") or local_time == ("15"):
clock4 = [
T, T, T, I, I, I, I, I,
T, T, T, T, T, T, T, I,
T, T, I, I, I, T, T, I,
T, T, T, T, I, T, T, I,
T, T, I, I, I, T, T, I,
T, T, T, T, I, T, T, T,
T, T, I, I, I, T, T, T,
T, T, T, T, T, T, T, T
]
sense.set_pixels (clock4)
if local_time == ("04") or local_time == ("16"):
clock5 = [
T, T, T, I, I, I, I, I,
T, T, T, T, T, T, T, I,
T, T, I, T, T, T, T, I,
T, T, I, T, I, T, T, I,
T, T, I, I, I, I, T, I,
T, T, T, T, I, T, T, I,
T, T, T, T, I, T, T, T,
T, T, T, T, T, T, T, T
]
sense.set_pixels (clock5)
if local_time == ("05") or local_time == ("17"):
clock6 = [
T, T, T, I, I, I, I, I,
T, T, T, T, T, T, T, I,
T, T, I, I, I, T, T, I,
T, T, I, T, T, T, T, I,
T, T, I, I, I, T, T, I,
T, T, T, T, I, T, T, I,
T, T, I, I, I, T, T, I,
T, T, T, T, T, T, I, I
]
sense.set_pixels (clock6)
if local_time == ("06") or local_time == ("18"):
clock7 = [
T, T, T, I, I, I, I, I,
T, T, I, T, T, T, T, I,
T, T, I, T, T, T, T, I,
T, T, I, I, I, T, T, I,
T, T, I, T, I, T, T, I,
T, T, I, I, I, T, T, I,
T, T, T, T, T, T, T, I,
T, T, T, I, I, I, I, I
]
sense.set_pixels(clock7)
if local_time == ("07") or local_time == ("19"):
clock8 = [
T, T, T, I, I, I, I, I,
T, T, T, T, T, T, T, I,
T, T, I, I, I, T, T, I,
T, T, T, T, I, T, T, I,
T, T, T, T, I, T, T, I,
T, T, T, T, I, T, T, I,
T, T, T, T, T, T, T, I,
T, I, I, I, I, I, I, I
]
sense.set_pixels(clock8)
if local_time == ("08") or local_time == ("20"):
clock9 = [
T, T, T, I, I, I, I, I,
T, T, T, T, T, T, T, I,
T, T, I, I, I, I, T, I,
T, T, I, T, T, I, T, I,
T, T, I, I, I, I, T, I,
T, T, I, T, T, I, T, I,
I, T, I, I, I, I, T, I,
I, I, I, I, I, I, I, I
]
sense.set_pixels(clock9)
if local_time == ("09") or local_time == ("21"):
clock10 = [
T, T, T, I, I, I, I, I,
T, T, T, T, T, T, T, I,
T, T, I, I, I, T, T, I,
T, T, I, T, I, T, T, I,
I, T, I, I, I, T, T, I,
I, T, T, T, I, T, T, I,
I, T, T, T, T, T, T, I,
I, I, I, I, I, I, I, I
]
sense.set_pixels(clock10)
if local_time == ("10") or local_time == ("22"):
clock11 = [
T, T, T, I, I, I, I, I,
T, T, T, T, T, T, T, I,
I, T, I, T, I, I, T, I,
I, T, I, T, I, I, T, I,
I, T, I, T, I, I, T, I,
I, T, I, T, I, I, T, I,
I, T, T, T, T, T, T, I,
I, I, I, I, I, I, I, I
]
sense.set_pixels(clock11)
if local_time == ("11") or local_time == ("23"):
clock12 = [
I, T, T, I, I, I, I, I,
I, T, T, T, T, T, T, I,
I, T, I, T, I, T, T, I,
I, T, I, T, I, T, T, I,
I, T, I, T, I, T, T, I,
I, T, I, T, I, T, T, I,
I, T, T, T, T, T, T, I,
I, I, I, I, I, I, I, I,
]
sense.set_pixels(clock12)
time.sleep(3)
def Environment():
temp = sense.get_temperature()
temp = round(temp,0)
temp = str(temp)
if temp > ("0") and temp < ("10") or temp == ("10"):
colour = [40, 108, 255]
if temp > ("10") and temp < ("20") or temp == ("20"):
colour = [255, 255, 0]
if temp > ("20") and temp < ("30") or temp == ("30"):
colour = [255, 153, 0]
if temp > ("30") and temp < ("40") or temp == ("40"):
colour = [255, 92, 51]
if temp > ("40") and temp < ("50") or temp == ("50"):
colour = [225, 0, 0]
sense.clear(colour)
sense.show_message(temp, back_colour = (colour), scroll_speed = 0.08)
def Location():
c1 = randint(0, 255)
c2 = randint(0, 255)
c3 = randint(0, 255)
colour = [c1, c2, c3]
sense.show_message(str(latitude), scroll_speed = 0.08, back_colour = (colour))
sense.show_message(str(longitude), scroll_speed = 0.08, back_colour = (colour))
while True :
tle_rec = ephem.readtle(name, line1, line2)
tle_rec.compute()
lat = (str(tle_rec.sublat))
long = (str(tle_rec.sublong))
lat = lat.split(":")
long = long.split(":")
lat = (float(lat[0]))
long = (float(long[0]))
print (lat, long)
latitude = (lat)
longitude = (long)
print (tf.closest_timezone_at(lng=longitude, lat=latitude, delta_degree=20))
timezone = (tf.closest_timezone_at(lng=longitude, lat=latitude, delta_degree=2))
os.environ['TZ'] = (timezone)
time.tzset()
print (time.strftime("%X"))
local_time = (str(time.strftime("%X")[:2]))
daytime = ("06")
nighttime = ("20")
morning = ("11")
afternoon = ("14")
if local_time > daytime and local_time < nighttime or local_time == daytime:
print("Day Time")
print("")
if local_time < morning and local_time > daytime or local_time == daytime:
X = [225,225,0]
Z = [32,32,32]
sun1 = [
Z, Z, Z, Z, Z, Z, Z, Z,
Z, Z, Z, Z, Z, Z, Z, Z,
Z, Z, X, X, X, X, Z, Z,
Z, Z, X, X, X, X, Z, Z,
Z, Z, X, X, X, X, Z, Z,
Z, Z, X, X, X, X, Z, Z,
Z, Z, Z, Z, Z, Z, Z, Z,
Z, Z, Z, Z, Z, Z, Z, Z
]
sense.set_pixels(sun1)
if local_time > morning and local_time < afternoon or local_time == afternoon or local_time == morning:
X = [225,225,0]
sun2 = [
X, X, X, X, X, X, X ,X,
X, X, X, X, X, X, X ,X,
X, X, X, X, X, X, X ,X,
X, X, X, X, X, X, X ,X,
X, X, X, X, X, X, X ,X,
X, X, X, X, X, X, X ,X,
X, X, X, X, X, X, X ,X,
X, X, X, X, X, X, X ,X,
]
sense.set_pixels(sun2)
if local_time > afternoon and local_time < nighttime:
W = [255, 128, 0]
sun3 = [
W, W, W, W, W, W, W, W,
W, W, W, W, W, W, W, W,
W, W, W, W, W, W, W, W,
W, W, W, W, W, W, W, W,
W, W, W, W, W, W, W, W,
W, W, W, W, W, W, W, W,
W, W, W, W, W, W, W, W,
W, W, W, W, W, W, W, W
]
sense.set_pixels(sun3)
else:
print("Night Time")
print ("")
Y = [192 ,192, 192]
Q = [64, 64, 64]
moon1 = [
Y, Y, Y, Y, Q, Y, Y, Y,
Y, Y, Y, Y, Y, Y, Y, Y,
Y, Q, Y, Y, Y, Y, Q, Y,
Y, Y, Y, Y, Y, Y, Y, Y,
Y, Y, Y, Q, Y, Y, Y, Y,
Y, Y, Y, Y, Y, Y, Y, Y,
Q, Y, Y, Y, Y, Y, Y, Y,
Y, Y, Y, Y, Y, Y, Q, Y
]
sense.set_pixels(moon1)
sense.stick.direction_right = Clock
sense.stick.direction_left = Environment
sense.stick.direction_up = Location
temp = sense.get_temperature()
with open("/home/pi/Astro_Pi/data", 'a') as f:
f.write("\n")
f.write(str(latitude))
f.write("\n")
f.write(str(longitude))
f.write("\n")
f.write(str(timezone))
f.write("\n")
f.write(str(temp))
f.write("\n")
f.write(str(time.strftime("%X")))
f.write("\n")