Initial Project Idea

Baby Monitoring System

Problem Statement

The number of working mothers has greatly increased in the recent years. Subsequently, baby care has become a daily challenge for many families.
Thus, most parents move their babies to their grandparents' house or to baby care facilities. However, the parents cannot continuously monitor their babies' conditions either in normal or abnormal situations.
Therefore, it is the requirement of many people that a system be designed in a way so that the parents can monitor their kids very easily.

I have many collegaues who have babies under 2 years of age and thay are always concerned about the well being of the baby. I enquired about this product from many of my colleagues and they said that it will be a great help for them if it is made with all the required specifications.



Challenges

> Determining the types of sensors required to be deployed on the cradle.

> Understanding the working of the differnt sensors and applying them with required operating condition

> Designing the cradle for manufactruing and assembly.

Understanding the different WIFI modules and selecting the best for the current system.

Proposed solution

The baby monitoring system will be having instruments for detecting Temperature, humidity, crying detection mechanism with a motor operated swing mechanism which will move the cradle after detecting cry of the baby.This system will consist of a cradle that can swing whenever the sound sensor detects crying. A mini fan will be attached on top of the cradle to provide ventilation. The mini fan and the swinging of the cradle can be switched on either by the sensors or through remote control. An external Wi-Fi camera will be installed on the cradle to enable real-time vision monitoring. The parents can see the baby's condition and talk to the baby using the mobile application of the Wi-Fi camera.

Skills and technology Used

Sensors, motors, wood working, PCB design will be involved in completion of the project. There is a need to learn the basics of working with different machines like wood router, electronic production machine, electronic design and embedded programming. The cradle will also have water sensors so that the wetness of the bed can be detected and a message will be deliverered to the parents of the child. Parents can also monitor their babies' condition through an external web camera and switch on the lullaby toy located on the baby cradle remotely so controlling technology will be involved to operate these equipments.

What material and components will be used?

The hardware components include the following:
 NodeMCU ESP8266 Wi-Fi Controller Board
 DC Power source
 Sound sensor module
 Temperature and humidity sensor
 Mini fan
 DC geared motor
 Wireless security camera
 Baby cradle

The software components include the following:
 Nx Siemens software
 Arduino IDE software
 MQTT Protocol server

Where will come from?

Most of the electronic components if can be made internally, will be designed and developed in the AKGEC Fablab. The other items will be bought from online services like Amazon, ebay etc.

BILL OF MATERIALS

                  WOOD= RS 1000/-
                  ATMEGA328P= RS90/-
                  OSCILLATOR= RS30/-
                  SMD RESISRORS= RS30/-
                  SMD CAPACITORS=RS50/-
                  SWITCH=RS20/-
                  ESP 32 CAM= RS700/-
                  NODEMCU= RS=700/-
                  3D PRINTING= RS 2000/-
                  SOUND SENSOR AND DHT 11= RS 250/-
                  Total Cost= Rs4870/-

The project will start from the selection of the components. The components to be installed will be finalised. Then a prototype design will get ready using some of the design softwares as required.

It will be followed by electronic design, fabrication, control circuit validation.




Image shows a rough idea of the design

CAD DESIGN OF THE CRADLE AND ITS FABRICATION

The design of the cradle is made using the NX11 software and the design has also been fabricated in the computer controlled machining week.



This is the rod to be used on which the box will be held.



This part is for the base of the cradle.



Following are the different parts of the cradle to be used











The most important part was to see the pressfitt of the different parts cut with the use of the CNC wood router.

For that you need to make sure that the assemble comes perfect in the dsign software so the assembly of the difefrent parts was done to see this.

For more details you can visit thispage.







Design and Fabrication

I had made a physical structure of the cradle in the MAKE SOMETHING BIG WEEK. You can visit thecomputer controlled machining week to see the whole design and fabrication of it. But it broke down due to design fault. The slots which i made on the legs of the cradle were very small and it broke very easily and since a cradle cannot move without its legs so i thought of making one new with a new design.

So my new design is inspired by a previous fabacademy student whose page was introduced to me by Prof. Neil itself during my the weekly review. I have made some modification to it and some more modifications were provided to me by my instrutor Mr. Rahul.


