India Automation Challenge 2021
OR
Now a day’s science and technology is being used in every stage of human lives. Working in certain fields like high voltage transmission lines, mining at deeper level in earth crest, working with explosive material (bomb) etc. and all such dangerous fields where only robots cannot work by their own intelligence effectively. At the same time only human worker also cannot work safely. To overcome such issues it is necessary to have the system which will fulfil both the requirements i.e. human body will guide the task and machine (robotic Shadow) will act accordingly, consequently the risk factor of working in the above mentioned field will automatically decrease without affecting employment of worker. In the present investigation we have designed a prototype of human head which copies our head movements and eye section of it is programmed on ardiuno uno. currently I am working on robotic hand which uses same principle but with some extra features.
Arduino UNO, Arduino Nano, NRF24L01 Transceiver module, 5v DC adapter, Servo motor, potentiometers, etc.
Arduino IDE
Arduino UNO is used for programming eye section of robot Arduino Nano is used to control robotic head NRF24L01 Transceiver module is used for wireless communication 5v DC adapter is used for powering whole system Servo motor is used to move head assembly precisely potentiometers is used to sense change in movement Arduino IDE for programming microcontrollers.
#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> #include <Servo.h> Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; RF24 radio(8, 10); // CE, CSN const byte address[6] = "mkinventions100"; const int servo1 = 3; const int servo2 = 5; const int servo3 = 6; const int servo4 = 9; int SERVOS = 0; void setup() { myservo1.attach(servo1); myservo2.attach(servo2); myservo3.attach(servo3); myservo4.attach(servo4); radio.begin(); radio.openReadingPipe(0, address); radio.setPALevel(RF24_PA_MIN); radio.startListening(); } void loop() { delay(5); if ( radio.available()) { SERVO(); } } void SERVO(){ while (radio.available()) { int SERVOS[4]; radio.read(&SERVOS, sizeof(SERVOS)); myservo1.write(SERVOS[0]); myservo2.write(SERVOS[1]); myservo3.write(SERVOS[2]); myservo4.write(SERVOS[3]); } } Robotic head TX code #include <SPI.h> #include <nRF24L01.h> #include <RF24.h> #define servo1 A3 #define servo2 A4 #define servo3 A5 #define servo4 A6 RF24 radio(8, 10); // CE, CSN const byte address[6] = "mkinventions100"; int SERVOS = 0; void setup() { radio.begin(); radio.openWritingPipe(address); radio.setPALevel(RF24_PA_MIN); radio.stopListening(); } void loop() { int SERVOS[4]; SERVOS[0] = map(analogRead(servo1), 0, 1023, 0, 179); SERVOS[1] = map(analogRead(servo2), 0, 1023, 0, 179); SERVOS[2] = map(analogRead(servo3), 0, 1023, 0, 179); SERVOS[3] = map(analogRead(servo4), 0, 1023, 0, 179); radio.write(&SERVOS, sizeof(SERVOS)); delay(5); }