Components ========== .. _start_components_shelf: Off-the-Shelf Parts ------------------- The system utilises the following components: * Raspberry Pi Model B (3+/4), running Raspbian Buster, or newer - `Raspberry Pi 4 Model B `_. * Official Raspberry Pi 7" Touchscreen Display - `7" Touchscreen Display `_. * Raspberry Pi Pico microcontroller - `Raspberry Pi Pico `_. * Micro USB cable * Breakout boards from Adafruit, including: * 2x Adafruit MAX31865 RTD Temperature Sensor boards - `MAX31865 RTD Sensor `_ * 2x Adafruit MAX31856 Thermocouple Amplifier boards - `MAX31856 Thermocouple Amplifier `_ * Temperature sensors: * 2x 4-wire PT100 RTD sensors - `PT100 RTD Sensor `_ * 2x Type T thermocouples - `Type T Thermocouple `_ * 1x Type (K/T) thermocouple - `Type (K/T) Thermocouple `_ * Motor Controller board by Cytron Technologies: HAT-MDD10 - `HAT-MDD10 `_ .. image:: /images/HAT-MDD10A.jpg :width: 400px :align: center :alt: HAT-MDD10 Motor Controller board * 2x 12V DC motors - `12V DC Motor `_ * An adjustable DC Power Supply, capable of providing up to 20V at 5A or greater * A capable thermoelectric module (TEC) device, able to pump >10W of heat .. _start_components_custom: Interface boards ---------------- A set of PCB interface boards are used to connect the microcontroller, breakout boards and other components, the files of which are available in the `Github repository. `_ These consist of the following: .. _start_components_custom_microcontroller_board: * Microcontroller and temperature sensor interface board .. image:: /images/MicrocontrollerTemperatureSensorBoard.png :width: 400px :align: center :alt: Microcontroller and temperature sensor interface board Interfaces with the Raspberry Pi Pico microcontroller and the temperature sensor breakout boards. .. _start_components_custom_motor_board: * Motor controller interface board .. image:: /images/MotorControllerBoard.png :width: 400px :align: center :alt: Motor controller interface board Interfaces with the HAT-MDD10 motor controller board, via the 40-pin GPIO header, as well as the DC power supply. .. _start_components_custom_tem_board: * Thermoelectric module interface board .. image:: /images/ThermoelectricModuleBoard.png :width: 400px :align: center :alt: Thermoelectric module interface board Interfaces with the thermoelectric module(s) The boards connected to each other via Molex 6-pin Micro-Fit cables, available `here. `_ .. Creating recipes ---------------- To retrieve a list of random ingredients, you can use the ``lumache.get_random_ingredients()`` function: .. autofunction:: lumache.get_random_ingredients The ``kind`` parameter should be either ``"meat"``, ``"fish"``, or ``"veggies"``. Otherwise, :autofunction`lumache.get_random_ingredients` will raise an exception. .. autoexception:: lumache.InvalidKindError >>> import lumache >>> lumache.get_random_ingredients() ['shells', 'gorgonzola', 'parsley']