commit 8e27665e2133cda7da7c83902b4494c2f7f23ffd Author: Ballance Date: Mon Aug 24 14:09:36 2026 -0400 initial diff --git a/Townhouse-Lighting-Wiring-Reference.pdf b/Townhouse-Lighting-Wiring-Reference.pdf new file mode 100644 index 0000000..a94a5ed Binary files /dev/null and b/Townhouse-Lighting-Wiring-Reference.pdf differ diff --git a/ext-zone.html b/ext-zone.html new file mode 100644 index 0000000..2ad34bf --- /dev/null +++ b/ext-zone.html @@ -0,0 +1,141 @@ +EXT Zone, Transistor & Collector Node + +
+

EXT zone, the transistor & the collector node

+

5 exterior LEDs in parallel · one PN2222 switches them all · D6

+ +
+ + + + +5V rail + + + GND rail + + + + + + collector node + (where all 5 branches meet the transistor) + + + + + + + + + 220 + + porch A + + + + + + + + 220 + + porch B + + + + + + + + 220 + + entry + + + + + + + + 220 + + deck + + + + + + + + 220 + + balcony + + + + + + + Q3 + PN2222 + + C (collector) + + + + E → GND + + + B + 1kΩ + + D6 (PWM) ──► base + + current: +5V → each LED → its 220Ω → collector node → (Q3) → emitter → GND + +
+ +5V + wire / GND + D6 signal + LED +
+
+ +
+ The three transistor legs +
    +
  • C collector, current comes in from the 5 LEDs (the "collector node")
  • +
  • B base, the control leg; D6 flips it on/off through the 1kΩ
  • +
  • E emitter, current goes out to GND
  • +
+

D6 high → base opens the valve → all 5 LEDs drain through C→E to ground → they light. + Leg order on the part (flat face toward you): E · B · C, left→right, collector is the right leg.

+
+
diff --git a/full-wiring.html b/full-wiring.html new file mode 100644 index 0000000..c6a2b1e --- /dev/null +++ b/full-wiring.html @@ -0,0 +1,331 @@ +House Lighting, Full Wiring (transistor build) + +
+

House Lighting, full wiring (transistor build)

+

4 zones · PN2222 low-side switch per zone · Arduino Uno R3 · 5V USB · townhouse_lights.ino

+ +
+ + + + +5V rail + + GND rail + + + + USB bank 5V + + USB (bench) + + + + master sw + + + + + + + + + + + + + MBR030 diode-OR → rail + + + + + + + + Arduino Uno + + 5V + + + GND + + + + D3 + D5 + D6 + D9 + D2 + D4 + + + + BTN + + scene (D2) + + BTN + + section (D4) + + + + + + + + + + + + + 220 + + + + + + 220 + + + GF · Q1×2 LEDs + + + Q1 + + EC + + + + 1kΩ + + + + + + + + + + 220 + + + + + + 220 + + + UP · Q2×3 LEDs + + Q2 + + + + 1kΩ + + + + + + + + + + 220 + + + + + + 220 + + + EXT · Q3×5 LEDs + + Q3 + + + + 1kΩ + + + + + + + + + + 220 + + FIRE · Q4×1 LED + RED · flicker + + Q4 + + + + 1kΩ + + + + +
+ +5V + wire / GND + signal (PWM → base) + LED (warm white) + FIRE = red LED + · crossing lines with no dot = not connected +
+
+ +
+ Running the wire, shared buses, not home-runs +

One +5V wire snakes past every fixture (shared by all zones). + Each zone has one return wire back to its transistor. Every LED just bridges the two nearest buses.

+ + + + +5V bus, shared by ALL fixtures + + + GF return → Q1 + + + EXT return → Q3 + + (returns run back to the driver board) + + + + + + + + + + 220 + + + porch A + + + + + + + + + 220 + + + GF living + + + + + + + + + 220 + + + entry + ← no dot: crosses + GF bus, not joined + + + + + + + + + 220 + + + GF kitchen + + + + + + + + + 220 + + + porch B + + +
+ +5V bus (shared) + GF return + EXT return + · solid dot = tap/join · line crossing with no dot = not connected +
+
    +
  • Daisy-chain, don't home-run: tap the passing +5V and zone-return buses at each fixture, don't run separate pairs all the way back to the board.
  • +
  • One +5V for the whole house + one return per zone (4 zones → 4 returns; 6 → 6). That's the total wire count out of the board.
  • +
  • Different zones near each other share the +5V bus but must keep separate return wires, never let two zone returns touch, or they switch together.
  • +
  • Put each 220Ω at the LED (heat-shrink it) so the buses stay clean two-conductor runs. Color-code: red = +5V, a distinct color per return.
  • +
