My Python Projects



Python Projects

GUI Rock Paper Scissors Games

In this project, I aimed to get a better grasp of using a GUI interface in Python. I utilized the guizero module to allow the user to interact with the application. Link.






Black Jack (Command Line)

In this project I created a command line version of Black Jack. The user is able to play against a computer (the dealer) and simulate Black Jack hands. Link.






Joystick Game Controller Serial Input

In this project, I created a game controller using an Arduino Nano, Joysticks, and Buttons. From there I read the data from each input sensor and translated that into a "character value" Right (r), Left (l), Up (u), Down (d), and random values for the buttons as high or low. Next I used a python script to read data from the serial ports of the computer where the Arduino was connected. By doing this I was able to turn the character data from the serial port into actual keyboard actions. Lastly, I created a basic snake game to allow the user to test the keyboard inputs and to play the game with the joystick input device. Link.

joystick.jpg






Gesture Recognition Device

In this project, I created a device that has gesture recognition capabilities using an Arduino Nano and its Inertial Measurement Unit. Firstly, I collected the proper training data for my model; I trained the device to detect Punches, Arm-Flexes, and Wrist Rotations. After collecting the data, I used the TinyML library to train my models and generate loss functions for each trial. Next I converted my trained model to Tensor-Flow Lite, whcih was then encoded into an Arduino Header File. Lastly, I included this trained model header file into my final arduino testing code, in order to properly recognize my motions. Link.






Color Recognition Device

In this project, I created a device that has color recognition capabilities using an Arduino Nano and its Proximity & Color Sensors. Firstly, I collected the proper training data for my model; I trained the device to detect Orange, Green, and Blue colored items. After collecting the data, I used the TinyML library to train my models and generate loss functions for each trial. Next I converted my trained model to Tensor-Flow Lite, whcih was then encoded into an Arduino Header File. Lastly, I included this trained model header file into my final arduino testing code, in order to properly recognize the colors of objects. Link.






WiFi MQTT with BLE Servers/Clients

In this project, I created several Clients & Servers using an Arduino Nano 33 BLE Sense, an ESP32 DevKit, and an MQTT Protocol with Ubidots. The Arduino to capture proximity/gesture data and x/y/z coordinate acceleration data. I then created a server in the Arduino IDE to post data to a peripheral via Bluetooth Low Energy (BLE) signals. Next, the ESP32's BLE functionality was utilized to capture the Arduino Sensor Data by creating a Client that was subscribed to the specified Characteristics of the Arduino. Lastly, an MQTT protocol was used to allow the ESP32 to transmit data via WiFi to a Ubidots Client webpage. The ultimate goal of this project was to become familiar with BLE and MQTT data transmission, and to capture real-time sensor data from a remote location. Link.

NachenBlaster gifubidots