- ESP32 (CP 2104 Chip)
- computer
- USB-C cord
- battery
- 28BYJ-48 Step Motor
- 2 SG90 Tower Pro MicroServos
- 2 DC Brush motors (9000 -25000 RPM (3V-12V))
- L293D Driver
- 1/8 in wood sheets
- Paint
- Super glue
- DC Brush motor wheel attachments
- Small metal rod
- Small jewelry eye hooks
- Download and open the Arduino IDE (Download)
- Open Preferences
- Copy and paste the following link (https://dl.espressif.com/dl/package_esp32_index.json) into
Additonal Boards Manager URLs
to add the ESP package - Select
Tools > Boards > Boards Manager
, then search foresp32
and install the most recent version - Select
Tools > Boards > ESP32 Arduino > TTGO T1
- Select
Tools > Manage Libraries
, then search forTFT_eSPI
and install the most recent version - In your file storage system, find the Arduino folder
- Open
Arduino/libraries/TFT_eSPI/User_Setup_Select.h
- Comment out the line that says
#include <User_Setup.h>
- Uncomment the line that says
#include <User_Setups/Setup25_TTGO_T_Display.h>
- Open the Arduino IDE
- Select
Files > Examples > TFT_eSPI > 160 x 128 > RLE_font_test
- Plug in the ESP32 TTGO T-Display
- Select
Sketch > Upload
- Download Anaconda (https://www.anaconda.com/products/individual)
- Open Terminal
- Download pyserial
conda install pyserial
- Connect IN1 to
GPIO Pin #33
- Connect IN2 to
GPIO Pin #25
- Connect IN3 to
GPIO Pin #26
- Connect IN4 to
GPIO Pin #27
- Connect the orange wire (first wire) to
GPIO Pin #15
- Connect the red wire (second wire) to the 5V pin
- Connect the brown wire (third wire) to a ground pin
- Open the Arduino IDE
- Open
Clock_Test/device/device.ino
- Plug in the ESP32
- Select
Sketch > Upload
- Plug in the ESP32
- Watch the clock run
- Open the Arduino IDE
- Open
Sculpture/device/device.ino
from the Arduino IDE - Plug in the ESP32
- Select
Sketch > Upload
- Download
Case/box.dxf
- Upload to a laser cutter and cut out of 1/8 in wood sheets
- Use a Dremel to make holes to insert motor wires, battery pack wires, and ESP32 USB-C connection
- Use with your own discretion because you want to have the holes big enough to fit each of your personal components
- Suggestions:
- Break the 1st and 4th teeth of the each long side box piece and use the dremel to make the hole big so that the motor wires to fit through and connect to the breadboard
- Make sure that the holes for the battery wires and ESP32 USB-Connection are higher than height of the breadboard for easier connection
- Super glue the upper portion of the box together so the inner components can be accessed by lifting the entire upper half
- Suggestions:
- For easy detachment if the glue all the sides of the box piece, then just press top onto glued pieces
- Since the bottom is attached to other components be gentle when pressing the assembled box pieces on to it
- Suggestions:
- Use a pencil to trace a general outline of the 2 Servo motors for the leaves and the stepper motor for the rose
- The stepper motor should be centered and the servo motors should be equally spaced on each side
- Use a dremel to drill holes for the motors
- Suggestion: only drill holes large enough to fit the top half of the motors
- Hot glue the motors to fit through the holes in the top of the box
- After retrieving laser cutted pieces use the bottom piece to add all the hardware components
- Remove the backing of breadboard and stick to piece
- Note: The meausurements are for a standard full-sized breadboard
- For the DC motors and the back axel, use a flat object to glue to each end of the side of the bottom piece that is not stuck to the breadboard
- Note: We used a small protoboard since the holes fit our jewelry hooks
- Hot glue the DC motors to either ends of one protoboard
- Note: Make sure that extended rod side sticks out so wheels can be pushed on to it
- For the other end, small jewelry eye hooks were forced onto the protoboard and hot glued so that the axel rod can fit through each loop
- Insert something small enough to fit into the small wheels, a small metal rod was used to stabilize the weight of the project
- Secure an external power source to the middle of the bottom piece
- We used a 4 AA battery pack (9V)
- Wires should be soldered the DC motors and the 4 AA Battery pack come with soldered wires
- Feed all external wires through the holes in the side pieces
- Connect all wires to the breadboard as specified below
- Connect IN1 to
GPIO Pin #33
- Connect IN2 to
GPIO Pin #25
- Connect IN3 to
GPIO Pin #26
- Connect IN4 to
GPIO Pin #27
- Connect the + pin to a 5V battery
- Connect the - pin to ground
- Connect the orange wire (first wire) to
GPIO Pin #15
- Connect the red wire (second wire) to the 5V pin
- Connect the brown wire (third wire) to a ground pin
- Add an L293D driver to a breadboard
- Connect
the L293D channel 1
pin toGPIO pin 12
pin on the ESP32 - Connect
the L293D channel 2
pin toGPIO pin 15
pin on the ESP32 - Connect
the L293D enable 1
pin toGPIO pin 13
pin on the ESP32 - Connect
the L293D V+
pin to a 5V battery - Connect
the L293D 0V
pins to ground - Connect one end of the DC motor to
the L293D out 1
pin - Connect the other end of the DC motor to
the L293D out 2
pin
- 3D print a flower (Suggestion: Thingiverse link for 3D printable rose)
- Drill a hole into the base of the flower deep enough to fit the stepper motor axel
- Fill the hole in the rose with hot glue and secure to the stepper motor axel
- Decorate the enclosure with colorful felt to resemble a garden
- For the blue flowers, cut out small inorganic shapes. Pinch one end to scrunch the sides together and secure with hot glue
- For the leaves, cut out teardrop shapes from green felt and add green wiring down the middle to shape the leaves
- For the motor leaves, hot glue three pieces of felt leaves and wires to a Servo attachment that fans out on both sides. Shape the leaf as desired
- Paint the enclosure as desired
- Suggestion: conceal holes by adding "raised" leaves and decorate to look like a garden
- Doxygen can be used to generate formal documentation pages for all files in this repository
- HTML code documentation and UNIX man pages are generated for the kinetic sculpture in the
Sculpture
directory
Medium Blog Post: https://sedonathomas.medium.com/kinetic-sculpture-20c4813ef82f
Notion Blog Post:https://www.notion.so/Module-3-Task-2-a74462a784cd426ea9fddb3125abe1c5
Youtube Demos: https://youtu.be/uOoaBGFkzKg