The curve at the sides make sthe rocking very easy and the length is appropriate so that it does not topple.


This is the base of the cradle and the design should be such that all other part coimg with it fits easlly and for that you need to know the dimensions and the thcikess of the wood you are using.




Download new cradle NX file

The cradle designed is to be cut on the wood so it was neccesaryy to use the characteristtic of the CNC wood router machine which i had done in the machining week. The thickness of the wood was not uniform which posed a lot of problem in my design since i had to see which part of the wood is going to fit in which section. It took me three days tto finalize my design.
One more problem which i faced was that i did not have sufficient wood with me. I was provided pieces of wood whcih of course were of non uniform thickness so i had to place the components on ASPIRE software in such a way so that i get the maximum utilisation according to the design. I wanted to make a cradle of bigger size but due to lack of inventtory i had to reduce its size .

Since it has to be a press fit cradle so i wanted to test it by cutting it on a laser cut machine so to make sure that the design is up to the mark. The characteristic of the laser cutter is different than the wood router so the fit obtained in case of the laser cut cradle is not perfect and it was loose from every aspect but that gave me an idea of the design whcih i made.
I was very careful before cutting wood on the router since i had one last piece of wood avaialible and i just wanted to be sure that it fits perfect.


When i cut the design on the laser i found that the tool path had cutt the curve of the foot of the cradle which can be seen in the pic so i changed that.

The Aspire software also tested my patience when there were abrupt toolpaths generated due to open vectors. I did not know why such problem occured. To solve this i watched some video about aspire and it was not clear about how to close them. the "join open vector" opttion is known to me but it was not closing every vector whcih tthen became an issue.

I asked my instructor Mr. Rahul about this issue and he came out with a solution. what i was doing is i was deleting the duplicatte vectors first and then joing the open vectors. when you join the open vectors through join open vector option then it does nott allow you tto join them manually.

you need to select the open vectors manually and then join them with the use of "join open vectors" option and the problem was solved.

For more information about the toolpath generattion, visit tthis page.

I had cut a test piece where I took the thickness of the hole to be e 2 mm more than the thickness of the wood. I found that the fit was perfect with the settings since the thickness of the wood was not uniform so it was important for me to change the thickness of the slots. But since it was going to be a Press fit the variation of a few mm would not matter that much.


The NX files are covnvertted to DXF format and then they are openend in ASPIRE and RDWORKS to cut the cradle.

Download DXF file

The files made were cut on the cnc wood router and i was able to cut all the pieces and itt took me a lot of time. It is very importatnt to remember that the clamp should be as tight as possible otherwise the wood will come out and then you will no be able to place the wood on the cradle.


I had to do some post processing to the cradle since some of the partts were taking a lot of force to go inside but att the last, the fitt obtained was very nice and strong

3D printing

I want to mount a fan and a lullaby toy on the cradle for which i had to design a mechnism where i move the fan to the outer portion of the cradle at the time of keeping the baby inside. For that i designend and 3d printed a hole shaft mechanism which can provide me this relative motion. I have also provided the arrangement for the wire to go from the circular portion of the cylindrical rod and tthere is an arrangement for that in the base also.


This is the base where the rod will go in and the toy and the fan will be installed. I have given a small hole in the base so to provide the exit of the cable. This was printed with Tough PLA.


The outer cover of the fan is also designed accroding to the dimesions of the fan whch i am going to use. I have used very less thickness so that material consumption is less. The supoort removal from this design was a very hard task.


The slots at the opening is provided so that the cover of the fan and the toy is easilty installed.


The toy were hanged from this design. The opening will go to the shaft of the geared motor and the toys will be hanging from the holes provided at each hand.

Download 3d print NX files


So this is how all the items for the toy and the fan is 3d printed. The pressfit obtained in the case of the toy was perfect but not in the case of the fan beacuse i had used two differnt materials.

The materials and machines used for the 3d printing are Stratsys F370 and Makerbot Z18 and the materials used are PLA and Tough PLA, we are fortunate enough to be learning in such a rich lab.


