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']