References: Adding an OLED Display and Expressive Behaviors¶
-
I2C - Wikipedia - Explains the two-wire, multi-device I2C bus invented by Philips, including how shared SDA/SCL lines and per-device addresses work. Directly supports this chapter's wiring of the SSD1306 OLED and its
0x3Caddress. -
Serial Peripheral Interface - Wikipedia - Describes the four-wire SPI standard (SCLK, MOSI, MISO, chip-select) and its higher-speed, no-shared-address alternative to I2C. Gives students the contrast needed to understand why this chapter picks I2C for the OLED.
-
OLED - Wikipedia - Covers how organic light-emitting diode pixels produce their own light without a backlight, plus OLED history, structure, and advantages. Grounds the chapter's explanation of why the SSD1306 module needs no separate backlight.
-
Behavior Trees in Robotics and AI: An Introduction (1st Edition) - Michele Colledanchise and Petter Ă–gren - CRC Press - Credited with formalizing the Success/Failure/Running node-status notation for Sequence and Fallback control nodes; this notation is now followed directly by ROS behavior-tree libraries like BehaviorTree.CPP, making it the standard reference for the priority-based behavior-tree logic this chapter introduces.
-
Exploring Arduino: Tools and Techniques for Engineering Wizardry (2nd Edition) - Jeremy Blum - Wiley - Widely cited among microcontroller books as offering the most complete, clearest treatment of I2C and SPI, walking through I2C's history and addressing before contrasting it directly with SPI's wiring and timing -- the same two protocols this chapter introduces.
-
I2C - SparkFun Learn - Tutorial explaining how I2C lets multiple peripheral chips share one two-wire bus with a controller, covering addressing, hardware implementation, and pull-up resistors. Reinforces this chapter's I2C wiring and
i2c.scan()address-discovery example. -
Serial Peripheral Interface (SPI) - SparkFun Learn - Tutorial on SPI's clock, data, and chip-select lines, with timing diagrams showing how master and peripheral devices exchange bits. Gives students the SPI-side detail needed to compare against the I2C wiring used for the OLED.
-
Monochrome OLED Breakouts - Adafruit Learning System - Guide to SSD1306-driven OLED modules covering I2C/SPI wiring options, power requirements, and drawing pixels, lines, circles, and text through a frame-buffer library. Mirrors this chapter's drawing-primitive and display-refresh workflow.
-
class I2C -- a two-wire serial protocol - MicroPython Documentation - Official reference for the
machine.I2Cclass used to construct the bus object in this chapter's code, documentingscan(),writeto(),readfrom(), and memory-access methods. Directly backs theI2C(0, scl=Pin(1), sda=Pin(0))example. -
Introduction to Behavior Trees - Robohub - Article explaining how behavior trees traverse root-to-leaf nodes toward a success or failure state, contrasting them with finite-state machines and surveying libraries like py_trees. Expands on this chapter's behavior-tree and priority-based-behavior sections.