The toys which i have used to hang from the motor were already present in the lab whcih are also 3d printed.



The 3d printing part which should be an easy task turned out to be the difiicult one. The UPS battery of our building has failed and there is power cut at every hour or two which stops the priting going on and wastage of material was also hapeening. I configured my printing such that it takes least time but still the print time was always more than 4 hours. All three of us had a lot to print on the printers and that abrupt and contionus power cut added misery to our lives.

But somehow we could get continous power supplies at the nights and we were able to print the parts just before couple of days before our presentation.

The machine which i used for printing is Makerbot Replicator Z18 and the material used is Tough PLA. It took me almost an hour to remove the support from the printed parts. I wanted to print my stuff on startysys but that would have been very expensive and also power cut was always a worry factor for us.

The settings which i used to print on makerbot is Extruder type Tough SMART EXTRUDER+ as he defualt one is Smart Extruder+. This is something whcih we should remember because the printer gives an error and does nott printt if tthe exruder is different and on tthe softtware itt is differentt .

the infill selectted is 10% and the chamber heat ttemperaure was set to 60 and number of sheels was 2 and supportts were provided to the design.

the support removal is a task in itself. I really took me an hour removing the support from the circular part. what i found in the working of stratysys and makerbot that it is comparatively easy to reomve the support when you use the sratysys machine as comapre to the makerbot z18. You can visit this page 3D priting and scanning to know the process of 3d printing.

The yellow handle is printed on Startysys with PLA material and it was quite easy to take the support material out and because of which i could insert the wire arrangement inside the cylindrical part.

I have used some pre printed toys in our FabLab and put them on the cradle.

Electronics

So my input devices that I am going to use in this project are a sound sensor and a temperature and humidity sensor. I am going to code the sound sensor as if the level of the sound goes above a certain value the lullaby toy will start o move and if the temperature of the room goes high above the certain value then the fan will start to move by itself. I want the data of the temperature and humidity to be displayed on a webpage for that I have used thingspeak.

Thingspeak displays the live data on a webpage whenever required. For this I have used nodemcu which takes the data of the humidity and temperature sensor and displays it over the things speak web page. I have designed my PCB which takes temperature and humidity data and the sound sensor value as the input device and the fan is rotated and the lullaby toy is also played as the output device.

It took me a lot of time to decide how I am going to to make my PCB. I had two options first to use the esp8266 and integrate all the input and output devices over it and send the data directly to thingspeak. But when I discuss this with my instructor I found that the number of pins on esp8266 would be lesser and it will be e difficult to tu make PCB with such less number of pins.

The second option which I was having is to use atmega328 p and integrate to it and then also integrate nodemcu and take the Atmega 328 P data to the web server using nodemcu. I have also planned to use esp32 cam so that live feed can also be available. So I had to make the program for Atmega 328 P separately and followed and NODEMCU and esp32cam separately. So I decided to go with Atmega 328 be because it has a sufficient number of pins and its programming was also easy and we can see and find a lot of documentation on Atmega 328 P so I decided to go with it.

To integrate the input devices and output devices I have used AtMega 328 p on which I have integrated the input devices and output devices and the nodemcu also. I did a lot of tests while doing it with the help of the breadboard for which I had to buy the dip IC so that I can test them on the breadboard. I could see the results coming on the screen. since we could not do assignments initially so it was an achievement even to burn the bootloader. But once done I could upload the program and the results could be seen on the screen.

I came across a board known as Fabkit or Satshakit board and i found that it is more popular as many of the previous fabacademy students have worked after modifying it. This is the satshakit board refrence. I have also modified the satshakit board which functions as the ordinary Arduino board itself with a lot of modifications as compare to the original Arduino board. I have modofied it such that it has only the required number of pins to have two input and two output devices and the pins which are required to pogram the Atmega 328p. The programming part can be done by the arduino board as well as the fabisp.



The electronic design week has all the steps of how you can design an electronic board on eagle. you can follow this Electronic design page.

Download Eaglefiles

CREATING HOLES(NEW METHOD)

