AI generated photo for the project on gencraft :D
Smart Feesha was inspired by the desire to simplify home automation and make it more accessible to everyone. The founders of the project (who is me :D) recognized that many people are interested in making their homes smarter, but are deterred by the high cost of replacing existing devices with smart ones. I also saw that many people were overwhelmed by the complexity of setting up and managing various smart devices.
Therefore, the ideation for Smart Feesha was driven by the desire to make it accessible to everyone, while also being affordable, energy-efficient, and easy to use.
Softwares, Machines, and Materials
The machines
I used CNC laser cutting machine to cut the the multi-functional pencil holder.
The softwares
Of course, I used LaserWork to work on the DXF files. More over I used Fusion 360 to design Smart Feesha .
The materials
Also, I used mdf 3mm wood, screws and nuts to assemble the parts of the design together as materials for my device.
Firstly, I took the dimensions of the all sides of the holder, taking into consideration the dimensions of the Smart Feesha according to the components that include.
Secondly, using Fusion 360 to sketch Smart Feesha.
Thirdly, to make the design 3d, I used extrude and extrude cut.
Finally, I extracted the file as DXF then imported it to Laser Works program.
Drawing the Base part which the components and the rest of the enclosure will be attached for.
Designing the left Side part, creating the T-slot and the taps and mirror them. Duplicate it after extruding for the right part.
Like the above, Designing the front part, creating the T-slot and the taps and mirror them. Duplicate it after extruding for the behind part.
Designing the top part with a hole for the Bareeza.
Extruding the base part and project the components to joint them.
Inserting the components (Arduino Uno, Relay, and Breadboard) and Joint them in the holes.
Extruding the left part and project arduino power port and USB port to cut them in the wood.
Side View for the left part after cutting.
Duplicating the right part from the left part, then cut a hole for the power cable of the relay and another hole for the on/off switch.
Inserting the on/off switch and joint it.
Extruding the front part and the behind part and joint them through the taps and the T-slots.
A top view for the components and the enclosure after jointing the side parts to the base.
The design of L shape is to mount the breadboard to the base to don't move, because it does not contain any parts to mount it.
Extruding the top part and joint it through the taps and the T-slots. Projecting IR and cutting the holes.
Top view for the top part.
Inserting IR component.
Jointing IR to the top part.
Save all parts as DXF.
At the begging I checked with the specialist the overall settings to make sure all is well.
After adjusting the measurements, I adjusted parameters for the cut : properties of speed: 30, and power: 65, Scan: properties of speed: 300, and power: 15.
I saved the file as .rld.
In the laser cutter, I prepared the machine for start working as I put the wooden sheet, placed the origin point, frame, checked the focus, and let it work.
Writing the name of the project "Smart Feesha" and my name and select it as blue to engrave them. Adding the base part and the L shape.
The side parts (left, right, front, and behind).
Parameters.
Components
The medium size to be suitable for the enclosure.
For the arduino.
To control the project (relay, bluetooth,...etc)
To connect the project to android smart phone which will give the arduino the input that the user will make.
Arduino can't control more than 12v device, but by the relay we can control any DC device which need 220v or 110v.
To control the project through waving our hand or by using the remote control.
An example for 220v device which the project can control.
To supply the lamp with the power.
To supply the lamp with the power.
To connect the components all together.
To connect the bulb or any other device to it which connected to the relay.
To connect the switch with the vcc and gnd.
To turn on and off the whole project.
Software
To design the circuit and test it on it.
To code Arduino to do the functions of the project.
To create the android app which will send the signals to the Bluetooth module.
To create flowcharts before starting to organize and simplify the idea to me.
To upload the code on it to be open source.
To find answers to my questions during the work.
Relay (OUTPUT): terminal 1 to the negative in the power supply, terminal 5 to pin 6 in Arduino, terminal 7 to terminal 1 in the bulb, and terminal 8 to gnd.
IR (INPUT): on pin 7 in Arduino, vcc to 5v pin in arduino, gnd to gnd.
Bluetooth: rxd to txd, txd to rxd, vcc to 5v pin in arduino, gnd to gnd.
Bulb: terminal 1 to terminal 7 in the relay, and terminal 2 to positive in the power supply.
Remote control: to control the IR in tinkercad.
"I used pir instead of ir sensor to simulate its function".
Input components: IR, Bluetooth, and switch.
Output components: Relay and bulb
I have 2 power source in this project, the 9v adapter for the Arduino and the attached components, and the other 220v which power the relay which feeds the bulb or any other device.
First, I defined 4 vars {
Relay: connected to pin 6;
IR: connected to pin 7;
Bluetooth: give him a '0' value;
Add a counter to use it in IR section;
}
Second, I setup 3 things:
The serial communication to connect between the Arduino and the Bluetooth and the android phone. The speed is 9600.
I defined the relay as an OUTPUT component.
I defined the IR as an INPUT component.
I used "while" as a serial from the Bluetooth equal (0) and I used serial.available to be ready to get the signal.
I used serial print to check the signal of the BT and write it.
I used the "if" condition including the counter to open the relay when I take an action, like moving my hand around the ir and stating the value, and doesn't change it after moving it far away.
Then, I rewrote the same code for turning off the relay and stating the new value as it is.
The second part of the loop is the Bluetooth:
I let Arduino to read the signal from the BT module.
Then I set charterer "a" which is the first button in the android app to turn on the relay, and "b" which is the second button to turn off.
Also, I defined the charterer "o" to turn on when I say OPEN to the android phone and "z" to turn off when I say CLOSE.
At the end, I tell the Arduino to turn off the relay if it gets any other input or signal.
I used the serial print to see the value of the IR and to show "Done BT" when it gets a signal from the Bluetooth.
I open the app and select the Bluetooth which I found its name on the back of the module. Then I opened the buttons and slider.
I selected "Command buttons configuration" and type 'a' for the first and 'b' for the second.
I went to voice control from the main interface of the app and entered to "Vocal commands configuration" and selected the first one.
I typed 'open' in the "vocal command" and 'o' in "data to send" for the first one. I typed 'close' in the "vocal command" and 'z' in "data to send" for the second.
All project components :D
Mounting Arduino and the relay
Mounting Breadboard by the L shape
A close shot to the L shape
Wiring Bareeza and mounting the switch
Building the enclosure and mounting the side parts
Finalizing the enclosure by mounting the top part
TEASER
Demos
Menna ElBadry: helped me to write the IR code to let the device turned on when I move my hand near to it, or turn off to do the same thing, because at the beginning the Ir doesn't allow me to turn on the device unless putting my hand around it only.
Asmaa Saied: taught me how to use voice recognition on the Bluetooth android app to turn on and off the device by saying (open/close).
Mohamed Abdelmoaty: supported me to project the IR leds in fusion 360 on the top part from the enclosure. Also, he helped me to find the on/off switch to insert it in fusion 360.
Inserting IR component, projecting it, mounting it, and inserting the on/off switch.
After finalizing the IR code and the components worked, I wrote the code of the Bluetooth, after that the both didn't work. I tested the BT sperately and I found that it works.
I tried to divide the if condition to have to if conditions, for the BT and for the ir sperately. As a result, the BT worked only. I asked for a help from my instructor Menna and he adviced me to use "while" for the ir part and let BT part like it is "if".
The IR and BT worked, but I found that I have to put my hand in front of the IR to let the device turn on and when I move my hand far away the device turned off.
Menna advised me to add a counter to change and let the value like it is after taking the action (turn on or off), then when I change the value again by moving my hand around the IR the counter will "state" the new value and make it permanent.
Smart Feesha can be upgraded to include features such as scheduling, so users can set specific times for their devices to turn on or off. Another potential improvement could be the inclusion of sensors that detect when someone enters or leaves a room, allowing devices to automatically turn on or off based on occupancy. These improvements would enhance the convenience and energy-efficiency of Smart Feesha.
f3z open steps:
enter fusion 360.
select "file", then upload.
choose the f3z file. you will see the components and the enclosure separately.