Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/boards/mcu/mcu-overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -175,11 +175,11 @@ export const MCUManager = () => {
<NavBlocks href="/docs/hardware/bee/wifi-bee?board=edu" title="Wifi-Bee" />
<NavBlocks href="/docs/hardware/bee/sd-bee?board=edu" title="SD-Bee" />
<NavBlocks
href="/docs/hardware/sensors/temperatur-luftfeuchte?board=edu"
href="/docs/hardware/sensors/temperatur-luftfeuchte/temperatur-luftfeuchte?board=edu"
title="Temperatur- und Luftfeuchtesensor"
/>
<NavBlocks
href="/docs/hardware/sensors/helligkeit-uv?board=edu"
href="/docs/hardware/sensors/helligkeit-uv/helligkeit-uv?board=edu"
title="Helligkeits- und UV-Sensor"
/>
<NavBlocks
Expand All @@ -188,11 +188,11 @@ export const MCUManager = () => {
/>
<NavBlocks href="/docs/hardware/sensors/mikro?board=edu" title="Mikrofon" />
<NavBlocks
href="/docs/hardware/sensors/luftdruck-temperatur?board=edu"
href="/docs/hardware/sensors/luftdruck-temperatur/luftdruck-temperatur?board=edu"
title="Luftdruck- und Temperatursensor"
/>
<NavBlocks
href="/docs/hardware/accessoires/display?board=edu"
href="/docs/hardware/accessoires/display/display?board=edu"
title="OLED Display"
/>
<NavBlocks
Expand Down
18 changes: 9 additions & 9 deletions docs/boards/mcus2/mcu-s2-overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -134,27 +134,27 @@ export const MCUManager = () => {
</div>
<div className="grid grid-cols-2 md:grid-cols-3 gap-4 py-8">
<NavBlocks
href="/docs/hardware/sensors/temperatur-luftfeuchte?board=edus2"
href="/docs/hardware/sensors/temperatur-luftfeuchte/temperatur-luftfeuchte?board=edus2"
title="Temperatur- und Luftfeuchtesensor"
/>
<NavBlocks
href="/docs/hardware/sensors/helligkeit-uv?board=edus2"
href="/docs/hardware/sensors/helligkeit-uv/helligkeit-uv?board=edus2"
title="Helligkeits- und UV-Sensor"
/>
<NavBlocks
href="/docs/hardware/sensors/luftdruck-temperatur?board=edus2"
href="/docs/hardware/sensors/luftdruck-temperatur/luftdruck-temperatur?board=edus2"
title="Luftdruck- und Temperatursensor"
/>
<NavBlocks
href="/docs/hardware/sensors/photodiode?board=edus2"
href="/docs/hardware/sensors/photodiode/photodiode?board=edus2"
title="Photodiode"
/>
<NavBlocks
href="/docs/hardware/sensors/mpu6050?board=edus2"
href="/docs/hardware/sensors/mpu6050/mpu6050?board=edus2"
title="Beschleunigungssensor"
/>
<NavBlocks
href="/docs/hardware/sensors/tof?board=edus2"
href="/docs/hardware/sensors/tof/tof?board=edus2"
title="Time-of-Flight (ToF) Sensor"
/>
<NavBlocks
Expand All @@ -164,15 +164,15 @@ export const MCUManager = () => {
<NavBlocks href="/docs/hardware/bee/wifi-bee?board=edus2" title="WiFi" />
<NavBlocks href="/docs/hardware/bee/sd-bee?board=edus2" title="SD-Modul" />
<NavBlocks
href="/docs/hardware/accessoires/display?board=edus2"
href="/docs/hardware/accessoires/display/display?board=edus2"
title="OLED Display"
/>
<NavBlocks
href="/docs/hardware/accessoires/rgb-led-esp32?board=edus2"
href="/docs/hardware/accessoires/rgb-led-esp32/rgb-led-esp32?board=edus2"
title="ESP32 RGB-LED"
/>
<NavBlocks
href="/docs/hardware/accessoires/led-matrix?board=edus2"
href="/docs/hardware/accessoires/led-matrix/led-matrix?board=edus2"
title="LED-Matrix"
/>
<NavBlocks
Expand Down
4 changes: 2 additions & 2 deletions docs/boards/mini/mini-overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -107,11 +107,11 @@ export const MCUManager = () => {
<NavBlocks href="/docs/hardware/bee/wifi-bee?board=mini" title="Wifi-Bee" />
<NavBlocks href="/docs/hardware/bee/sd-bee?board=mini" title="SD-Bee" />
<NavBlocks
href="/docs/hardware/accessoires/display?board=mini"
href="/docs/hardware/accessoires/display/display?board=mini"
title="OLED Display"
/>
<NavBlocks
href="/docs/hardware/sensors/umweltsensor?board=mini"
href="/docs/hardware/sensors/umweltsensor/umweltsensor?board=mini"
title="Umweltsensor"
/>
<NavBlocks
Expand Down
27 changes: 27 additions & 0 deletions docs/hardware/accessoires/display/arduino-display.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h> // http://librarymanager/All#Adafruit_GFX_Library
#include <Adafruit_SSD1306.h> // http://librarymanager/All#Adafruit_SSD1306


#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3D);
display.display();
delay(100);
display.clearDisplay();
}


void loop() {
display.setCursor(0,0);
display.setTextSize(1);
display.setTextColor(WHITE,BLACK);
display.println("Hallo Welt!");
display.display();
}
63 changes: 63 additions & 0 deletions docs/hardware/accessoires/display/circuitpy-display.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import board
import displayio
import digitalio
import terminalio
from adafruit_display_text import label
import adafruit_displayio_ssd1306

# IO Enable
io_enable_pin = digitalio.DigitalInOut(board.IO_POWER)
io_enable_pin.direction = digitalio.Direction.OUTPUT
io_enable_pin.value = False

displayio.release_displays()

#oled_reset = board.D9

# Use for I2C
i2c = board.I2C() # uses board.SCL and board.SDA
# i2c = board.STEMMA_I2C() # For using the built-in STEMMA QT connector on a microcontroller
display_bus = displayio.I2CDisplay(i2c, device_address=0x3D)

# Use for SPI
# spi = board.SPI()
# oled_cs = board.D5
# oled_dc = board.D6
# display_bus = displayio.FourWire(spi, command=oled_dc, chip_select=oled_cs,
# reset=oled_reset, baudrate=1000000)

WIDTH = 128
HEIGHT = 64 # Change to 64 if needed
BORDER = 5

display = adafruit_displayio_ssd1306.SSD1306(display_bus, width=WIDTH, height=HEIGHT)

# Make the display context
splash = displayio.Group()
display.root_group = splash

color_bitmap = displayio.Bitmap(WIDTH, HEIGHT, 1)
color_palette = displayio.Palette(1)
color_palette[0] = 0xFFFFFF # White

bg_sprite = displayio.TileGrid(color_bitmap, pixel_shader=color_palette, x=0, y=0)
splash.append(bg_sprite)

# Draw a smaller inner rectangle
inner_bitmap = displayio.Bitmap(WIDTH - BORDER * 2, HEIGHT - BORDER * 2, 1)
inner_palette = displayio.Palette(1)
inner_palette[0] = 0x000000 # Black
inner_sprite = displayio.TileGrid(
inner_bitmap, pixel_shader=inner_palette, x=BORDER, y=BORDER
)
splash.append(inner_sprite)

# Draw a label
text = "Hello senseBox!"
text_area = label.Label(
terminalio.FONT, text=text, color=0xFFFFFF, x=28, y=HEIGHT // 2 - 1
)
splash.append(text_area)

while True:
pass
76 changes: 76 additions & 0 deletions docs/hardware/accessoires/led-matrix/circuitpy-led-matrix.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
import board
import digitalio
import neopixel
from adafruit_pixel_framebuf import PixelFramebuffer
import time


# Stromversorgung der IO-Ports der senseBox MCU-S2 aktivieren
io_enable_pin = digitalio.DigitalInOut(board.IO_POWER)
io_enable_pin.direction = digitalio.Direction.OUTPUT
io_enable_pin.value = False


# Datenpin der LED-Matrix
# Die Matrix ist an Port A / D2 angeschlossen
pixel_pin = board.D2


# Abmessungen der LED-Matrix
WIDTH = 12
HEIGHT = 8


# NeoPixel-Objekt für alle 96 LEDs der Matrix erstellen
pixels = neopixel.NeoPixel(
pixel_pin, # Datenpin
WIDTH * HEIGHT, # Anzahl der LEDs: 12 * 8 = 96
brightness=0.05, # Helligkeit von 0.0 bis 1.0
pixel_order=neopixel.GRB, # Die senseBox-Matrix verwendet GRB statt RGB
auto_write=False # Änderungen erst mit display() anzeigen
)


# Die NeoPixel-Kette als 12 x 8 Pixel große Matrix verwenden
matrix = PixelFramebuffer(
pixels,
WIDTH,
HEIGHT,
alternating=True # LEDs sind zeilenweise abwechselnd verdrahtet
)


# Text, der über die Matrix laufen soll
text = "Hello world!"


# Endlosschleife: Der Text wird immer wieder neu gescrollt
while True:

# Die verwendete Schrift ist 5 Pixel breit.
# Zusätzlich wird 1 Pixel Abstand zwischen den Zeichen eingeplant.
# Daher benötigt jedes Zeichen ungefähr 6 Pixel Breite.
text_width = len(text) * 6

# x startet bei 12, also rechts außerhalb der Matrix.
# Danach wird x bei jedem Durchlauf um 1 kleiner.
# Der Text bewegt sich dadurch von rechts nach links.
for x in range(WIDTH, -text_width, -1):

# Alle LEDs ausschalten, damit die vorherige Textposition verschwindet
matrix.fill(0x000000)

# Text an der aktuellen Position zeichnen
matrix.text(
text, # anzuzeigender Text
x, # horizontale Position
0, # vertikale Position
0xFF0000 # Textfarbe: Rot
)

# Gezeichneten Inhalt auf die LED-Matrix übertragen
matrix.display()

# Kurze Pause zwischen den einzelnen Positionen
# Kleinere Werte = schnelleres Scrollen
time.sleep(0.1)
16 changes: 16 additions & 0 deletions docs/hardware/accessoires/rgb-led-esp32/arduino-rgb-led-esp32.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel rgb_led_1

void setup() {
rgb_led_1.begin();
rgb_led_1.setBrightness(30);
}

void loop() {
if (time_startInterval > time_actualInterval + intervalInterval)
{
time_actualInterval = millis();
rgb_led_1.setPixelColor(0,rgb_led_1.Color(random(0, 255), random(0, 255), random(0, 255)));
rgb_led_1.show();
}
}
21 changes: 21 additions & 0 deletions docs/hardware/accessoires/rgb-led-esp32/circuitpy-rgb-led-esp32.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import time
import board
import neopixel

# Konfiguration
PIXEL_PIN = board.D1 # der Pin, an dem der NeoPixel angeschlossen ist
# Der NeoPixel auf dem senseBox MCU-S2 verwendet offenbar die Reihenfolge GRB statt RGB
ORDER = neopixel.GRB # Reihenfolge der Farben (RGB oder GRB)
COLOR = (0, 255, 0) # Farbe, die geblinkt werden soll (RGB-Werte von 0 bis 255)
CLEAR = (0, 0, 0) # LED im ausgeschalteten Zustand (oder eine andere Farbe, wenn gewünscht)
DELAY = 0.25 # Blinkgeschwindigkeit in Sekunden (0,25 Sekunden = 250 Millisekunden)

# Erstelle ein NeoPixel-Objekt für die LED
pixel = neopixel.NeoPixel(PIXEL_PIN, 1, pixel_order=ORDER)

# Endlosschleife, um die LED blinken zu lassen
while True:
pixel[0] = COLOR
time.sleep(DELAY)
pixel[0] = CLEAR
time.sleep(DELAY)
Loading