+
+ +
+ + + + + + + + +
ZonePin → 1kΩ → baseTransistorLEDs (each +5V→LED→220Ω→collector)
GF_INTD3Q1 (PN2222)2, living + kitchen ceilings
UP_INTD5Q23, 2 bedroom ceilings, attic
EXTD6Q35, porch A/B, entry, deck, balcony
FIRED9Q41, hearth · RED LED (flickers)
scene buttonD2 → button → GND, cycles scenes / wakes
section buttonD4 → button → GND, spotlight one zone: GF→UP→EXT→FIRE→off
+
+ +
+ Build & wiring rules +
    +
  • Every zone's transistor: E→GND rail, C→that zone's LED bundle, base←pin through 1kΩ. Legs (flat face toward you): E · B · C.
  • +
  • Every LED: long leg (+) → +5V, short leg (−) → its own 220Ω → the zone's collector. One resistor per LED.
  • +
  • Add more LEDs to a zone by hanging more of these branches in parallel on the same collector.
  • +
  • FIRE zone uses a RED LED; all other zones warm-white/white. (Color is hardware only, the sketch just sets brightness.)
  • +
  • Two buttons, each to GND (internal pull-ups, no resistor): D2 = scene cycle, D4 = section spotlight (one zone at a time). Either wakes from idle.
  • +
  • Power: USB bank → master switch → diode-OR → +5V rail. Bench-test on computer USB alone. Only ONE 5V source live at a time (the diode-OR makes that safe if both are ever connected).
  • +
  • Common ground everywhere: bank −, Arduino GND, all emitters share the one GND rail.
  • +
+
+
diff --git a/gru-wiring.html b/gru-wiring.html new file mode 100644 index 0000000..88c190a --- /dev/null +++ b/gru-wiring.html @@ -0,0 +1,368 @@ +House Lighting, Gru & the Minions (interactive) + +
+

House Lighting, Gru gives the orders

+

Click a command. Gru shouts it, the right minion (a ULN2803A channel) yanks its zone to ground, and the lights come on. Same wiring as the build.

+ + + + + + + + + + + + + + + + + + + + + + + + G + + + + + + + + + + + + + + + + + + + + + + + G + + + + + + + + + + + + + + + + + + + + + + + + G + + + + + + + + + + + + + + + + + + + + + G + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + +
+
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + GF · ×2 white + 220 + + OUT1 · pin18 + + + + ground floor · off + + + + + + + + + UP · ×3 white + 220 + + OUT2 · pin17 + + + + upstairs · off + + + + + + + + + + + EXT · ×5 white + 220 + + OUT3 · pin16 + + + + exterior lights · off + + + + + + + FIRE · ×1 RED + 220 + + OUT4 · pin15 + + + + + fireplace · off + + + + + GRU + = Arduino · the boss + shouts PWM on + D3 · D5 · D6 · D9 + + + + + + + + + D3→IN1 + D5→IN2 + D6→IN3 + D9→IN4 + + + + + + MINIONS! + Await orders… + + +
+ zone wire (LED → OUT) + ▬→ active order · ▬ ▬ idle + · each minion sinks its zone to ground (ULN pin 9), see the pin map below +
+
+ + +
+ The actual pin map + + + + + + +
ZoneGru says (Arduino)Minion ear (ULN in)Minion hand (ULN out)Lights
GF_INTD3IN1 · pin 1OUT1 · pin 182 white
UP_INTD5IN2 · pin 2OUT2 · pin 173 white
EXTD6IN3 · pin 3OUT3 · pin 165 white
FIRED9IN4 · pin 4OUT4 · pin 151 red
+

No 1kΩ base resistors (built into the ULN). Each LED: +5V → LED → 220Ω → OUTx. Same sketch, same scenes.

