Mechanized Cheese Fedora
Introduction: Mechanized Cheese Fedora
The fedora has been at the peak of fashion since the 1890's, but unfortunately its popularity since 2004 (and since the 1920's) has been dwindling. The fedora appears to be at a crossroads: adapt or die, and so I've created the mechanized cheese fedora hat. As the ultimate intersection between style and technology and natural evolution of cheese, fedoras, and fashion I expect billions of users by 2030.
This project is a 3D printed cheese slice mounted on a fedora. Inside is a battery, servo motor, and ESP32. The servo motor is controlled based on a webserver hosted on the ESP32. It allows the user to lift up and move down the mouse on top.
Supplies
- 3D printer with greater than 165 x 180 x 80 mm dimesions.
- White filament
- Paints: light yellow, grey, dark grey, black, pink, tan
- SG90 servo motor
- ESP32
- 3 10 cm. 997
male to female wires
- USB battery pack or equivalent
- Small USB micro B cable (to power the ESP) It's a tight fit! A right angle cable may help.
- Tape
- Double sided tape (preferably clear)
- Elmer's glue
- Scissors
- Velcro with sticky side(can be substituted with double sided tape)
- Fedora (or a less fashionable hat)
Step 1: Printing
I've printed each piece in white filament because it's the easiest to paint over. Only the "Cheesehat lift arm" won't be visible.
I designed the lift arm and platform entirely in Fusion360. The cheese was created in Fusion360, then the holes were created in blender using booleans. The mouse was created using the sculpting tools in blender.
The platform and lift arm can be printed without supports, the other two files need supports. For all the files I used .2 mm layer height with a .35 mm nozzle, 60 C bed temperature, 200 C extruder temperature, and 6% infill. The parts were sliced in simplify 3D and printed on a MakerGear M3-SE.
Step 2: Painting
Feel free to get as creative as you'd like with color, but I prefer to avoid green cheese!
I painted the cheese and the top of the platform with a light yellow.
The mouse's fur is grey, its ears and nose are pink, its eyes are blue, its mouth is black, its eyebrows are dark grey, and its tail is tan.
Step 3: Code
/*
Created by <PERSON>
A webserver which produces a page where a servo motor is turned ninetry degrees up or down based on the button pressed on the webpage.
http://yourAddress/H turns the motor up
http://yourAddress/L turns it down
This example is written for a network using WPA encryption. For
WEP or WPA, change the Wifi.begin() call accordingly.
Circuit:
Servo motor
control to D15
power to 3v3
ground to GND
Parts of the code are based on the example called SimpleWiFiServer included with the ESP32.
I've left the authors names here.
created for arduino 25 Nov 2012
by <PERSON>
ported for sparkfun esp32
31.01.2017 by <PERSON> <PERSON>
*/
#include <WiFi.h>
#include <ESP32Servo.h>
Servo myservo; // create servo object to control a servo
int pos = 0; // variable to store the servo position
int servoPin = 15; //Corresponds to D15
const char* ssid = ""; //place your ssid between the ""
const char* password = ""; //place your password between the ""
WiFiServer server(80);
void setup()
{
Serial.begin(115200);
delay(10);
// We start by connecting to a WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected.");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
server.begin();
//Servo stuff
myservo.setPeriodHertz(50); // standard 50 hz servo
myservo. 832