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())