+
+
+ + diff --git a/presentation.html b/presentation.html new file mode 100644 index 0000000..2c7c67b --- /dev/null +++ b/presentation.html @@ -0,0 +1,246 @@ +Watt a House! Class Presentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ MY PROJECT +

Watt a House!

+

How I made a tiny house turn its lights on and off, with help from Gru and the Minions!

+ +

By Sebastian Ballance · Third Year, Lower Elementary

+
+ + +
+

What I built

+

A house where I can turn on the lights!

+
    +
  • living room & kitchen
  • +
  • bedrooms upstairs
  • +
  • porch & outside lights
  • +
  • a fireplace that flickers
  • +
+
+ + +
+

The tricky part

+

How do you control SO many little lights at once?

+

I needed a boss to give orders… and helpers to do the heavy work.

+
+ + +
+

Meet the boss: GRU

+ +
    +
  • Gru is the brain (a tiny computer)
  • +
  • He gives the orders
  • +
  • But he's too weak to do the heavy work himself!
  • +
+
+ + +
+

Meet the workers: the Minions

+
+
ground floor
+
upstairs
+
outside
+
fireplace
+
+

Each minion turns on one part of the house.

+
+ + +
+

How it works

+
    +
  1. Gru shouts: “Turn on the outside lights!”
  2. +
  3. That minion flips its switch
  4. +
  5. The lights glow!
  6. +
+
+ + +
+

Let's try it!

+
+

Open the Minions page and click a button!

+

Try “Exterior lights” and “Fireplace”

+
+

(Grown-up: open gru-wiring.html for the live demo)

+
+ + +
+

What's inside

+
    +
  • Brain, the boss (Gru)
  • +
  • Chip, the minions (helpers)
  • +
  • LEDs, the little lights
  • +
  • Resistors, keep the lights safe
  • +
  • Battery, the power
  • +
  • Wires, connect it all
  • +
+
+ + +
+

4 cool things I learned

+
    +
  • Electricity flows in a loop, like a race track
  • +
  • An LED is a tiny light that only works one way, backwards it stays dark!
  • +
  • A transistor is a tiny switch, a chip has billions, each smaller than a hair!
  • +
  • A resistor is a seatbelt for the light so it won't burn out
  • +
+
+ + +
+ THE END +

Thanks for watching!

+

Any questions?

+ +
+ +
+ +
+ +
+
1 / 10
+ + +
+
+ + diff --git a/report.html b/report.html new file mode 100644 index 0000000..019c68c --- /dev/null +++ b/report.html @@ -0,0 +1,108 @@ +Watt a House! Report + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Watt a House!

+
By Sebastian Ballance  ·  Third Year, Lower Elementary  ·  Science Project
+
+ +

I built a house where the rooms really light up! I can turn on the living room, the bedrooms, the porch outside, and even a fireplace that flickers like real fire. I can turn them on one at a time, or all at once.

+ +

The problem

+
+ +
Gru = the brain
+
+

My house has lots of tiny lights. Something has to tell them all when to turn on and off. So I used a boss to give the orders and helpers to do the heavy work. To make it easy to understand, I think about them like Gru and the Minions from the movie!

+ +

Gru is the boss

+

The brain of my house is a tiny computer called an Arduino. I call it Gru. Gru is smart and gives all the orders, like “turn on the outside lights!” But Gru is too weak to power all the lights by himself. He needs helpers.

+ +

The Minions do the work

+
+ +
A minion = one switch
+
+

The helpers live inside a little black chip (its real name is a ULN2803A). I think of them as minions. Each minion has one job: turn on one part of the house. When Gru shouts an order, the right minion flips its switch and lets the electricity through. That makes the lights glow!

+ +
Gru shouts the order, the minion flips the switch, the lights turn on!
+ +

What's inside

+
+
Brain (Arduino), the boss
+
Chip, the minions
+
LEDs, the little lights
+
Resistors, keep lights safe
+
Battery, the power
+
Wires, connect everything
+
+ +

What I would like to teach you

+
+

Electricity flows in a loop, like a race track. It has to go all the way around to work.

+

An LED is a tiny light. It only works one way, so if you put it in backwards it stays dark! LED is short for Light Emitting Diode.

+

A transistor is a tiny switch. There are billions of them inside one chip, and each one is smaller than a human hair!

+

