Why choose one circuit over the other? BJT transistors are cheaper, but with the same circuit (the MOSFET circuit), I could also drive solenoids with much higher current, which I can't do with a BJT. So, what I'm asking is: Can I also control the mini vibration motors with MOSFETs instead of BJT transistors? Is there any reason not to do so?
Assuming all of my motors (either mini vibration motors or solenoids) are far away from the Arduino itself (5-15 meters), what is the better approach? Should I place the drivers close to the motors (no more than 1 meter) and send long wires from the control pins of the Arduino and the Arduino ground? Or should I do the opposite? Should I use short wires from the Arduino GPIO pins and the Arduino ground and long two-wire connections to the motors?
I think it is electrical device that can act as a switch (in order to switch load on and off that require large current (more then what an arduino gpio pin can deliver)) and can be control from the 5V output the arduino gpio pin can deliver
I have build this circuit on my breadboard trying to switch 580mA solenoid:
Nothing is happening. I have checked with DMM between pin 1 and 2 of the PC817 and when GPIO2 is HIGH I'm reading only ~1V . Does it make sense? what could be my mistake ?