是的。 单片机I/O口 无法直接驱动继电器的。 须外加 三极管或其它功率驱动元件驱动。
5v 继电器 的吸合电流在20mA左右 ,使用 S 8050 (NPN , 高电平有效)或 S 8550(pnp,低电平有效) 即可 。I/O 接1k电阻直接到8050或8550 基极,8050的发射极直接单片机电源地,集电极接继电器(继电器线包两端并联22~100u电容器或二极管),8550 的话 发射机接+5v电源 ,集电极接继电器线包到地(统一需要并联电容器或二极管)。
单片机的I/O口输出只有几毫安的电流,而继电器需要的电流需要几十、近百毫安。不能直接用I/O驱动继电器。
一般是用一个三极管驱动放大,常用的有S9013,S8050,2N5551很多NPN三极管。也有使用ULN2003芯片的! 这类三极管很常见,很便宜,0.10-0.50元一个。废电器里经常见到。
用三极管的话一般可用9013,8050,2N5551这些NPN管,它们在控制继电器时常被采用。用芯片控制常用的就是ULN2003。一个芯片可以控制多个继电器。
可以选用NPN三极管,普通的都行,B极连一个电阻再连单片机的IO口,C极性连单片机电源已经继电器的控制较,E极接地。这种连发输出和IO口的极性是相反的,也就是说IO口是0,继电器控制脚就是通电。
建议到单片机网站,会有一些电路图可以借鉴,同时可以学习人家经验。