AE3 OLED Breakout¶
AE3 OLED Breakout yhdistää OpenMV AE3 -kortin 128 × 128 RGB OLED -näyttöön, 5-suuntaiseen ohjaussauvaan ja 10-nastaiseen ARM SWD -liittimeen mahdollistaen itsenäisen esikatselun, yksinkertaisen syötteen ja JTAG/SWD-virheenkorjauksen.
Täydellinen datalehti, kuvat ja tilaustiedot löytyvät AE3 OLED Breakout -tuotesivulta.
Kohokohdat¶
128 × 128 RGB OLED -näyttöä ohjaa SSD1351-ohjain SPI:n kautta.
AS90R 5-suuntainen ohjaussauva keskellä olevalla painikkeella, tuotuna ulos
P4/P5I²C -väylälle.Reset-painike ja palautuskytkin secure-enclave-UART-yhteyttä varten.
OLED-irrotuskytkin, jolla näyttö voidaan sähköisesti irrottaa SPI-väylästä.
Kaksi Qwiic-liitintä samalla
P4/P5I²C -väylällä.ARM 10-nastainen Cortex Debug -liitin SWD/JTAG-virheenkorjaukseen.
Neljä maadoituskoukun testipistettä.
Muista
Neljä kulmassa olevaa M1.6-kiinnitysreikää, joiden avulla breakoutin voi pultata koteloon tai kiinnikkeeseen.
Nastaviittaus¶
Kaikki breakoutin AE3-signaalit otetaan AE3:n pohjassa olevasta B2B-liittimestä ja tuodaan ulos kahteen sivunastaliittimeen — P0–P5 yhdellä puolella ja P6–P9 toisella — molemmat 3,3 V:n referenssillä. Kunkin nastan täydellinen vaihtoehtoisten toimintojen luettelo löytyy OpenMV AE3 -sivulta; breakout käyttää nastoja seuraavasti:
Nasta |
Referenssi |
AE3-ominaisuudet |
Breakoutin käyttö |
|---|---|---|---|
P0 |
3,3 V |
SPI0 MOSI / I2C2 SCL / UART4 TX / TIM0 T1 / PDM D3 |
OLED SPI MOSI |
P1 |
3,3 V |
SPI0 MISO / I2C2 SDA / UART4 RX / TIM0 T0 |
vapaa |
P2 |
3,3 V |
SPI0 SCLK / LPI2C SDA / UART5 TX / TIM1 T1 |
OLED SPI SCLK |
P3 |
3,3 V |
SPI0 SS / LPI2C SCL / UART5 RX / TIM1 T0 / PDM C3 |
OLED SPI CS |
P4 |
3,3 V |
I2C1 SCL / UART1 TX / TIM2 T1 / PDM C0 / CAN TX |
Ohjaussauva / Qwiic I²C SCL |
P5 |
3,3 V |
I2C1 SDA / UART1 RX / TIM2 T0 / PDM D0 / CAN RX |
Ohjaussauva / Qwiic I²C SDA |
RESET |
3,3 V |
NRST |
Paina kortilla olevaa RESET-painiketta tai vedä GND:hen nollataksesi AE3:n |
P6 |
3,3 V |
I2C1 SDA / UART3 CTS / TIM9 T0 |
vapaa |
P7 |
3,3 V |
I2C1 SCL / UART3 RTS / TIM9 T1 |
OLED RESET |
P8 |
3,3 V |
I3C SDA / UART3 RX / TIM5 T0 / ADC ch S10 |
OLED DC (rekisterin valinta) |
P9 |
3,3 V |
I3C SCL / UART3 TX / TIM5 T1 / ADC ch S11 |
Ohjaussauva IRQ (aktiivinen alhaalla tilan muuttuessa) |
3,3 V:n linja |
— |
— |
Syöttää virran OLED-näytölle, ohjaussauvan laajentimelle ja Qwiic-laitteille |
GND-linja |
— |
— |
Yhteinen maa |
Muista
Palautuskytkin kääntää AE3:n sisäistä USB-multiplekseriä: AE3:n omat USB-nastat irrotetaan USB-C-portista, ja niiden tilalle portille kytketään secure-enclave-UART:iin liitetty USB-sarjamuunnin. Kun kytkin on päällä, isäntäpuolen Alif-työkalut voivat keskustella secure enclaven kanssa ja ohjelmoida AE3:n käynnistyslataimen uudelleen. Jätä kytkin pois päältä normaalia käyttöä varten, jotta USB-C-portti toimii AE3:n USB-porttina.
Muista
OLED-kytkimen on oltava päällä, jotta OLED toimii — se ohjaa virtaa näytölle ja kytkee OLED-ohjausnastat (P0, P2, P3, P7, P8) AE3:n GPIO:hon. Kun kytkin on pois päältä, vain P4, P5 ja P9 pysyvät kytkettyinä. Kytkimen nykyinen tila näkyy ohjaussauvan laajentimessa bittinä 0x40 — laajentimen raaka nastalukema on alhaalla, kun kytkin on päällä.
Qwiic-liittimet¶
Breakoutilla on kaksi Qwiic 4-nastaista JST-SH 1,0 mm -liitintä, jotka jakavat saman P4/P5 I²C -väylän kortilla olevan ohjaussauvan laajentimen kanssa, joten lisättävien Qwiic-laitteiden on vältettävä ohjaussauvan laajentimen osoitetta (0x63).
Nasta |
Signaali |
|---|---|
1 |
GND |
+3,3 V |
2 |
3 |
SDA ( |
4 |
SCL ( |
JTAG-liitin¶
Breakoutilla oleva 10-nastainen 1,27 mm ARM Cortex Debug -liitin on kytketty suoraan AE3:n SWD/JTAG-linjoihin. Kaikki signaalit ovat 1,8 V:n referenssillä — käytä tasonsiirtoanturia tai sellaista, jonka kohdejännite seuraa VCC_REF-arvoa (nasta 1).
Nasta |
Signaali |
|---|---|
1 |
VCC_REF (+1,8 V) |
+3,3 V |
TMS (SWDIO) |
3 |
+1,8 V |
4 |
TCK (SWCLK) |
5 |
GND |
6 |
TDO (SWO) |
7 |
avain (ei nastaa) |
8 |
TDI |
9 |
GND |
10 |
DEBUG_RST_N (JTAG/virheenkorjauksen nollaus — erillinen järjestelmän NRST:stä) |
Käyttö¶
Ohjaa OLED-näyttöä display.SPIDisplay -luokan kautta SSD1351 -ohjainilmentymällä. Suoratoista kameran kehyksiä 128 × 128 -näytölle:
import csi
import time
import display
import image
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.VGA)
csi0.window((400, 400))
lcd = display.SPIDisplay(width=128, height=128,
controller=display.SSD1351())
clock = time.clock()
while True:
clock.tick()
lcd.write(csi0.snapshot(),
hint=image.CENTER | image.SCALE_ASPECT_KEEP)
print(clock.fps())
Lue 5-suuntaista ohjaussauvaa pakastetun pca9674a.PCA9674A -ajurin kautta. Laajennin asettaa P9:n aktiiviseksi tilan muuttuessa, joten kytke IRQ-takaisinkutsu, joka lukitsee uuden painiketilan. Painikkeet ovat aktiivisia alhaalla laajentimessa; alla oleva koodi XOR-operoi lukeman 0xFF:llä, joten asetettu bitti state-muuttujassa tarkoittaa painettua:
Bitti |
Suunta |
|---|---|
|
Ohjaussauva oikealle |
|
Ohjaussauva ylös |
|
Ohjaussauva vasemmalle |
|
Ohjaussauva alas |
|
Ohjaussauvan keskipainallus |
|
OLED-kytkin (asetettu |
import csi
import time
import display
from pca9674a import PCA9674A
from machine import I2C
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.VGA)
csi0.window((400, 400))
lcd = display.SPIDisplay(width=128, height=128,
controller=display.SSD1351())
clock = time.clock()
state = 0
cursor_x = 0
cursor_y = 0
def read_expander(pin):
global exp, state
# Buttons are active‑low on the expander; XOR for active‑high bits.
state = exp.read() ^ 0xFF
exp = PCA9674A(I2C(1), irq_pin="P9", callback=read_expander)
def update_cursor():
global cursor_x, cursor_y
if state & 0x01: cursor_x += 2 # Right
if state & 0x02: cursor_y -= 2 # Up
if state & 0x04: cursor_x -= 2 # Left
if state & 0x08: cursor_y += 2 # Down
if state & 0x10: # Centre
cursor_x = 0
cursor_y = 0
while True:
clock.tick()
update_cursor()
lcd.write(csi0.snapshot(), x=cursor_x, y=cursor_y,
x_scale=128 / 400, y_scale=128 / 400)
print(clock.fps())