The conventional method of creating holes in Eagle is very frustrating as you need to select the layer for holes and then manually put the circles over the empty space of traces and then export it to fabmodules and there also you needed to invert the file. But Mr. Rahul introduced to us a new and easy method through which we can easily make holes without much effort. I am going to tell you this new method here, it may be new for the readers but new for me and very easy so i would like to share it with you.

Step 1: Export the eagle board file with all the traces.


Step2: Export the file to GIMP

Step3: Use this Bucket fill tool option and click on the surface. u will get the holes drawn.

This is the schematic of the board which consists of the integartion of different elements of satshakit board and esp 32. For serial comnincation between the two i have connected the GND and VCC pins and RX and TX pins of the boards. When you see serial conuication between the two happning gives pleasure to ur eyes.

While milling the boards we also broke some bits and i was mainly due to the erosion of the mill as it broke while milling the board. We had to take extra precautions while milling the board. The problem which generally occurs when milling a board is that it mills from a cirmer point and u will see that the depth of cut is not uniform at the other end so it is importatnt that you see it while milling and if it is happening then you need to adjust the z axis again where the depth of cut is less.

There was a problem with the toolpath generated for outlines in Fabmodules where it was showing an extra line in the tool path while cutting the outline. I asked my instructor and he asked me to reduce the dia of the tool which actually removed the extra line from the toolpath. That extraline had the reverse toolpath which actually uprooted the board three times and and damaged the 1/32 bit as well.

I had done a lot of blunders while testing the PCB which i have expalined in my Electronic design week and i had to solder 4 different boards to come to the one working properly. When i soldered my first PCB, it worked fine and i was able to burn the bootlaoder and upload a blink sketch on to it. but as soon as i powered it with a 12 volt jack , it burnt out. I could not undersand what happened to it and itt resulted in burming the volatge regulator and micro controller. then i saw a short between the pins of transistor but after debugging that also i was getting the same problem.

Then i milled the new board and soledered it which took a lot of time since i had a lot of compnents over it. But now even the bootloader was not burning and it was a kind of a mess i could see in front of my eyes. But ultimately i changed the microcontroller several times to see what the problem is. I consulted my Instrucor Mr.Rahul about this and he asked me to change the board as i had used automatic routing and tthen routed tthe board manuallyy and then also it was in a haphazard manner so then i again routed it manuallyy and now i could see that the board was properly structured.



I showed the board to myy instruttor and he saw that there was this charge problm over it and i could see the led ligh intensity changing whenever i was trying to touch the board. The problem was fixed by installing one more capacitor over the board and after that there was no problem of charging.


This is the PCB which i attempted to mill with the help of v bit and i could not get the traces right and moreover the traces were uprootted. This happened because of the settings which i provided to it. The offsett overlap was taken to be 80% and number of offsets were taken to be 10.


At the last i could upload the sketch on my final pcb and could attain the working. The final PCB soldering also looks nice as compared to the all which i soldered.


Download RML Files

Programming

I had three different programs to make. one was for the ATMEGA, nodemcu and esp32 cam. The program for the atmega 328 p requird to move the lullaby toyy and the fan according to given parameters. I also wanted serial communication between atmega and nodemcu for which i had to use software serial library.

The serial communication between my board and nodemcu can be seen on my Networking and Communication page.

The program for the nodemcu required it to read the data of the sensors from ATMEGA and publish that data on the Thingspeak server.

This video helped me to gain the insight of it.

This video helped me with the serial communication between the Nodemcu and atmega328p.

