Skip to content

Solar Tracker ​

Automatically orient all solar panels on the network to face the sun.

Wiring ​

PinDevice
d0Daylight Sensor

Script ​

lua
local LT  = ic.enums.LogicType
local LBM = ic.enums.LogicBatchMethod

local panelHash = hash("StructureSolarPanel")

function tick(dt)
    local sensorV = ic.read(0, LT.Vertical)
    local sensorH = ic.read(0, LT.Horizontal)
    if sensorV == nil or sensorH == nil then return end

    -- Solar panels need +90° offset from sensor vertical angle
    ic.batch_write(panelHash, LT.Vertical, sensorV + 90)
    ic.batch_write(panelHash, LT.Horizontal, sensorH)
end

How It Works ​

The Daylight Sensor reports the sun's position as vertical and horizontal angles. Solar panels need to face the sun directly, but their coordinate system is offset by 90° on the vertical axis. The script reads the sensor and batch-writes to all solar panels on the data network every tick.

⚠️ This documentation was AI-generated and may contain inaccuracies. Please submit pull requests with corrections as needed.