【RPi PICO】使用SPI驱动WS2812
<div class='showpostmsg'><p>除了使用PIO外,还可以使用SPI方式驱动WS2812。使用方法如下:<br /><br />
首先将下面程序复制到开发板:</p>
<p>**** Hidden Message *****</i></i></i></p>
<p><i><i><i> </i></i></i></p>
<p><i><i><i>然后,就可以驱动WS2812了,使用方法和ESP32上类似。</i></i></i></p>
<p><i><i><i> </i></i></i></p>
<pre>
<i><i><i>
<code class="language-python">from machine import SPI, Pin
from neopixel import NeoPixel
spi_sck=Pin(2)
spi_tx=Pin(3)
spi_rx=Pin(4)
spi = SPI(0, sck=spi_sck, mosi=spi_tx, miso=spi_rx)
np = NeoPixel(spi, 8)
for i in range(8):
np<i> = (0,i*4,0)
np.show()</i></code></i></i></i></pre>
<p><i><i><i><i> </i></i></i></i></p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> 学习 <p>感谢分享</p>
<p> </p>
<p>guolaixuexi</p>
<p>新人报道</p>
<p>look</p>
<p> </p>
<p>感谢分享 ,学下下</p>
<p>刚买了PICO,研究下PYTHON</p>
<p>楼主刚买的板子,不会用,如何把文件复制到板子上,文件名叫啥?新手,别笑话我,刚接触python,请多指导,今天连1602都没点亮,不指导库咋装到板子上</p>
zxy2266 发表于 2021-5-11 22:50
楼主刚买的板子,不会用,如何把文件复制到板子上,文件名叫啥?新手,别笑话我,刚接触python,请多指导, ...
<p>参考以前的帖子:</p>
<p> </p>
<p>https://bbs.eeworld.com.cn/thread-1156336-1-1.html</p>
<p>感谢楼主分享</p>
<p>WS2812.py: undefined name 'buf_bytes'<br />
WS2812.py: undefined name 'buf_bytes'<br />
WS2812.py: undefined name 'buf_bytes'<br />
WS2812.py: undefined name 'buf_bytes'</p>
<p>这一段会报错呢 </p>
<ul>
<li>np = NeoPixel(spi, 8)</li>
<li>for i in range(8):
<ul>
<li>np<em> = (0,i*4, 0) </em></li>
</ul>
</li>
<li><em>np.show()</em></li>
<li><em>-------------------</em></li>
<li><em>这里也有是语法错误执行 </em>np<em> = (0,i*4, 0)后,np已经不在是继承</em>NeoPixel类了,无法调用show方法了。</li>
</ul>
体育馆 发表于 2021-8-26 17:38
np = NeoPixel(spi, 8)
for i in range(8):
np = (0,i*4, 0)
np.show()
----------- ...
<p>np<em> = (0,i*4, 0) </em></p>
<p>这个用法是错误的。可以用</p>
<p> </p>
<p>for i in range(8):</p>
<p> np = (10,0,0)</p>
体育馆 发表于 2021-8-26 14:48
WS2812.py: undefined name 'buf_bytes'
WS2812.py: undefined name 'buf_bytes'
WS2812 ...
<p>需要完整的贴出来</p>
<p>谢谢分享 </p>
<p>学习!</p>
<p>向大神学习!向大神学习!向大神学习!向大神学习!</p>
页:
[1]