Introduction: Arduino Lego EV3 Motor Controller SAVE $45
By making a diy lego ev3 motor controller
Step 1: Intro
So i have a kit called the lego mindstorms EV3 it is an amazing $349 robotics kit which really is simple to build like lego but has really awesome features the kit features step by step instruction to make 12 robots including a humanoid which is super cool BUT THE SENSORS ARE SUPER EXPENSIVE it is highly fancy looking and everything is PRE-WIRED AND PRE-PROGRAMMED but expensive (eg: 20 ldr will cost you a buck while a light sensor of lego will cost you 20 bucks)
So being an arduino owner and fan i decided to fuse the 2 forming an awesome arduino controlled lego bot with mindstorms INSTEAD OF BUYING THE $45 SHEILD
this time i will be controlling motorS
Step 2: The Motors
There are 2 different servo motors for lego one is large servo and another is medium servo
The EV3 Large Servo Motor is a powerful motor that uses tacho feedback for precise control to within one degree of accuracy. By using the built-in rotation sensor, the intelligent motor can be made to align with other motors on the robot so that it can drive in a straight line at the same speed. It can also be used to give an accurate reading for experiments.Tacho feedback to one degree of accuracy160-170 RPMRunning torque of 20 N.cm (approximately 30 oz.in)Stall torque of 40 N.cm (approximately 60 oz.in)
PS WE WONT BE ABLE TO GET THE ACCURACY THAT ITS TACHO CAN GIVE
The EV3 Medium Servo Motor is great for lower-load, higher speed applications and when faster response times and a smaller profile are needed in the robot’s design. The motor uses tacho feedback for precise control within one degree of accuracy and has a built-in rotation sensor.Tacho feedback to one degree of accuracy240-250 RPMRunning torque of 8 N.cm (approximately 11 oz.in)Stall torque of 12 N.cm (approximately 17 oz.in)
Step 3: Lets Get Started
You will need
1. Arduino (I used UNO)
2.Lego ev3 Connecter Cable
3.Lego ev3 motor
4.L9110S motor driver (or any but change the wiring also it shoul handle atleast 600ma mine can handle 800ma)
5.10K and 1K ohm resistor
Step 4:
Step 5:
Do the wiring as per the schematic
......................................................................................
.......................................................................................
Step 6: Code
I dont think there is a need for code but here is a sketch of the motor running forwards and backwards
int motorPin = 9;
void setup(){
pinMode(motorPin, OUTPUT);
}
void loop() {
digitalWrite(motorPin, HIGH);
delay(1000);
digitalWrite(motorPin, LOW);
delay(1000);
digitalWrite(motorPin, LOW);
delay(1000); digitalWrite(motorPin, HIGH); delay(1000);
}
Step 7: TroubleShooting
Check that the resistors don't touch each other
No lose contact any where
Check the code
Plz comment if any more problems suggestions or question
Thank you for reading till here