Make sure your Pi is running the latest version of Raspbian and has the following Adafruit blinka and neopixel libraries installed.
- Prerequisite Pi Setup
- Updates for an existing Pi
sudo apt-get updatesudo apt-get upgrade
Library installation
sudo pip3 install adafruit-blinkasudo pip3 install adafruit-circuitpython-neopixel
This script is intended to turn on blue light in the morning for a four hour window, then turn the lights off for most of the day. In the evening, it will turn on red lights for a four hour window and then the LEDs will be turned off for the night. You can customize the timing, color and duration by modifying this script.
# SPDX-FileCopyrightText: 2019 Mikey Sklar for Adafruit Industries
#
# SPDX-License-Identifier: MIT
import datetime
import time
import board
import neopixel
pi_pin = board.D18
numpix = 144
brightness = 1.0
pixels = neopixel.NeoPixel(pi_pin, numpix, brightness=brightness)
# morning BLUE light hours
# BLUE light is stimulating
start_morning = "06:00:00"
end_morning = "10:00:00"
# evening RED light hours
# RED light is calming allows melatonin production to increase
start_night = "18:00:00"
end_night = "22:00:00"
color_change = False
while True:
date_string = datetime.datetime.now().strftime("%H:%M:%S" )
if date_string == start_morning:
color = (0, 0, 255)
color_change = True
elif date_string == end_morning:
color = (0, 0, 0)
color_change = True
elif date_string == start_night:
color = (255, 0, 0)
color_change = True
elif date_string == end_night:
color = (0, 0, 0)
color_change = True
else:
time.sleep(1)
# update neopixel strip with new colors
if color_change:
pixels.fill(color)
color_change = False
time.sleep(1)
Page last edited January 21, 2025
Text editor powered by tinymce.