1 PicoBoy带有Wii遥控器的树莓派Pico-德赢Vwin官网 网
×

PicoBoy带有Wii遥控器的树莓派Pico

消耗积分:0 | 格式:zip | 大小:32.55 MB | 2022-11-07

杜云

分享资料个

描述

Arduboy FX 是一个信用卡大小的微型游戏系统。现在比以往任何时候都预装了 200 多款游戏!Arduboy FX 可以重新编程并且是开源的,因此您可以学习编码和创建自己的游戏。

自从我买了一个 Raspberry Pi Pico,我就想用它来做一个有趣的项目。Arduino 宣布 Arduino IDE 扩展了对 Raspberry Pi RP2040 和新生的 Arduino Nano RP2040 Connect 的支持。

现在让我们看看如何制作我们自己的 Picoboy(带有 Raspberry Pi RP2040 的 Arduboy)。

第 1 步:开始使用 Raspberry Pi Pico(来自 RPi 的内容)

Raspberry Pi Pico 是一款使用 RP2040 构建的微型、快速、多功能板,RP2040 是由英国 Raspberry Pi 设计的全新微控制器芯片

主要特点

• RP2040 微控制器,带 2MByte 闪存

• Micro-USB B 端口,用于供电和数据(以及重新编程闪存)

• 40 个引脚 - 暴露 26 个多功能 3.3V 通用 I/O (GPIO),23 个 GPIO 仅用于数字,3 个具有 ADC 功能

• 高达 133MHz 的双核皮质 M0+

• 264kByte 多存储体高性能 SRAM

• 具有 eXecute In Place (XIP) 和 16kByte 片上缓存的外部 Quad-SPI 闪存

• 高性能全交叉总线结构

• 30 个多功能通用 IO(4 个可用于 ADC) ◦ 1.8-3.3V IO 电压(注意 Pico IO 电压固定为 3.3V)

• 12 位 500ksps 模数转换器 (ADC) • 各种数字外设 ◦ 2 个 UART、2 个 I2C、2 个 SPI、16 个 PWM 通道 ◦ 1 个带 4 个警报的定时器、1 个实时计数器 • 2 个可编程 IO (PIO) 模块,总共 8 个状态机 ◦ 灵活、用户可编程的高速 IO ◦ 可以模拟 SD 卡和 VGA 等接口

您可以在下面找到引脚排列。

pYYBAGNoeuWAUKxlAAFHy0t8HYo113.png
Raspberry Pi Pico 的引脚分配
 

第 2 步:设置 IDE

在这里,我将使用 Arduino IDE 对 Raspberry Pi Pico 进行编程。

打开 Arduino IDE 并转到 File->Preferences。

在弹出的对话框中,在“Additional Boards Manager URLs”字段中输入以下 URL。

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
poYBAGNoeuiAazszAAGzrxnSxUU278.png
库回购
 

现在单击确定。从 Tools -> Boards -> Board Manager 打开 Board Manager 并在搜索框中输入pico并选择 Install。

poYBAGNoeuuASadGAAIm_H86168749.png
板安装
 

注意:安装可能需要几分钟,并且需要互联网连接。

现在,我们准备上传第一个草图。插入 Pico 时按住 BOOTSEL 按钮。选择板到Raspberry Pi Pico ,然后点击上传按钮,代码就被上传了。

在这里,我从 Arduino IDE 上传了 Blink 示例。

pYYBAGNoeu-AOFcIAAIrZGnTZME489.png
完成上传
 

第 3 步:框图和连接

由于Raspberry Pi Pico 不支持avr 架构,我们将使用 Arduino micro 来实现 Arduboy,接口将使用 Raspberry Pi。

您可以在此处找到框图。

  • OLED 连接到 Arduino Micro 和
  • Wii Nunchuck 连接到 Raspberry Pi Pico i2c 线路。
  • 从 Raspberry Pi Pico 到 Arduino Micro 的按钮连接如下所示

OLED -> Arduino 微型

OLED CS - GND

OLED DC-D4

OLED RST-D6

SPI SCK-D15

SPI MOSI-D16

ARDUINO Micro -> 树莓派

按钮向上 - A0 ->

按钮向下 - A1

按钮左 - A2

右按钮 - A3

按钮 A - D7

按钮 B - D8

蜂鸣器 - D5

poYBAGNoevKAPnNaAADQc2RgqRw324.png
 

第 4 步:代码

  • 将乒乓球游戏上传到 Arduino Leonardo
  • 将 Wii Remote 代码上传到 Raspberry Pi Pico
poYBAGNoevmAJDdIAAzPuaVpRqw697.jpg
 

 

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"//www.hzfubeitong.com/m/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="https://m.elecfans.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'PicoBoy带有Wii遥控器的树莓派Pico',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.hzfubeitong.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);