A resistor is like a seatbelt for a light. It stops the light from getting too much power and burning out.

+
+ +

The best part

+

My favorite part is the fireplace. It uses a red light that flickers, so it looks like a real fire in the house. When I press the button, Gru tells the fireplace minion to turn it on!

+ +
+ Thank you for reading about my light-up house! +
+
diff --git a/simulator.html b/simulator.html new file mode 100644 index 0000000..1ecd04e --- /dev/null +++ b/simulator.html @@ -0,0 +1,224 @@ +House Lighting, Simulator + +
+

House Lighting, live simulator

+

Runs the same logic as townhouse_lights.ino: scenes, PWM brightness, fireplace flicker, idle auto-off, boot self-check.

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
Evening
+
scene 1 of 4 · press the button to cycle
+ +
GF_INT · D3
0
+
UP_INT · D5
0
+
EXT · D6
0
+
FIRE · D9
0
+ +
+ + + +
+ +
+ idle off + + 20 s +
+
+ + +
+ Scenes: Evening → All On → Night → Off
+ Fireplace flickers 55 + random(0,130) each frame when its scene has fire on.
+ Idle: slider stands in for the firmware's real 20 min auto-off. +
+
Tip: press Space to cycle scenes.
+
+
+
+ + diff --git a/townhouse_lights/townhouse_lights.ino b/townhouse_lights/townhouse_lights.ino new file mode 100644 index 0000000..8f0b8f7 --- /dev/null +++ b/townhouse_lights/townhouse_lights.ino @@ -0,0 +1,88 @@ +// Townhouse dollhouse lighting, Arduino Uno R3, discrete zone outputs (no addressable data line). +// Each zone = one PWM pin -> 1k -> PN2222 base; transistor sinks that zone's LEDs to ground. +// Each LED has its own ~200-220 ohm series resistor: +5V -> LED -> R -> transistor collector. +// FIRE zone uses a RED LED; all other zones warm-white/white. (Color is hardware only, no code change.) +// No library needed. + +#define PIN_GF 3 // ground-floor interior (living + kitchen ceilings) -> Q1 base via 1k +#define PIN_UP 5 // upstairs interior (bedrooms + attic) -> Q2 base via 1k +#define PIN_EXT 6 // exterior (porch, entry, deck, balcony) -> Q3 base via 1k +#define PIN_FIRE 9 // fireplace / hearth (red) -> Q4 base via 1k +#define BTN_PIN 2 // momentary button to GND: cycles scenes / wakes +#define BTN_SECT 4 // momentary button to GND: spotlight one zone at a time (GF->UP->EXT->FIRE->off) +#define IDLE_OFF_MS (20UL * 60UL * 1000UL) // cordless: fade dark after 20 min idle + +// Per-zone brightness 0-255. Dollhouse rooms read best DIM, this is your knob +// (or raise the LED series resistors to knock brightness back in hardware). +uint8_t gGF, gUP, gEXT; +bool fireOn; + +// ---- Scenes --------------------------------------------------------------- +void sceneEvening(){ gGF = 60; gUP = 40; gEXT = 140; fireOn = true; } // cozy, fire lit +void sceneAllOn() { gGF = 90; gUP = 90; gEXT = 120; fireOn = true; } +void sceneNight() { gGF = 0; gUP = 0; gEXT = 30; fireOn = true; } // porch + embers +void sceneOff() { gGF = 0; gUP = 0; gEXT = 0; fireOn = false; } + +typedef void (*Scene)(); +Scene scenes[] = {sceneEvening, sceneAllOn, sceneNight, sceneOff}; +const uint8_t N_SCENES = sizeof(scenes) / sizeof(scenes[0]); +uint8_t sceneIdx = 0; +unsigned long lastActive = 0; + +// ---- Section spotlight ---------------------------------------------------- +// BTN_SECT lights exactly ONE zone at a time, then all off, then repeats. +uint8_t sectIdx = 0; // 0=GF 1=UP 2=EXT 3=FIRE 4=all off +const uint8_t N_SECT = 5; +void applySpotlight(uint8_t i){ + gGF = (i == 0) ? 90 : 0; + gUP = (i == 1) ? 90 : 0; + gEXT = (i == 2) ? 120 : 0; + fireOn = (i == 3); +} + +void setup() { + pinMode(PIN_GF, OUTPUT); pinMode(PIN_UP, OUTPUT); + pinMode(PIN_EXT, OUTPUT); pinMode(PIN_FIRE, OUTPUT); + pinMode(BTN_PIN, INPUT_PULLUP); + pinMode(BTN_SECT, INPUT_PULLUP); + // Power-on self-check: pulse each output in turn, so a dead zone shows itself immediately. + const uint8_t pins[] = {PIN_GF, PIN_UP, PIN_EXT, PIN_FIRE}; + for (uint8_t i = 0; i < 4; i++) { analogWrite(pins[i], 120); delay(220); analogWrite(pins[i], 0); } + scenes[sceneIdx](); + lastActive = millis(); +} + +void loop() { + // Button: cycle scene + reset idle timer. + static bool prev = HIGH; + bool now = digitalRead(BTN_PIN); + if (prev == HIGH && now == LOW) { + sceneIdx = (sceneIdx + 1) % N_SCENES; + scenes[sceneIdx](); + lastActive = millis(); + delay(30); // debounce + } + prev = now; + + // Section button: spotlight one zone at a time (GF -> UP -> EXT -> FIRE -> off). + static bool prevS = HIGH; + bool nowS = digitalRead(BTN_SECT); + if (prevS == HIGH && nowS == LOW) { + sectIdx = (sectIdx + 1) % N_SECT; + applySpotlight(sectIdx); + lastActive = millis(); + delay(30); // debounce + } + prevS = nowS; + + // Cordless battery saver. + if (millis() - lastActive > IDLE_OFF_MS) sceneOff(); + + analogWrite(PIN_GF, gGF); + analogWrite(PIN_UP, gUP); + analogWrite(PIN_EXT, gEXT); + // Fireplace: amber-ish flicker around a low base when on. + analogWrite(PIN_FIRE, fireOn ? (55 + random(0, 130)) : 0); + + delay(30); // ~33 Hz, smooth flicker, snappy button +} diff --git a/transistor-stage0.html b/transistor-stage0.html new file mode 100644 index 0000000..0c96de6 --- /dev/null +++ b/transistor-stage0.html @@ -0,0 +1,153 @@ +Transistor Stage 0, One Zone + +
+