The program i used for the atmega is

      /*This work by NEERAJ GUPTA is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.*/
        #include "dht.h"
            #include "SoftwareSerial.h"
            SoftwareSerial mySerial(3,4);
            dht DHT;  
            #define dht_dpin A0
            const int soundpin = A2;
            const int threshold=50;
            ;
            void setup()
            {
              Serial.begin(9600);
              mySerial.begin(9600);
              pinMode(6,OUTPUT);
              pinMode(soundpin,INPUT);
            }
            void loop()
            {
              // read the input on analog pin 0:
              int sensorValue = analogRead(A0);
              // print out the value you read:
              Serial.println(sensorValue);
              //If there is a big sound nearby, make the led light for one second.
              if(sensorValue>20)
              {
                digitalWrite(6,HIGH);
                delay(1000);
              }
              else
              digitalWrite(6,LOW);
  DHT.read11(dht_dpin);
  int temp=DHT.temperature;
  if(temp < 26)
    { 
      digitalWrite(9,0);
 
      delay(100);
    }
    
    else if(temp==26)
    {
      digitalWrite(pwm, 51);
    
      delay(100);
    }
    
     else if(temp==27)
    {
      digitalWrite(pwm, 70);
      
      delay(100);
    }
    
     else if(temp==28)
    {
      digitalWrite(pwm, 100);
      
      delay(100);
    }
    
    else if(temp==29)
    {
     digitalWrite(pwm, 150);
      
      delay(100);
    }
     else if(temp>30)
    {
      digitalWrite(pwm, 200);
     
      delay(100);
    } 
  delay(3000);
  
 
    Serial.print("Temperature(*C) = ");
    Serial.println(DHT.temperature, 0);
    Serial.print("Humidity(%) = ");
    Serial.println(DHT.humidity, 0);
    Serial.println("-------------------------");
    Serial.print('*'); // Starting char
    Serial.print(DHT.temperature, 0); //2 digit data
    Serial.print(DHT.humidity, 0); //2 digit data
    Serial.println('#');
    //------Sending Data to ESP8266--------//
    mySerial.print('*'); // Starting char
    mySerial.print(DHT.temperature, 0); //2 digit data
    mySerial.print(DHT.humidity, 0); //2 digit data
    mySerial.println('#'); // Ending char
    //------------------------------------//
    delay(2000);
  }
 
                                          


The code is reading the values of the sensors. A0 and A2 pins are defined for data to be taken from the DHT sensor and the Sound Sensor. Pin 6 and 9 are used as the putput pins. The motor will move according to the condition met which are wriiten in the code.If the value of the sound sensor goes above the 20 value then the motor will start to move and the fan's speed will vary according to the temperature of the room. Since i have to publish the values of temperatue and humidity on Thingspeak so for that i am placing the values of both of them between the * and #. I am also allowing only two digits for the temperature and humidity data to be published on the serial monitor. then this data can be used by the NODEMCU to publish it to thingsspeak.

The code for the nodemcu for serial communicaion bettween atmega 328p and nodemcu is



        
/*This work by NEERAJ GUPTA is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.*/

#include "ThingSpeak.h"
#include "ESP8266WiFi.h"
#include "SoftwareSerial.h"
SoftwareSerial mySerial(D1,D2);

//------- WI-FI details ----------//
char ssid[] = "hidden"; //SSID here
char pass[] = "hidden"; // Passowrd here
//--------------------------------//

//----------- Channel details ----------------//
unsigned long Channel_ID =  1121903; // Your Channel ID
const char * myWriteAPIKey = "FE656UR2ZWCPMNQF"; //Your write API key
//-------------------------------------------//

const int Field_Number_1 = 1;
const int Field_Number_2 = 2;
String value = "";
int value_1 = 0, value_2 = 0;
int x, y;
WiFiClient  client;


void setup()
{
  Serial.begin(115200);
  mySerial.begin(9600);
  WiFi.mode(WIFI_STA);
  ThingSpeak.begin(client);
  internet();
}

void loop()
{
  
  internet();
  if (mySerial.available() > 0)
  {
    delay(100);
    while (mySerial.available() > 0)
    {
      value = mySerial.readString();
      if (value[0] == '*')
      {
        if (value[5] == '#')
        {
          value_1 = ((value[1] - 0x30) * 10 + (value[2] - 0x30));
          value_2 = ((value[3] - 0x30) * 10 + (value[4] - 0x30));
          Serial.println(value_1);
          Serial.println(value_2);
        }
        String msg = mySerial.readStringUntil('\r');
 Serial.println(msg);
        
      }
    }
  }
  upload();
}

void internet()
{
  if (WiFi.status() != WL_CONNECTED)
  {
    while (WiFi.status() != WL_CONNECTED)
    {
      WiFi.begin(ssid, pass);
      delay(5000);
    }
  }
}

