zaterdag 23 maart 2013

Raspberry Hoofdunit deel 2.





In Raspberry Hoofdunit deel 1 liet ik al zien dat het lcd scherm al werkt , dus klaar is om ingebouwd te worden in de behuizing.


De volgende hardware gedeelte is de CPU indicator die de bezigheid van de cpu laat zien van de Raspberry Pi.
Om het mooi te houden heb ik niet voor losse leds gekozen maar voor 2 verschillende led bars.
1 met 3 kleuren rood en 7 kleuren groen en 1 met alleen groene leds.

Deze is wat ik dus gebruik ervoor.:





Deze 2 ledbars stuur ik met een MCP23017 IC.
 De layout ziet er zo uit.:


Ik heb gekozen op deze print om deels met smd te werken zodat het enigszins nog compact blijft.

Het resultaat is dan ook als volgt.:
Voor meer video's en foto's van dit te zien kun je deze vinden op www.vbib.be.
Werkend ziet het er dan zo uit.:
Moet wel even erbij vermelden dat de bovenste ledbar vervangen is door 1 met alleen maar groene leds voor mooier resultaat.

 

De code die ik gebruik om de CPU meter te laten werken in Python is als volgt.:

#!/usr/bin/python -tt
# Raspberryboard Mainunit V0.1
#
# Author : Pascal Schuffelers
# Site   : http://www.vbib.be
# 
# Date   : 15/03/2013 tijd.: 00:01
#
# Main unit interne vast adressen.:


import psutil as ps, smbus #make sure you have those modules!

bus = smbus.SMBus(1)

def write(*bytes):
	bus.write_byte_data(*bytes)
	
write(0x27, 0x00, 0x00)
write(0x27, 0x01, 0x00)
#global bank_a
#global bank_b

	
def led_bar(usage):
	
	bank_a = 1
	bank_b = 0
	nr_leds = int(round(usage/6.40)) #was 6.25
	
	if nr_leds <= 8 and nr_leds > 0:
		bank_a = (1< 8:
		bank_a = 255
		bank_b = (1<<(nr_leds-8))-1
	write(0x27, 0x12, bank_a)
	write(0x27, 0x13, bank_b)

def main():
	while True:
		usage = ps.cpu_percent(interval=0.1, percpu=False) #interval was 0.1
		led_bar(usage)
		
if __name__ == '__main__':
	main()

Geen opmerkingen:

Een reactie posten