Transistor Stage 0, one zone (GF / D3)

+

PN2222 low-side switch · clone ×4 for the other pins · Arduino Uno R3

+ +
+ + + + +5V rail + + + GND rail + + + + Uno + + 5V + + + + + D3 + + + D2 + + + GND + + + + + + + 1kΩ + + + + + Q1 + PN2222 + + + B + + + C + + + E → GND + + + + + + + + + + LED + warm white + anode + + + + + 220Ω + + + + + + + + + BTN + + + D2 → button → GND + + + current: +5V → LED → 220Ω → collector → (Q1) → emitter → GND + +
+ +5V + GND / wire + signal (PWM) + LED +
+
+ +
+ Then clone the transistor block ×4, same wiring, just change the Arduino pin: + + + + + + +
ZoneArduino pin → 1kΩ → baseFixtures
GF_INTD3living + kitchen ceilings
UP_INTD5bedrooms + attic
EXTD6porch, entry, deck, balcony
FIRED9hearth (flicker)
+

Each zone shares the same +5V and GND rails. + Add more LEDs to a zone by putting each one (anode→+5V, cathode→220Ω→collector) in parallel on that transistor.

+
+ +
+ PN2222 leg order, flat face toward you, legs down: E · B · C (left→right). + If nothing lights, swap E↔C, that's the usual culprit and it's harmless. +
+
diff --git a/wiring-reference.html b/wiring-reference.html new file mode 100644 index 0000000..a70fe77 --- /dev/null +++ b/wiring-reference.html @@ -0,0 +1,316 @@ +House Lighting, Wiring Reference + + + +
+
+
+

Bench Reference · Rev B · discrete-driver

+

House, Lighting Wiring Reference

+

4 switched zones · plain warm-white LEDs · ULN2803A low-side driver · cordless 5V.

+
+
+
Controller
Arduino Nano
+
Driver
ULN2803A · 8-ch
+
Power
USB bank · 5V
+
Outputs
D3 D5 D6 D9 · PWM
+
Sketch
townhouse_lights.ino
+
Series R
220Ω / LED
+
+
+ +
+
1