void upload()
{
  ThingSpeak.writeField(Channel_ID, Field_Number_1, value_1, myWriteAPIKey);
  delay(15000);
  ThingSpeak.writeField(Channel_ID, Field_Number_2, value_2, myWriteAPIKey);
  delay(15000);
  value = "";

}



This code is asking the user to enter the password of the network which is used to publish the data. Then you have to provide the API key and channel id of the channel which you made on Thingspeak. The code will accept the data if it only can find “*” and “#” in the data stream. “*” is the start character and “#” is the end character. The above given code accepts 4 integer data after the “*” and stop accepting after the “#”. The incoming data stream should be like this *2345# here, 23 is temperature and 45 is humidity. You can open serial monitor with the same upload setup and enter *2345#, Thingspeak will plot graph at 23 on temperature graph and 45 at humidity graph. Only four digits will accepted in between * and # with the above code and no decimal point should be send.

The code for esp32 cam is

The ESP32 cam is to be used for the live feed of the cradle and the program of the esp32 cam can be seen on the example section of esp32. the programming of the esp32 cam module is a bit tricky which i have explained in the embedded programming week. The code is as follows

    #include "esp_camera.h"
    #include "WiFi.h"
    
    //
    // WARNING!!! Make sure that you have either selected ESP32 Wrover Module,
    //            or another board which has PSRAM enabled
    //
    
    // Select camera model
    //#define CAMERA_MODEL_WROVER_KIT
    //#define CAMERA_MODEL_ESP_EYE
    //#define CAMERA_MODEL_M5STACK_PSRAM
    //#define CAMERA_MODEL_M5STACK_WIDE
    #define CAMERA_MODEL_AI_THINKER
    
    #include "camera_pins.h"
    
    const char* ssid = "hidden";
    const char* password = "hidden";
    
    void startCameraServer();
    
    void setup() {
      Serial.begin(115200);
      Serial.setDebugOutput(true);
      Serial.println();
    
      camera_config_t config;
      config.ledc_channel = LEDC_CHANNEL_0;
      config.ledc_timer = LEDC_TIMER_0;
      config.pin_d0 = Y2_GPIO_NUM;
      config.pin_d1 = Y3_GPIO_NUM;
      config.pin_d2 = Y4_GPIO_NUM;
      config.pin_d3 = Y5_GPIO_NUM;
      config.pin_d4 = Y6_GPIO_NUM;
      config.pin_d5 = Y7_GPIO_NUM;
      config.pin_d6 = Y8_GPIO_NUM;
      config.pin_d7 = Y9_GPIO_NUM;
      config.pin_xclk = XCLK_GPIO_NUM;
      config.pin_pclk = PCLK_GPIO_NUM;
      config.pin_vsync = VSYNC_GPIO_NUM;
      config.pin_href = HREF_GPIO_NUM;
      config.pin_sscb_sda = SIOD_GPIO_NUM;
      config.pin_sscb_scl = SIOC_GPIO_NUM;
      config.pin_pwdn = PWDN_GPIO_NUM;
      config.pin_reset = RESET_GPIO_NUM;
      config.xclk_freq_hz = 20000000;
      config.pixel_format = PIXFORMAT_JPEG;
      //init with high specs to pre-allocate larger buffers
      if(psramFound()){
        config.frame_size = FRAMESIZE_UXGA;
        config.jpeg_quality = 10;
        config.fb_count = 2;
      } else {
        config.frame_size = FRAMESIZE_SVGA;
        config.jpeg_quality = 12;
        config.fb_count = 1;
      }
    
    #if defined(CAMERA_MODEL_ESP_EYE)
      pinMode(13, INPUT_PULLUP);
      pinMode(14, INPUT_PULLUP);
    #endif
    
      // camera init
      esp_err_t err = esp_camera_init(&config);
      if (err != ESP_OK) {
        Serial.printf("Camera init failed with error 0x%x", err);
        return;
      }
    
      sensor_t * s = esp_camera_sensor_get();
      //initial sensors are flipped vertically and colors are a bit saturated
      if (s->id.PID == OV3660_PID) {
        s->set_vflip(s, 1);//flip it back
        s->set_brightness(s, 1);//up the blightness just a bit
        s->set_saturation(s, -2);//lower the saturation
      }
      //drop down frame size for higher initial frame rate
      s->set_framesize(s, FRAMESIZE_QVGA);
    
    #if defined(CAMERA_MODEL_M5STACK_WIDE)
      s->set_vflip(s, 1);
      s->set_hmirror(s, 1);
    #endif
    
      WiFi.begin(ssid, password);
    
      while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
      }
      Serial.println("");
      Serial.println("WiFi connected");
    
      startCameraServer();
    
      Serial.print("Camera Ready! Use 'http://");
      Serial.print(WiFi.localIP());
      Serial.println("' to connect");
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      delay(10000);
    }

