VScode Arduino 随机数OLED显示

VScode Arduino 随机数OLED显示

引题:
相信进来的同学都用过Arduino官方的编译器,如何你是刚刚接触你可能还感受不到这个编译器的鸡肋,从简单入门的角度看,官方的编辑器确实做得不错。但是如果你想做一个较大的项目,开发效率就很低了。下面我就讲述一下我使用VScode 中的PlatformIO插件的过程。
下面我按顺序从三个方面讲

一.安装环境
1.下载VScode,很快只有几十M的样子VScode下载地址这里简单说一下VScode支持多平台支持windows/Linux/Mac对于不同系统使用的同学都没有什么阻碍,VScode以插件的形式提各行各类的工程师带来了极大的便利。感觉是要一统江湖的节奏。安装好了之后安装PlatformIO插件,在2中搜索PlatformIO然后install过程有点漫长请耐性等待。
在这里插入图片描述
二.建立工程
在这里插入图片描述

Name:项目名字。
Board:Arduino Uno,arduino有很多板卡,这里选用最常见的Uno。
Framework:框架选用Arduino。
Location:自动勾选为默认地址,取消勾选可以自己另存为。
4个步骤填写完,点击Finish就完成项目创建。
三.随机数OLED显示
代码很简答主要使用MsTimer2,U8glib这两个外部库实现在OLED上定时器刷新随机数。

#include <Arduino.h>
#include <MsTimer2.h>
#include "U8glib.h"

long  randNumber;
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);//IIC驱动引脚选择OLED SCK.SDA对应连接板卡SCK.SDA

void flash()                        //中断处理函数,改变灯的状态
{                        
  randNumber = random(10, 20);// print a random number from 10 to 19
  Serial.println (randNumber);//打印随机数
  u8g.firstPage(); 
	do{
		u8g.setFont(u8g_font_gdb30n);//设置gdb30像素数字类字体
		u8g.setPrintPos(35, 60);
		u8g.print(randNumber);
	}
	while (u8g.nextPage());//刷新屏幕
}
void setup() 
{
  Serial.begin(9600);
  u8g.begin();
  MsTimer2::set(500, flash);        // 中断设置函数,每 500ms 进入一次中断
  MsTimer2::start();                //开始计时
  randomSeed(analogRead(5));        //使用模拟引脚的噪声产生一个随机数
}
void loop()
{

}

两个和官方IDE区别比较大的地方,也是两个重要操作
1.是外部库的查找安装
PlatformIO.ini Libraries选项中搜索下载使用的库我们这使用U8glib,MsTimer2这两个库。在这里插入图片描述
2.
外部库的使用
在PlatformIO.ini添加

lib_deps = 
        MsTimer2
        U8glib

在这里插入图片描述
四.来吧展示
在这里插入图片描述
写得粗略有不理解的地方
QQ:929358166欢迎探讨

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值