System schematic

Nano drives ULN inputs; ULN sinks each zone to ground
+
+ + + + +5V + + GND + + + + USB bank + 5V · always-on + + + + + + + + master sw + + + + Arduino Nano + + 5VGND + D3 + D5 + D6 + D9 + + + + + + + + + button: D2 → GND (scene / wake) + + + + ULN2803A + + IN1IN2IN3IN4 + O1O2O3O4 + + + + + + + + + + + GND (pin 9) + + + + + + + + GF_INT2 LED + + + + UP_INT3 LED + + + + EXT5 LED + + + + FIRE1 LED + + each zone = 2-wire loop (+5V / return), see detail ▶ + +
+

Signal (slate) = Nano PWM → ULN input. +5V red, GND black. The ULN pulls each zone's return to ground on command; the LED current never touches an Arduino pin.

+
+ +
+
2

Zone loop detail, how LEDs attach

Repeat per zone · add LEDs anywhere on the loop
+
+
+ + + +5V + + + + + + + + 220Ω + + + + + + 220Ω + + + + + + 220Ω + + + + + + + ULN OUTx + +
+
+

Every fixture in a zone shares two wires: +5V and the zone's return to its ULN output. Wire an LED like this and drop it anywhere on the loop, no order, no polarity chain to keep straight beyond each LED's own + (anode) toward 5V.

+
    +
  • Anode (+, longer leg) → +5V rail
  • +
  • Cathode (−, flat side) → 220Ω → zone return
  • +
  • One resistor per LED, keeps brightness even if one fails
  • +
+
BRIGHTNESS KNOB, start at 220Ω. Too dim? drop toward 150Ω. Too bright? the sketch's per-zone level also trims it in software. Dollhouse rooms read best low.
+
+
+
+ +
+ + +
+
+
3

Output map

+ + + + + + + + +
ZoneArduinoULN inULN out (pin)FixturesControl
GF_INTD3 · PWMIN1OUT1 · pin18living + kitchen ceilingsdim
UP_INTD5 · PWMIN2OUT2 · pin172× bedroom ceiling, atticdim
EXTD6 · PWMIN3OUT3 · pin16porch A/B, entry, deck, balconydim
FIRED9 · PWMIN4OUT4 · pin15hearthflicker
+

ULN2803A: GND = pin 9. COM (pin 10) unused for LEDs. Inputs IN1–8 = pins 1–8; outputs OUT1–8 = pins 18–11.

+
+ +
+
+
4

Fixture schedule

+ + + + + + + + + + + + + + + + +
FixtureZoneInstall at
Porch light AEXTPic 8–9
Porch light BEXTPic 8–9
Front-door entryEXTPic 8–9
Side deck / wingEXTPic 8–9
Fireplace / hearthFIREPic 10
GF living ceilingGF_INTPic 11 ✦
GF kitchen ceilingGF_INTPic 11 ✦
Balcony wall lightEXTPic 12–13
2F bedroom ceilingUP_INTPic 14 ✦
2F bedroom ceilingUP_INTPic 14 ✦
Attic ceilingUP_INTPic 16–17
Spare, eave / yard, any
+
+ SCENES, button on D2 cycles; auto-fades dark after 20 min idle. +
EveningAll OnNightOff
+
+
+ +
+
5

Build-order checklist

+
    +
  • Pic 5, base closingMount Nano + ULN driver board + power bank + master switch in the crawlspace. Run a 2-wire loop (+5V + return) for each zone up into the house.
  • +
  • Pic 8–9, GF wallsWire the 4 EXT fixtures (porch A/B, entry, deck) onto the EXT loop through pre-drilled holes.
  • +
  • Pic 10, chimney baseDrop the FIRE hearth LED into the chimney.
  • +
  • Pic 11, GF ceiling✦ wire before glue Glue the 2 GF_INT LEDs to the panel underside, route to a corner, then set the floor.
  • +
  • Pic 12–13, 2F wallsWire the EXT balcony light.
  • +
  • Pic 14, 2F ceiling✦ wire before glue Glue the 2 UP_INT bedroom LEDs to the panel underside before it goes down.
  • +
  • Pic 16–17, roofFix the UP_INT attic LED to a rafter before closing the roof; dormers double as light wells.
  • +
  • FinishRoute the power-bank charge port to a hidden opening (rear wall / chimney base). Leave a base access hatch.
  • +