The operation of the Esp 32 cam is expalined in the embedded week. you can visit this page. about its process.

The camera will be provided with a 5 volt supply and the feed can be seen by entering the URL at which the video is publishing. the limitation of this is that you can see the live feed in a Local area network.

Housing and Inegration

it was told to us by our instructor and i could see it in the reviews also that the housing and integartion of wires and components are very importatnt. And there can be a comment if it is not done properly. So i just wanted to make a box which can integrate all the wires in it and it should look good as well. I have used the fasteners to keep the wires stuck with the wooden box.



So i designed the box in NX and i wanted to make a pressfit box but i had to apply some glue on the partas which were not that much fit. This is the design of the box on NX.


I made the box bigger than the size of the PCB since i need to put a lot of wires in it and it was quite an easy task to insert them in the box.



i made the box much bigger than then size of the PCB so that the wires can come in very easiliy and the modofications if required doesnot take much time.



I have used the bottom plate to put both of my sensors on either side of the cradle and the fan and the lullaby toy is attached at the top of the cradle and the arangement is 3d printed. THe wires from one of the fan is pulled from the center of the circular handle and the other had a lot of support material inside it so from that i had to pull the wire from the top itself.


Both the sensors are placed at the corners of the cradle as the temperature of the room can be measured from anywhere and the sound sensor is also placed at the edge where the face of the child may be lying.


Testing

I had to test the circuit whcih i am going to use in my final project. so i had test all the input and output devices on thr breadboard anda sweel aston the Designed PCB. The testing is very important to conduct initially because it can be very difficult to troubleshoot the prblems at the end.





Final Result


SLIDE



FINAL VIDEO

Cradle


To give my cradle a new finished look and with the feedback of my global evaluator, i decided to paint the cradle and since this is for a child so i tried to minimize the wiring . For that i 3D printed the stand for the lullaby toy so that the wires can go from the inside of the circular pipe. The stand for the fan already has this feature and the wires does not come out of it.











More improvements

the integartion can be improved more so i tried to make the wirings as minimum as possible. For that i drilled holes in the cradle so that i can take the wirings inside and they are not visible. I also 3d printed a esp32 cam case and have bolted it in the cradle. the sensors are also placed inside the elecrical box to minimize the wiring because the temperaure and the sound can be heard from there as well.

















The design of the case of Esp32 cam is taken from thingiverse

Download ESP32 CAM CASE STL

The data from the sensors which are attached to the board is transferred to the Nodemcu. The data of the sensors is then send to the thingspeak server where it is published. The program used and the electronic circuit made can be seen from this page itself. The ESP-32 cam is used for the live feed of the cradle. The live feed can be seen by entering the URL on to the web browser. The steps of programming the ESP 32 cam can be seen on week9 page..

CONCLUSION

It was a treat to my ears when i heard GOOD from Mr.NEIL. We all could finish our presnetation video just hours before the review. It was great working and i still had a lot to do becuase some of the assignments are still left to be done. I could not use it for my own child now since he is now 10 months and will jump off from it. But i will try to make it into fledged product in the future. I would like to thank Mr. Rahul and Mr. Puneeth for their constant push to finish off our work in these COVID times. I also want to thank Mr Niel for referring me to Carlos Cano Page at the time of weekly review which guided me a lot on how to proceed with the design and the working. I would also like to thank MR Adrian Torres and PAblo to be always there to help me out.

Top