feat(examples): import robot_desktop — ESP32 animated-eyes face
Pulls https://github.com/davidmonterocrespo24/robot_desktop into the examples gallery as a real-world ESP32 + sensors project. Cozmo-style desktop robot: SSD1306 OLED face that blinks, looks around, and shows emotions; DHT11 weather mode triggered after 10 min idle; PIR wakeup from sleep; LDR-driven sleep when the room goes dark; sound-triggered reactions; and two eyebrow servos. Ships as 34 separate files (one .ino + 33 headers / source) rather than the usual single-sketch flatten. The face engine (Eye / EyeTransition / EyeVariation / FaceBehavior / FaceExpression / FaceEmotions / BlinkAssistant / LookAssistant / …) splits responsibility across enough classes that flattening would obscure the design. Velxio's multi-file `files: [{ name, content }]` mechanism handles this cleanly — the editor mounts the .ino as the active sketch and the rest sit in the same workspace. Pre-placed components match the original board's pin map verbatim from Common.h: - SSD1306 OLED on I²C (SDA=21, SCL=22 — ESP32 default) - DHT11 on GPIO 15 - PIR motion on GPIO 4 - Big sound sensor on GPIO 2 - Photoresistor on GPIO 34 (ADC1) - Right eyebrow servo on GPIO 12 - Left eyebrow servo on GPIO 13 Arduino libraries (U8g2lib, DHT, ESP32Servo, Adafruit_Sensor) are auto-installed by velxio's Library Manager on the first compile. Category 'displays', difficulty 'advanced', tags cover both the sensor list and the project's identity (cozmo / robot / animation / eyes) so the gallery search surfaces it from multiple angles. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
f619a2cc7e
commit
28826e928e
File diff suppressed because one or more lines are too long
|
|
@ -11,6 +11,7 @@ import { hundredDaysExamples } from './examples-100-days';
|
||||||
import { picowWifiExamples } from './examples-picow-wifi';
|
import { picowWifiExamples } from './examples-picow-wifi';
|
||||||
import { epaperExamples } from './examples-displays-epaper';
|
import { epaperExamples } from './examples-displays-epaper';
|
||||||
import { retroIntelExamples } from './examples-retro-intel';
|
import { retroIntelExamples } from './examples-retro-intel';
|
||||||
|
import { robotDesktopExamples } from './examples-robot-desktop';
|
||||||
|
|
||||||
/** Per-board setup for multi-board examples */
|
/** Per-board setup for multi-board examples */
|
||||||
export interface ExampleBoard {
|
export interface ExampleBoard {
|
||||||
|
|
@ -7652,6 +7653,7 @@ export const exampleProjects: ExampleProject[] = [
|
||||||
...picowWifiExamples,
|
...picowWifiExamples,
|
||||||
...epaperExamples,
|
...epaperExamples,
|
||||||
...retroIntelExamples,
|
...retroIntelExamples,
|
||||||
|
...robotDesktopExamples,
|
||||||
];
|
];
|
||||||
|
|
||||||
// Get examples by category
|
// Get examples by category
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue