The challange is to create an interface to allow interaction from phisical object to virtual 3D model.
I'm passionate of 3D printing and I'm spending time to investigate new types of materials like paste extruding. Especially in clay, 3d print is very important being able to design to avoid hoverhanging problems, so I've tried to develop an interface that automatically avoid some type of problems and create a 3D files which is the result of a very unique situation.
This project gives the possibility to create shapes without knowing the 3D software so that it could be used for educational purposes. Using some sensors connected to an Arduino, I've trasformed the data in a 3D shape like a vase which can be later 3d printed with classical materials or in Clay.
All the files are in my GitHub repo https://github.com/owenlab/
FlowerArtist All the project is released under Attribution - Share Alike Creative Commons licence
Step 1: Preparing Firmware
To be able to read the data from sensor I need an Arduino/Genuino board Firefly FIRMATA firmware uploaded.
this firmware allows to interface the board with some software like Processing or Grasshopper Here the FIREFLY Firmata website http://www.fireflyexperiments.com/ Here the standard Firmata website https://github.com/firmata/arduino It is a library for Arduino IDE and it is very easy to load the firmware A lot of details about Firmata are here: http://www.firmata.org/
The desctiption of the pin used in Firefly Firmata in my case with Arduino UNO board
/*****ON STANDARD BOARDS (ie. Uno, Diecimila, Duemilanove, Lillypad, Mini, etc.)***** ANALOG IN pins 0-5 are set to return values (from 0 to 1023) for analog sensors DIGITAL IN pins 2,4,7 will return 0's or 1's; for 3 potential digital sensors (buttons, switches, on/off, true/false, etc.) DIGITAL/ANALOG OUT pins 3,5,6,11 (marked with a ~) can be used to digitalWrite, analogWrite, or Servo.write depending on the input status of that Firefly pin DIGITAL OUT pins 8,9,10,12,13 can be used to digitalWrite, Servo.write, or analogWrite depending on the input status of that Firefly pin *****/
Step 2: Preparing Hardware
- 1× Arduino/Genuino UNOI
- 2× light sensor
- 1× Humidity sensor
- 1× Liquid level sensor
- 2× linear sliders
- Access to a 3D printer
The hardware is very simple, just few components that doesn't need complex wiring, I suggest to use modules instead components to wiring quickly
I made a simple circuit on a protoboard directy connected like a shield on the arduino board.
Each sensor signal pin are connected to an Analog input of the Arduino board
Step 3: Grasshopper to Connect the Phisical to Virtual
In Grasshopper I had to create a line as a Zaxis subdivided in a number of parts editables with a sliderthen, I've created a series of hexagons to obtain a shape like a Low poly geometry, each hexagon is connected to a section of the vertical line, and it is possible to choose the number of the sides of the hexagons.
I've added the Arduino control with a port reader and the component UNO Read, to listen the analog pins of the board. With the timer component,
I can choose the refresh speedFrom each analog pin it is possible to read a value that shifts between 0-1023, I've then converted this value in a range which was more compatible with the project, and scaled it to a range between 20-60.
All the values are converted automatically in millimeters and used to modify the diameter of the hexagons and so, the shape of the vase.Finally I've made another controller that reads the Analog pin Value and with the resulting values, I was able to modify the height of some boxes just to have a graphic interface.
Step 4: First Test and Case Design
I tested the electronic and the grasshopper sketch to be sure that all work well and I made a simple case for the electronic that it is great also as user interface for showing the project.
Step 5: Printing
Instead classical 3D printing in PLA or other plastic materials I preferred to print the vase in Clay using a Wasp 2040 3D printer with the LDM extruder
more info about this clay kith here
and a little video of the process