1.8 KiB
Shared project between 42 Le Havre and Asadhar. Using Arduinos Nano BLE 33, the objective was to make a "physical" AI, one that could interact with the physical world, within 5 days. The fun challenge added was that the AI needed to represent a mental ilness; My partner and I chose paranoia, based around the concept of personnal spaces.
The project needed only bases due to the collaboration with non-programmers, but developped many other skills, notably the use of electronics, embeded device programmation, LLM uses, artistic expression, and collaborative effort.
Artistic expression
Connecting the sensors to the arduino
Assembling the sensors into a wooden cube
Final result of the cube
Pins and wiring
Requirements
Python and python packages :
- Python : 3.13.0
- requests : 2.32.3
- pyserial : 3.5
- gTTS : 2.5.4
- pyglet : 2.1.3
As for the Arduino, we'll need the following packages :
- Arduino_LSM9DS1 : 1.1.1
- Arduino_APDS9960 : 1.0.4
Launching
Connect the Arduino to your computer, and check which USB port it is using. If it's not using /dev/ttyACM0, you'll need to change SERIAL_PORT in server.py.
Furthermore, in the same folder as server.py, you'll need to create a .env and put in the following value : KEY="your_api_key". You can use a Key for DeepSeek. If you wish to use another model, you'll need to change the querry() function.
Once connected, simply launch the server with python : python3 server.py. If it works, you'll see a Listening on /dev/ttyACM0 ... in the console.