Untitled
plain_text
a month ago
1.7 kB
1
Indexable
Never
import requests import time from PIL import Image, ImageDraw, ImageFont import os from gpiozero import LED # Konfigurasi API Waktu Solat (Anda perlu mendaftar dan dapatkan API key) API_KEY = 'API_KEY_ANDA' CITY = 'Alor Setar' STATE = 'Kedah' COUNTRY = 'Malaysia' # Konfigurasi layar digital SCREEN_WIDTH = 128 SCREEN_HEIGHT = 64 FONT_SIZE = 20 FONT = ImageFont.truetype("path_to_font.ttf", FONT_SIZE) # Konfigurasi LED untuk pengumuman digital LED_PIN = 17 led = LED(LED_PIN) # Fungsi untuk mendapatkan waktu solat dari API def get_prayer_times(): url = f'https://api.aladhan.com/v1/timingsByCity?city={CITY}&state={STATE}&country={COUNTRY}&method=2' response = requests.get(url) data = response.json() return data['data']['timings'] # Fungsi untuk menampilkan waktu solat pada layar def display_prayer_times(prayer_times): image = Image.new('1', (SCREEN_WIDTH, SCREEN_HEIGHT), 255) draw = ImageDraw.Draw(image) y = 10 for prayer, time in prayer_times.items(): draw.text((10, y), f"{prayer}: {time}", font=FONT, fill=0) y += 25 return image # Fungsi untuk mengumumkan pesan pada LED def announce_message(message): led.on() time.sleep(2) led.off() # Loop utama while True: prayer_times = get_prayer_times() display_image = display_prayer_times(prayer_times) display_image.show() # Anda dapat menambahkan kondisi untuk pengumuman khusus waktu solat tertentu # if "Isha" in prayer_times and prayer_times["Isha"] == "20:00": # announce_message("Waktu solat Isha telah tiba.") time.sleep(60) # Perbarui setiap 1 menit