u8glib已经完美支持OpenJumper MINI12864

 

013130c8684aqc8xnanc2c

u8glib是目前Arduino上最好的图形显示库,支持众多的点阵显示屏,最近的u8glib v1.12已经完美支持OpenJumper的MINI12864
你可以在OpenJumper的淘宝买到这款迷你显示器:猛击OpenJumper淘宝旗舰店
你可以在u8glib的Google Code上下载到这个库,也可以在论坛下载:

u8glib_arduino_v1.15

MINI12864可以使用硬件SPI驱动,也可以使用模拟SPI驱动,对应了两个函数
MINI12864可以使用硬件SPI驱动,也可以使用模拟SPI驱动,对应了两个函数
硬件SPI构造函数:

U8GLIB_MINI12864(cs, a0 , reset)

当使用硬件SPI时,LCD的sck和mosi应对应连接到Arduino SPI的sck、mosi。

模拟SPI构造函数:

U8GLIB_MINI12864(sck, mosi, cs, a0 , reset)

 
使用模拟SPI,LCD的引脚可以连接到Arduino任意引脚

例如:
使用例程时你需要在程序前添加以下语句:

U8GLIB_MINI12864 u8g(13, 11, 10, 9, 8); //SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 ,RST=8;

 

便可以建立一个MINI12864的显示对象u8g。
接着你便可以使用u8g的成员函数操作OpenJumper MINI12864
具体用法可以参照u8glib自带的示例程序。

110757qq6buvqvb0xvx3xl 170610gbnncxoccl5cgxoc

arduino教程(提高篇)——把arduino变成AVRISP烧写器

以下均翻译自官方,水平有限,如有错误请回帖指正。

本教程介绍如何使用Arduino作为AVR ISP(在线系统编程)。你可以使用它给其他AVR芯片烧写引导程序(bootloader)(例如使用ATmega168的或ATmega328的Arduino)。这个例子中的代码是基于Randall Bohn写的mega-isp固件。

说明
使用您的Arduino给其他AVR烧写引导程序(bootloader),步骤如下:
1.打开的ArduinoISP的固件(File>examples>ArduinoISP)
2.注意,如果是为阿尔杜伊诺1.0:你需要对ArduinoISP代码进行小的改动。查找heartbeat()函数,把其中的“delay(40);”,更改为“delay(20)”。
3.在Tools>board中,选择对应的arduino型号,(这里是选择作为编程器的板子型号,而不是你将要烧写bootloader的板子型号)使用的串行端口菜单中的项目。
4.上传ArduinoISP。
5.Arduino和你要烧写的arduino连接方法如下图所示。(注:如果是ArduinoUNO,你需要Reset和GND之间连接一个10 uF的电容)
6.在Tools>board菜单上,选择你要刻录的bootloader的板子型号(你将要烧写的板子型号)对应。看到板环境页面描述细节。
7.选择 Burn Bootloader>Arduino as ISP,开始烧写bootloader
连接示意图(针对UNO,Duemilanove,Diecimila)

arduino-avrISP

Arduino教程——LM35线性温度传感器

LM35线性温度传感器模块

174710tl4tkos8v68p4qrt

模块特点:
1、有较好的线性度和较高的灵敏度。
2、传感器的输出电压与摄氏温度呈线性关系,0℃时输出为0V,每升高1℃,输出电压增加10mv。
3、与Arduino专用传感器扩展板结合使用,可以非常容易地实现与环境温度感知相关的互动效果。
模块规格:
主要芯片:LM35
工作电压:5V
传感器类型:模拟
引脚:
out:输出
+:VCC DC4V~6V输入端
-:GND 接地端
连接示意图:

2136042vpvg286h22vlevv
参考代码示例:

int potPin = 4;                     //设置模拟口4为LM35的信号输入端口
float temperature = 0;                //设置temperature为浮点变量
long val=0;                       //设置val为长整数变量
 
void setup()
{
Serial.begin(9600);//设置波特率
}
 
void loop ()                     
{
   val=analogRead(potPin);//温度传感器LM35接到模拟PIN4上;val变量为从LM35信号口读取到的数值
  temperature = (val*0.0048828125*100);   //把读取到的val转换为温度数值,系数一:0.00488125=5/1024,0~5V对应模拟口读数1~1024,系数二:100=1000/10,1000是毫伏与伏的转换;10是每10毫伏对应一度温升。
   Serial.print("Tep=  ");
   Serial.print(temperature);
   Serial.println(" C");
    delay(500);//延时500毫秒,这里也就是刷新速度。
 
}