Tri-Color USB Controlled Hemisphere Alarm Light with Buzzer
Description
With this Tri-Color USB Controlled Hemisphere Alarm Light with Buzzer, you can easily monitor and alert humanoids as to the status of a project, machine, or even if the bathroom is occupied!
Unlike our "12V" style tower lights, no wiring or microcontroller programming is required. It's completely plug-and-play for use with any computer that has a USB port, even a Raspberry Pi SBC - so we recommend it when you just want to get something running and don't want to noodle around with 12V power plugs and transistors.
The buzzer light is powered and controlled over USB, so just plug it right in. Inside is a microcontroller connected over a CH43x USB-to-UART chip, so you'll need to install a CH43x driver for the COM/Serial port to show up.
Once the serial port is created, connect to it over 9600 baud and send command codes to turn on and off the LEDs and enable/disable the buzzer. There's also a blink command, so you don't have to continuously turn on/off the LED to have a pulsing/blinking effect. See below for an example Python script that will toggle everything on/off to test.
Technical Details
Python code example to control the lamp over USB:
""" Example for Adafruit USB tower light w/alarm don't forge to `pip install pyserial` or `pip3 install pyserial` """ import serial import time serialPort = 'COM57' # Change to the serial/COM port of the tower light #serialPort = '/dev/USBserial0' # on mac/linux, it will be a /dev path baudRate = 9600 RED_ON = 0x11 RED_OFF = 0x21 RED_BLINK = 0x41 YELLOW_ON= 0x12 YELLOW_OFF = 0x22 YELLOW_BLINK = 0x42 GREEN_ON = 0x14 GREEN_OFF = 0x24 GREEN_BLINK = 0x44 BUZZER_ON = 0x18 BUZZER_OFF = 0x28 BUZZER_BLINK = 0x48 def sendCommand(serialport, cmd): serialport.write(bytes([cmd])) if __name__ == '__main__': mSerial = serial.Serial(serialPort, baudRate) # Clean up any old state sendCommand(mSerial, BUZZER_OFF) sendCommand(mSerial, RED_OFF) sendCommand(mSerial, YELLOW_OFF) sendCommand(mSerial, GREEN_OFF) # turn on each LED set in order sendCommand(mSerial, RED_ON) time.sleep(0.5) sendCommand(mSerial, RED_OFF) sendCommand(mSerial, YELLOW_ON) time.sleep(0.5) sendCommand(mSerial, YELLOW_OFF) sendCommand(mSerial, GREEN_ON) time.sleep(0.5) sendCommand(mSerial, GREEN_OFF) # beep! sendCommand(mSerial, BUZZER_ON) time.sleep(0.1) sendCommand(mSerial, BUZZER_OFF) # Use the built-in blink modes sendCommand(mSerial, RED_BLINK) time.sleep(3) sendCommand(mSerial, RED_OFF) sendCommand(mSerial, YELLOW_BLINK) time.sleep(3) sendCommand(mSerial, YELLOW_OFF) sendCommand(mSerial, GREEN_BLINK) time.sleep(3) sendCommand(mSerial, GREEN_OFF) # Please be kind, re-wind! sendCommand(mSerial, BUZZER_OFF) sendCommand(mSerial, RED_OFF) sendCommand(mSerial, YELLOW_OFF) sendCommand(mSerial, GREEN_OFF) mSerial.close()
Product Weight: 128.0g / 4.5oz
See our Distributors page for a complete list of distributors.