# krishnachaithanya.movva

Krishna Chaithanya
13
Currently ,studying at IIIT-SriCity, (India) and doing computer science (b.tech).

## Achievements

10K+ Views Earned a bronze medal

• 5 months ago

Try to test if matlab is able to access the camera or not....

• 8 months ago

Thank you for pointing it out. Now I remember that I too tweaked the variables screenmaxx & screenmaxy to set the motor movements properly though I didn't remember how exactly. Based on what u said, there might be some misunderstandings about the screen resolution ('imaqhwinfo' command gives the details about the imaq. adaptors and the resolution as well). I hope you got the logical idea behind it i.e., whenever the center coordinate x gets > screenmaxx/2 - offset, the motor should move in such a way to compensate that distance from the center. The image is treated as a matrix of 320x240 and thus the values screenmaxx/2 and screenmaxy/2 to represent their center. Offset is used to reduce the shaking of the motors when the face is at the center of the frame. Coming to the LSB par...

see more »

Thank you for pointing it out. Now I remember that I too tweaked the variables screenmaxx & screenmaxy to set the motor movements properly though I didn't remember how exactly. Based on what u said, there might be some misunderstandings about the screen resolution ('imaqhwinfo' command gives the details about the imaq. adaptors and the resolution as well). I hope you got the logical idea behind it i.e., whenever the center coordinate x gets > screenmaxx/2 - offset, the motor should move in such a way to compensate that distance from the center. The image is treated as a matrix of 320x240 and thus the values screenmaxx/2 and screenmaxy/2 to represent their center. Offset is used to reduce the shaking of the motors when the face is at the center of the frame. Coming to the LSB part, I simply let the variables be as they were in the original code that I borrowed from the "FaceRecog. using arduino and Opencv" project on instuctables. It is not the servopositions that I'm sending to arduino but the center coordinates of the bounding box around the detected face in matlab. In matlab, the fprintf() function was called twice to send these x and y coordinates individually and hence there are two lines "LSB = Serial.read()" in the arduino code to receive them. Unlike the code used in Opencv, matlab code sends them using a single line, 'fprintf()'.

• 8 months ago

Yes, perhaps it would work. Just in case, if it didn't work, I suggest a few things...1) Try moving the servo motors individually and if it goes well, try them together, many complained that one of the motors is not moving properly sometimes.2) check the xy coordinate data that is being 'sent' from the matlab and that is 'received' at the arduino....try printing it...sometimes u may get some garbage due to improper baudrate, and adjust accordingly.3)If everything above is fine and still there is a problem, can cross check with the code given by 'www.instructables.com/id/Face-detection-and-tracking-with-Arduino-and-OpenC/'

• 8 months ago

Well, thats the way it should be and the arduino code on the board won't be erased unless it is reset. First the arduino code has to be dumped on the board and then it would be able to retain the bit stream(characters) from the matlab code....

• 1 year ago

As you can notice in the block diagram or in the project photo itself, the tilt servo(y-control) is taped to the base. And to the wheel of this tilt motor, pan-servo(x-control) is taped. Finally, on the wheel of this pan-servo, cam is attached.

• krishnachaithanya.movva commented on hneve's instructable PSoC - My first project 1 year ago

Any mini-project ideas or references with 'psoc-059'...? Thank u...

• 1 year ago

Well I suggest that you test the motors through the Matlab first ,say send some arbitrary values to arduino and test whether it is working or not.There are two things u need to verify first: 1.check if the values are actually being sent from matlab to arduino or not.2. Check if u could control the motors using arduino or not....that's it ,the rest is all about the code.If there is any problem in the 1st part, then possibly ur matlab's support package was not properly installed.If the problem is in the 2nd part, then the problem might be either ur code or the arduino's serial connection.plz check all these things first.

• 1 year ago

Hello there...I think its because the value of 'e' was something else than those specified in the cases.If I'm not wrong u r trying to move the camera (or possibly some other action through arduino)., based on the movement of the ball.There might be some problem in the calculation of 'e'. Try checking the value of 'e' every time before getting into the conditions.

• 1 year ago

Hello...sorry for the late reply, the code in 'matlabcode.txt' is for interfacing matlab with arduino and image-processing as well. The rest is the 'arduino code'(Arduinocode.txt) for controlling the movement of the camera based on the image processing results.That's all the code...nothing else.