+
+
+ +
+
6

Bill of materials

Arduino + LEDs already on hand (struck through)
+
+
Arduino Nano×1
+
Warm-white LEDs×12
+
ULN2803A driver (+ DIP socket)×1
+
220Ω resistors (150Ω to brighten)×14
+
Momentary pushbutton×1
+
Slide switch (master, in 5V line)×1
+
USB power bank · always-on mode×1
+
USB-A pigtail / breakout×1
+
Hookup wire 26–30 AWG (R/B/sig)~10m
+
Perfboard for driver board×1
+
Hot glue + sticks,
+
Heat-shrink / Kapton tape,
+
1000µF cap across 5V (optional)×1
+
Drill bits 1–1.5mm,
+
+

Tools: soldering iron + solder, wire strippers, flush cutters, multimeter (verify each zone before gluing it in).

+
+ +
+ Toys4play Townhouse · 3mm ply · ~1:12 · Rev B + ✦ = can't undo once glued · zones: GF_INT · UP_INT · EXT · FIRE +
+
diff --git a/wiring-sheet.html b/wiring-sheet.html new file mode 100644 index 0000000..686ed27 --- /dev/null +++ b/wiring-sheet.html @@ -0,0 +1,272 @@ +House Lighting, Wiring Sheet + + + + +
+ +
+
+

Bench Reference · keep near the glue

+

House, Lighting Wiring Sheet

+

12 addressable pixels · one data chain · cordless. Solder each pixel at the build step its panel goes on.

+
+
+
Controller
Arduino Nano
+
Fixtures
12× SK6812 RGBW·WW
+
Power
USB power bank · 5V
+
Data pin
D6 · 470Ω series
+
Sketch
townhouse_lights.ino
+
Rev
A · cordless
+
+
+ +
+
1

Power & controller wiring

DATA flows one way, arrows point away from the Nano
+
+ + + + + + + +5V + GND + DATA + + + + + USB bank + 5V · always-on + + + + + master sw + + + + + + + Arduino Nano + + 5VGND + D6D2 + + + + + + + + + + + + scene / wake + + + + + 470Ω + + + + + + + + + + + + 1000µF + + + + + P0 + + + + + + P1 + + + + + · · · + + + + P11 + + + + +
+
+ +
+
+
2

Fixture schedule

+ + + + + + + + + + + + + + + + +
PxFixtureZoneInstall at
0Porch light AEXTPic 8–9
1Porch light BEXTPic 8–9
2Front-door entryEXTPic 8–9
3Side deck / wingEXTPic 8–9
4Fireplace / hearthFIREPic 10
5GF living ceilingGF_INTPic 11 ✦
6GF kitchen ceilingGF_INTPic 11 ✦
7Balcony wall lightEXTPic 12–13
82F bedroom ceilingUP_INTPic 14 ✦
92F bedroom ceilingUP_INTPic 14 ✦
10Attic ceilingUP_INTPic 16–17
11Spare, eave / yard, any
+
+ SCENES, button on D2 cycles; auto-fades dark after 20 min idle. +
EveningAll OnNightOff
+
+
+ +
+
3

Build-order checklist

+
    +
  • Pic 5, base closingMount Nano, power bank, master switch, 470Ω + 1000µF in the crawlspace. Leave the 3-wire chain head + risers poking up.
  • +
  • Pic 8–9, GF wallsSolder P0–P3 (porch, entry, deck) through pre-drilled holes as walls seat.
  • +
  • Pic 10, chimney baseDrop P4 flicker into the hearth.
  • +
  • Pic 11, GF ceiling✦ wire before glue Glue P5–P6 to the panel underside, route to a corner, then set the floor.
  • +
  • Pic 12–13, 2F wallsSolder P7 balcony light.
  • +
  • Pic 14, 2F ceiling✦ wire before glue Glue P8–P9 to the panel underside before it goes down.
  • +
  • Pic 16–17, roofFix P10 to a rafter before closing the roof; dormers double as light wells.
  • +
  • FinishRoute the power-bank charge port to a hidden opening (rear wall or chimney base). Leave a base hatch.
  • +
+
+
+ + +