Schlaue Pflanze - Mit dem Display verbinden

Schlaue Pflanze - Mit dem Display verbinden Titelbild

Folgende Teile braucht ihr für die Anleitung

Das Schlaue Pflanze Kit Produktbild

Das Schlaue Pflanze Kit | 19.95€

5110 48x84 Zeichen Display Produktbild

5110 48x84 Zeichen Display | 6.95€

Wir haben im Schlaue Pflanze Projekt schon viel darüber gelernt, Daten auszulesen und auszuwerten. Mit dem Display haben wir eine einfache Möglichkeit, diese Daten darzustellen. Und wenn wir schon einmal dabei sind, können wir das Display natürlich auch für eine Uhr benutzen. Teilweise musst du erst noch die richtige Zeitzone einstellen.

Mehr Über das Display und das Anwenden findest du hier Das 5110 Display.

git clone https://github.com/coding-world/Nokia_LCD
git clone https://github.com/coding-world/fonts
cd Nokia_LCD
sudo python setup.py install

Schlaue Pflanze mit Display am Raspberry Pi

Anschlüsse am Raspberry Pi Anschlüsse am Display
GPIO 24 1 - RST
GPIO 8 /SPI CE0 2 - CE
GPIO 23 3 - DC
GPIO 10 / SPI MOSI 4 - Din
GPIO 11 / SPI CLK 5 - CLK
3,3V 6 - VCC
3,3V 7 - BL
GND 8 - GND

display.py

import Nokia_LCD as LCD
import Adafruit_GPIO.SPI as SPI

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
import time

spiSettings = SPI.SpiDev(0,1, max_speed_hz=4000000)
d = LCD.PCD8544(23, 24, spi=spiSettings)

d.begin(contrast=60)
d.clear()
d.display()
font = ImageFont.truetype("/home/pi/fonts/Unique.ttf", 28)
fontSmall = ImageFont.truetype("/home/pi/fonts/Unique.ttf", 14)

def anzeige(text1, text2, text3):
    image = Image.new("1",(LCD.LCDWIDTH, LCD.LCDHEIGHT))
    draw = ImageDraw.Draw(image)
    draw.rectangle((0,0,84,48),outline=255,fill=255)
    d.clear()
    d.display()
    draw.text((1,1), text1, font=fontSmall)
    draw.text((5,10), text2, font=font)
    draw.text((1,34), text3, font=fontSmall)
    d.image(image)
    d.display()

anzeige_schlaue_pflanze.py

import Python_DHT
from display import anzeige
import spidev
import time
import os
import RPi.GPIO as gpio

# LED
led = 21
gpio.setmode(gpio.BCM)
gpio.setup(led, gpio.OUT)

# DHT11
sensor = Python_DHT.DHT11
pin = 4

# SPI Verbindung herstellen
spi = spidev.SpiDev()
spi.open(0,0)

# Liest Daten vom MCP3008
def analogEingang(channel):
  adc = spi.xfer2([1,(8+channel)<<4,0])
  data = ((adc[1]&3) << 8) + adc[2]
  return data

while True:
  bodenFeuchtigkeit = analogEingang(1)
  textPflanze = "By Norbert"

  if bodenFeuchtigkeit > 650:
    text2 = "Giess Mich"
    gpio.output(led, gpio.HIGH)
  else:
    text2 = time.strftime("%H:%M")
    gpio.output(led, gpio.LOW)

  feuchtigkeit, temperatur = Python_DHT.read_retry(sensor, pin)

  textTemperatur = str(temperatur)+" c"

  anzeige("Feuchtigkeit", str(bodenFeuchtigkeit), textPflanze)
  time.sleep(20)
  anzeige("Uhrzeit ", text2, textPflanze)
  time.sleep(20)
  anzeige("Temperatur", textTemperatur, textPflanze)
  time.sleep(20)

Und so sieht das dann am Ende aus

Raspberry Pi Pflanzen Anzeige 1 Raspberry Pi Pflanzen Anzeige 2 Raspberry Pi Pflanzen Anzeige 3

Noch Fragen oder Feedback?

Bevor du eine Frage stellen kannst musst du dich zuerst Anmelden oder Regestrieren!