Mofiza- Smart Social Arduino Robot.

by Ashraf Minhaj in Circuits > Arduino

2674 Views, 5 Favorites, 0 Comments

Mofiza- Smart Social Arduino Robot.

VIDEO0189_4396.jpg

This Robot - Mofiza- (weird name) Can SEE ,TALK and REACT to her surroundings.

Before I proceed watch the video

Ever since I've seen making talking robots I saw that people actually use other development boards rather than arduino to make talking robots. But it's completely possible to make a Humanoid robot with arduino who can talk and add a lot of servos to make it move. So lets begin ....

Parts You'll Need

arduino_pro_mini_large.jpg
0J889.600x480.jpg
0J6370.600x480.jpg

1. Arduino Pro mini (5v 16 Mhz) [any board is good but i've used this to make it small)

2. Female header pins for connecting on pcb

3. Male header pins

4. Vero Board to make the circuit

6. Sd card TF module (to make it talk)

7. micro sd card (not more than 2GB)

8. 3x IR proximity sensor

9. 3x servo motor (I've used micro servo sg90)

10. Cardboard to make the body

Buy electronic components at utsource.net

Connecting IR Sensor and the Body

20180611_012806.jpg
20180611_012432.jpg
20180611_012359.jpg

Make a body with anything you want , I've made it by cardboard. It's pretty simple.

I've soldered IR sensors with ribbon cable just like this with a female header on one end and added two in two eyes and one in the chest.

The robot will say the welcome message if it detects anything in the chest sensor and will say "aaaah.. dont touch my eye" if any eyes sensor is high. and the servo in that are will move up.

The Circuit

mofiza.v1.PNG
51eec3b1ce395f4b4b000000.png

The circuit looks a bit complicated but no its all too easy, you can just power it up by one battery. solder the circuit and all other components in a vero board and add other servo on head and hands.

Code

Before the codes: I had to use two libraries forthis robot.

TMRpcm.h - for playing audio from SD card- talk https://github.com/TMRh20/TMRpcm

ServoTimer2.h - avoid conflict with TMRpcm and run Servo motors using timer2 as TMRpcm uses Timer1 on arduino https://www.instructables.com/id/Use-of-ServoTimer...

this is the code for saying welcome. You can make your own environment and code

Before you get to code you'll have to add the libraries. Nor the robot wont run.

and then up The code

<p>#include "ServoTimer2.h"<br>#include
#define SD_ChipSelectPin 10
#include"TMRpcm.h"
#include
TMRpcm tmrpcm;
ServoTimer2 matha;
ServoTimer2 lhand;
ServoTimer2 rhand;</p><p>int in1= 6;
int in2= 7;
int in3= 8;
void setup() 
{
 matha.attach(2);
 lhand.attach(3);
 rhand.attach(4);
 tmrpcm.speakerPin=9;
 Serial.begin(9600);
 if(!SD.begin(SD_ChipSelectPin))
 {
  Serial.println("SD FAIL");
  return; 
 }</p><p>}</p><p>void loop() 
{
  if(!(digitalRead(in3)))
  {
   tmrpcm.play("welcome.wav");
    lhand.write(2500);
    delay(2000);
    lhand.write(1200);  //handshake position
    
    delay(9000);
    
  }
  
  
 else
 {
  
  lhand.write(300);
  rhand.write(1700);
  matha.write(1500);
 }
}</p>

Finish

now just power it up and your'e done. A smart robot is done making. [i'll upload other pictures and details soon]

If i could get more pins i'd make the robot walk. but i had just 3 pins remaining (digital). its less than i need.