tscircuit/ti
ti tscircuit library
- Version
- 1.0.192
- License
- unset
- Stars
- 0
lib/subcircuits/LightSensor_OPT3001_TIDA01539.circuit.tsx
import type { SubcircuitProps } from "@tscircuit/props";
import "tscircuit";
import { OPT3001IDNPRQ1 } from "../chips/OPT3001IDNPRQ1.circuit.tsx";
type SensorUnitProps = {
reference: "U4" | "U5";
capacitorReference: "C9" | "C10";
address: "1000100" | "1000101";
interruptNet: "OPT_B" | "OPT_F";
addressNet: "GND" | "V3P3";
y: number;
};
const SensorUnit = ({
reference,
capacitorReference,
address,
interruptNet,
addressNet,
y,
}: SensorUnitProps) => (
<subcircuit
name={`${reference}Sensor`}
schMaxTraceDistance="1.5mm"
schX={0}
schY={y}
>
<net name="GND" isGroundNet />
<OPT3001IDNPRQ1
name={reference}
schX={0}
schY={0}
connections={{
VDD: "net.V3P3",
ADDR: `net.${addressNet}`,
GND: "net.GND",
PAD: "net.GND",
SCL: "net.SCL",
SDA: "net.SDA",
INT: `net.${interruptNet}`,
}}
/>
<capacitor
name={capacitorReference}
capacitance="0.1uF"
maxVoltageRating="16V"
footprint="0603"
schX={-3}
schY={0}
schOrientation="vertical"
connections={{ pin1: "net.V3P3", pin2: "net.GND" }}
/>
<schematictext
schX={0}
schY={2.1}
text={`I2C Addr: ${address}`}
fontSize={0.2}
/>
</subcircuit>
);
/** Ambient-light sensor circuits from TIDA-01539 sheet 2. */
export const LightSensor_OPT3001_TIDA01539 = (props: SubcircuitProps) => (
<subcircuit {...props}>
<SensorUnit
reference="U4"
capacitorReference="C9"
address="1000100"
interruptNet="OPT_B"
addressNet="GND"
y={3.2}
/>
<SensorUnit
reference="U5"
capacitorReference="C10"
address="1000101"
interruptNet="OPT_F"
addressNet="V3P3"
y={-3.2}
/>
</subcircuit>
);
export default LightSensor_OPT3001_TIDA01539;