Hey,
so hier ist das Python-Programm für den Low-Voltage Shutdown:
Code:
import smbus
import time
import os
# Adresse
PSoC_ADC = 0x40 # I2C Adresse vom PSoC ADC
# Variablen
Wert = [0, 0]
Spannung = 5.0 # Referenzspannung vom PSoC
Aufloesung = 14 # Aufloesung des ADC
Ref = Spannung / (2**Aufloesung) # Referenzspannung berechnen
while 1:
# I2C Bus 0 oeffnen
Bus = smbus.SMBus(0)
# Daten lesen und in einer Liste zwischenspeichern
for Adresse in range(2):
Wert[Adresse - 1] = Bus.read_byte_data(PSoC_ADC, Adresse)
# Daten umwandeln
Voltage = Wert[0] + (Wert[1] << 8)
Voltage = Ref * Voltage
if Voltage < 2.5:
print "Unterspannung!"
os.system("shutdown -r now")
break
# 1 Sekunde warten
time.sleep(1)
Die Schaltschwelle kann noch variiert werden (dient erstmal nur zum testen und bisher läuft das eh nur über ein Poti).
Lesezeichen