成为订阅者(免费)

加入29,000名其他订阅者以获得用户销售折扣和 其他免费资源。
:
:
大学教师'担心 - 您的邮件地址完全是 安全的。我保证使用它 只要 to send you MicroZine.

所有关于DS18B20 Temperature Sensor

这DS18B20 is a 0.5°C accurate thermometer (This is the 与LM35设备相同的准确性)。如果你愿意,它非常有用 测量几个10个面积内的温度's的米,如建筑物,自许多人 设备可以连接到单线对。

在这里,您可以了解有关达拉斯的更多信息 DS18B20. 温度传感器以及如何在Arduino Uno R3上使用它。

您可以实际使用它与任何允许双向I / O引脚的微控制器i.e.几乎 任何现代的微控制器 - 那么您所需要的只是一些代码。

笔记:DS18B20可以采取电力 完全来自数据线引脚,不需要除了该引脚以外的正电源 - 这意味着您可以将其放在没有容易的位置 可访问的电源。您确实需要添加〜5k上拉,因为设备是 开水和空闲状态高。

这really good thing about this sensor is that it uses a 1-wire interface 对于多个1线装置(不一定只是温度传感器) - 即 意味着您只需要1个信号线和接地返回线。 核心电缆(信号线可用于为设备供电!)

警告: 您需要添加一个上拉电阻以进行工作。

每个1线装置,包括DS18B20,具有独特的激光雕刻 标识符,因此您可以单独与1线设备通信。这是如何 每个传感器在同一总线上与另一个传感器的区别。

DS18B20.典型连接。

这既是好的还是坏;好,因为你可以附加多个设备和 坏(但不是太糟糕)因为你必须识别和定位每个设备.g 在大型建筑安装中,您必须获取ID并将其登录 显示它在哪里的软件。

这1-wire interface is actually signal and ground so it should really be called a '2-wire'界面;它被称为1线,因为它是为了 授予总有一个地面回报路径。

该温度传感器是数字传感器,基本精度为0.5°C (并且它仅在°C中输出数据) - 它还具有可调节的分辨率 0.5°C(9bits)至0.0625°C(12比特) - 采集速度受到影响 所选分辨率 - 从93ms(9bit res)高达750ms - 近1秒 - max. res. of 12bits.

笔记:您可以附上多个1线 设备到单个I / O引脚。

警告: 你需要一个上拉 resistor - 它赢了't work without one!

内部NV内存

关于该设备的关键点之一是它并不总是必须的 完全有效,因为它在更高的功率下执行温度转换 然后将值存储在自己的内部NV存储器中。如果您使用,这将是重要的 两个线模式GND和信号 - 信号线也为此供电 device.

达拉斯DS18B20规范

  Parameter
DS18B20.
  Voltage Supply (Vs)
3.0〜5.5V.
  Voltage Abs. Max
-0.5V〜6.0v.
  Interface
双线(DQ,GND)
  Temperature Range
-55°C〜125°C
  温度精度(-10°C〜85°C)
±0.5°C
  温度精度(-55°C〜125°C) ±2.0°C
  Resolution 0.5°C〜0.0625°C
  漂移(125°C的1000小时压力) 0.2°C
  Active current
1〜1.5mA
  Standby current
0.75ua〜1ua(max)
  DQ输入电流(高Z,线路高)
5uA

采集速度与 Resolution

请注意,分辨率与准确性不同 - 任何增加 分辨率并不增加精度,而是允许您 更容易监控相对变化。

号位 最大转换 Time 解析度 忽略的比特
9 93.75ms 0.500°C. 2,1,0
10 187.5ms 0.250°C. 1,0
11 375ms 0.125℃ 0
12 750ms 0.0625℃ -

[来源:下面的数据表 - 不。 比特,最大转换时间]

笔记:分辨率计算 表1中的数据表示在下面的数据表中,其中十六进制代码0为0°C 并且十六进制代码8为0.5°C,因此1位表示0.5 / 8°C或0.0625°C(at 12 bit resolution).

请记住,设备输出十六进制数据的较低位必须忽略 使用较低分辨率时,因为这些位的值未定义 使用输出数据时,请确保它们为零。

DS18B20.数据表

http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf

引脚

不要向后推向这 - 它会爆炸 - 确保使用正确的 DS18B20.引脚声 to wire it up!

注意:某些数据表使用标签"ds18b20-par" - par text站立 寄生动力。


DS18B20.引脚连接

电源

有两种方法可以为DS18B20供电:

  1. 外部3-5V电源。
  2. 寄生功率(来自微控制器的数据线)。
警告 :我以为我可以逃脱只是为了推动 DS18B20使用GND和VDD,仅使用信号线: 没有 - 您必须将芯片控制引脚的上拉电阻从芯片控制引脚到大约4K7的VCC引脚 还有 (我用3k3在夹子上)。

如果你不'T,Arduino图书馆(下面的第1例)看不到 设备。当信号线是时,必须使用电阻将设备拉出 tristate (即使提供了GND和VCC)。如果你不这样做 this you'我只是看到了消息"No more addresses.". This be due to the 使用的信号方法(开放电极) - 所以唐'忘记(就像我一样)那个 上拉不仅仅是提供电力。

只需要一个上拉,可以靠近 microcontroller pin.

外部电源

这first method "external power"确保正确的途径是更容易的 操作但需要当地的权力来源。由于这些设备可以运行 在非常长的电缆距离上,即在建筑物内并不总是如此 方便连接到您想要测量的电源 temperature.

您可以使用额外的电线来携带电力或使用寄生电源 供应方法,但存在并发症。

寄生功率

寄生功率是从单个4k7上拉电阻导出的功率 一线总线,保持v的同时进入DQ线DD. PIN在地面 - 这表明芯片应该使用寄生功率。

寄生功率为1线中的内部电容充电 设备所以当公共汽车被拉低时,仍然存在一些能量 另一个设备。关键问题是在内部EEPROM期间写入 (到DS18B20)或更新温度读数时,最多可以是1.5mA drawn.

单独使用上拉电阻供电,可能导致电压 提供给DS18B20以删除可能导致复位。一个解决方案是 使用更强大的上拉电阻。 1kΩ。

这datasheet indicates that a strong current driver (a MOSFET from Vcc to 1-Wire总线)应用于提供电源,而这些动作是 执行即覆盖4k7上拉 - 允许更多电流 sensor.

这problem is that during the strong pullup action Onewire无法进行其他沟通 bus。写入NV(TWR中的TWR)EEPROM可以最大限度地实现 of 10ms (对于副本ScratchPad command) - 对于转换命令,将上拉用于转换时间 (93ms〜750ms) - 这是多久 必须举行强大的上拉,以确保有效的操作!

对于连续的Comms。即与其他设备通信使用权力 单独提供给DS18B20的VCC引脚。这可能意味着使用3个芯线 而不是2条电线或在DS18B20设备上使用单独的电源 location.

在里面'DallasTemperature'图书馆规定持有 微控制器引脚高为时间对MOSFET执行类似的动作 - 大多数微控制器引脚具有相当高的输出电流能力〜20mA。 使用此方法仍将停止总线通信。

笔记:你可以混合寄生和 同一1线总线上的外部电源器件。有一种机制来查询 关于它是如何供电的设备。避免使用强大的拉动 外部有源设备(参见数据表)。

距离

有些人最多推荐30米,但下面的注释表示60米 如果使用FET驱动器,可以实现(甚至进一步的200m):

//www.maximintegrated.com/en/app-notes/index.mvp/id/148

随着任何网络系统传输线路效应进入播放和 它可以变得非常复杂(上面的应用笔记进入了一个 关于这个的详细信息)。

同样在那张笔记中,是概念'weight'这是分配给添加到总线的每个设备的值(每个设备具有值'weight'缩短可以使用的最大电缆长度)。'weight'以米为单位测量。

你从网络开始'weight',再次以米为单位测量 网络中使用的电缆的总长度 - 以及多少电缆可以 被驱动。申请笔记中引用的例子表明了 'weight'对于使用简单的上拉是200米。但是通过使用主动 上拉这可以增加到500米。

添加到网络中的每个设备都会添加一个'weight' cost to the network 由于它加载电缆,具有电容 - 降低拉动时间 而且也消耗了电力。

你可以想到'weight'作为电缆数量的成本"由每个添加的设备用完"。如果您添加了30个设备 'weight'成本1M然后必须减少最大电缆长度 30米。请注意,这是一个简单的视图,可以是可实现的长度 由于电缆连接较短,导致传输线反射 但这是一个很好的起点。

电缆类型

这recommended wire is CAT5 and you arrange them as a bus or a daisy 链接链网络 - 帮助避免传输线反射 问题 - 与启动网络相对。

最初,1线协议仅用于PCB通信但是 它的使用增长了100个拥有100的联网拓扑'米电缆。实际上 使用特殊的驱动器考虑,可实现500米。

有许多不同的拓扑 DS18B20.布局 包括线性,线性与存根,星形网络和切换线性(参见 下图)。 Maxim应用笔记AN148有很多详细 有关可以使用的网络类型的信息:

//www.maximintegrated.com/en/app-notes/index.mvp/id/148

这following figures are extracts from the that application note.

DS18B20.网络连接

连接多种设备有许多不同的方法 包括以下布局:系列,存根,星形和切换。

DS18B20.线性拓扑

具有存根的多个传感器线性网络

DS18B20.线性拓扑与存根

多个传感器星网

DS18B20.星拓扑

多个传感器切换线性网络

DS18B20.切换线性拓扑

1线应用笔记

有关1线界面的信息还有很多信息 这里 (See the "1 -wire" devices entry).

温度传感器报警状态

您可以编程到DS18B20上部和较低温度(进入 非易失性存储器 - DS18B20本身内的内部EEPROM),因此如果 温度出现在上限或下限之外,报警条件是 创建。这意味着你不'T必须不断调查(可能是 数百个凹陷)检查超出范围温度条件。

这master controller can issue an alarm search command at regular 间隔 - 连接到具有警报条件的1线总线的任何DS18B20 会回应。然后,控制器可以找出哪个设备具有警报 condition flag set.

笔记:定义函数以设置 alarms in the "MAX31850 Dallas Temperature" library. 见注释 the end on the MAX31850.

arduino.测试项目

电路布局:Arduino DS18B20多设备 wire connection:

寄生和外部电源连接都可以使用 One-wire bus.

笔记:显示两个DS18B20器件 以下电路,但代码将与其中一件 - 自动检测连接到一根电线总线的设备。

这left hand device is parasitic powered (the so-called 1-wire interface 这实际上是一个2线接口 - GND和信号)右手 设备是外部供电的(3线接口 - GND,信号和电源)。

  • 您可以从无焊接面包板上卸下任何一个设备'll 仍然从另一个读取温度!

arduino. DS18B20具有多个 单个总线上的设备 wire:

DS18B20. Arduino布局外部电源和寄生电源连接

零件清单:温度传感器Arduino Uno project:

  1. 使用的设备:DS18B20(在备用板上或独立)。
  2. 4k7.
  3. 面包板。
  4. arduino. Uno R3。
  5. 10uf电解。

arduino.软件设置:

IDE版本使用:1.6.4
二手董事会:Arduino Uno R3
图书馆:OneWire v2.2

示例1 OneWire库

arduino.图书馆1(Onewire)

这first library is a user contributed i.e not included with the Arduino 但是,但您仍然可以使用Arduino IDE图书馆管理器安装它。

安装库1

  1. goto菜单素描 - > Include Library --> Manage Libraries...
  2. 在里面Filter Search type onewire.
  3. 单击OneWire库。
  4. 点击安装。
笔记:如果你不't看到上面的图书馆结构然后是你 有错误的IDE(正确的一个来自Arduino.cc)。

您现在可以在菜单中找到草图示例:

文件 - > Examples --> OneWire --> DS18x20_Temperature

arduino.素描1

这following code is the example included with the OneWire library (only 更改为将OneWire总线(为DS18B20)放在Arduino UNO的PIN 4上 R3:

注意:单击下面的框中的任何文本将复制到 clipboard.

#include <OneWire.h>

// OneWire DS18S20, DS18B20, DS1822 Temperature Example
//
// http://www.pjrc.com/teensy/td_libs_OneWire.html
//
// The DallasTemperature library can do all this work for you!
// http://milesburton.com/Dallas_Temperature_Control_Library

OneWire  ds(4);  // on signal pin (a single 4.7K resistor is necessary)

void setup(void) {
  Serial.begin(9600);
}

void loop(void) {
  byte i;
  byte present = 0;
  byte type_s;
  byte data[12];
  byte addr[8];
  float celsius, fahrenheit;

  if ( !ds.search(addr)) {
    Serial.println("No more addresses.");
    Serial.println();
    ds.reset_search();
    delay(250);
    return;
  }

  Serial.print("ROM =");
  for( i = 0; i < 8; i++) {
    Serial.write(' ');
    Serial.print(addr[i], HEX);
  }

  if (OneWire::crc8(addr, 7) != addr[7]) {
      Serial.println("CRC is not valid!");
      return;
  }
  Serial.println();

  // the first ROM byte indicates which chip
  switch (addr[0]) {
    case 0x10:
      Serial.println("  Chip = DS18S20");  // or old DS1820
      type_s = 1;
      break;
    case 0x28:
      Serial.println("  Chip = DS18B20");
      type_s = 0;
      break;
    case 0x22:
      Serial.println("  Chip = DS1822");
      type_s = 0;
      break;
    default:
      Serial.println("Device is not a DS18x20 family device.");
      return;
  }

  ds.reset();
  ds.select(addr);
  ds.write(0x44, 1);        // start conversion, with parasite power on at the end

  delay(1000);     // maybe 750ms is enough, maybe not
  // we might do a ds.depower() here, but the reset will take care of it.

  present = ds.reset();
  ds.select(addr);
  ds.write(0xBE);         // Read Scratchpad

  Serial.print("  Data = ");
  Serial.print(present, HEX);
  Serial.print(" ");
  for ( i = 0; i < 9; i++) {           // we need 9 bytes
    data[i] = ds.read();
    Serial.print(data[i], HEX);
    Serial.print(" ");
  }
  Serial.print(" CRC=");
  Serial.print(OneWire::crc8(data, 8), HEX);
  Serial.println();

  // Convert the data to actual temperature
  // because the result is a 16 bit signed integer, it should
  // be stored to an "int16_t" type, which is always 16 bits
  // even when compiled on a 32 bit processor.
  在t16_t raw = (data[1] << 8) | data[0];
  if (type_s) {
    raw = raw << 3; // 9 bit resolution default
    if (data[7] == 0x10) {
      // "count remain" gives full 12 bit resolution
      raw = (raw & 0xFFF0) + 12 - data[6];
    }
  } else {
    byte cfg = (data[4] & 0x60);
    // at lower res, the low bits are undefined, so let's zero them
    if (cfg == 0x00) raw = raw & ~7;  // 9 bit resolution, 93.75 ms
    else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms
    else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms
    //// default is 12 bit resolution, 750 ms conversion time
  }
  celsius = (float)raw / 16.0;
  fahrenheit = celsius * 1.8 + 32.0;
  Serial.print("  Temperature = ");
  Serial.print(celsius);
  Serial.print(" Celsius, ");
  Serial.print(fahrenheit);
  Serial.println(" Fahrenheit");
}

警告:再说一下 DHT22 代码上面代码使用硬编码 延迟 - 它们也是最大延迟,因此即使为9bits,代码也使用1s 延迟!当然,你可以改变它,但你必须了解它。

请参阅达拉斯温度库: 异步 mode 对于不同的解决方案。

从上面的代码输出 (oneWire Library).

这是Arduino串行监视器的输出显示:

  • ROM数据(硬编码芯片代码和家庭代码(28)),
  • 芯片类型,
  • 划痕垫数据,
  • 温度在°C和°F(°F使用浮点计算) calculation).

用一个传感器输出:

具有两个传感器的输出:

DS18B20.具有寄生和外部电源连接

输出三 sensors:

DS18B20. 3传感器1外部功率2  -  Polasitic Power

示例2不同的库 (DallasTemp)

您可以使用此库获取相同的结果,但此符合此处拥有更多 用于更好地控制单线总线上的设备的功能。

arduino.图书馆2(Dallastemp)

笔记: MAX31850 Dallastemp库也支持 DS18B20.

此库构建在OneWire库(对OneWire的引用) 通过变量访问库'_wire'在dallastmperature.cpp)。它 为您提供一个更完整的访问机制来控制总线上的设备。在 此外,它会根据使用中的分辨率进行更新前的延迟 (随着分辨率的延迟变化)。还有一个 异步机制 to avoid wasting 传感器更新时处理器时间。

安装库2

  1. goto菜单素描 - > Include Library --> Manage Libraries...
  2. 在里面Filter Search type dallas.
  3. 单击MAX31850 Dallastemp库(这也支持 DS18B20).
  4. 点击安装。

您现在可以在菜单中找到草图示例:

文件 - > Examples -->MAX31850 Dallastemp - > (as below):



打开上面的简单示例。

arduino.素描2

以下草图使用OneWire和DallasteMperature库(Maxim 买了达拉斯 - 因此旧的名字)。

这first sketch is labelled "Simple";编辑引脚2将其更改为引脚4。 然后在Arduino Library文件夹中使用SAVEAS_DALLASTEMP(默认值 地点)。在下面的草图中,我添加了2个输出,因为我有3个ds18b20 总线上的设备 - 您可以添加尽可能多的输出语句作为您的设备 have.

#include <OneWire.h>
#include <DallasTemperature.h>
// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 4

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
dallastemperature. sensors(&oneWire);

void setup(void) {
// start serial port
Serial.begin(9600);
Serial.println("Dallas Temperature IC Control Library Demo");

// Start up the library
sensors.begin(); }

void loop(void) { // call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
Serial.print("Requesting temperatures...");
sensors.requestTemperatures(); // Send the command to get temperatures
Serial.println("DONE");
Serial.print("Temperature for the device 1 (index 0) is: ");
Serial.println(sensors.getTempCByIndex(0)); Serial.print("Temperature for the device 2 (index 1) is: ");
Serial.println(sensors.getTempCByIndex(1)); Serial.print("Temperature for the device 3 (index 2) is: ");
Serial.println(sensors.getTempCByIndex(2));
}

用三个传感器输出


异步延迟

如果您希望处理器在等待的同时做其他事情 温度更新在dallastmperature中存在一种机制.CPP代码 can activate called ASYNC Mode - a private boolean flag (waitForConversion) is controlled from a public function:

//
// sets the value of the waitForConversion flag // TRUE : function requestTemperature() etc returns when conversion is ready // FALSE: function requestTemperature() etc returns immediately (USE WITH CARE!!) // (1) programmer has to check if the needed delay has passed // (2) but the application can do meaningful things in that time
void dallastemperature.::setWaitForConversion(bool flag) {
waitForConversion = flag; }

// gets the value of the waitForConversion flag
bool dallastemperature.::getWaitForConversion() {
return waitForConversion; }


简化上面的成员函数是:

setWaitForConversion(bool flag)

您可以使用公共功能查询标志状态:

bool getWaitForConversion()

基本上,如果标志是真的,你发起了一个温度更新 设备,那么代码将立即返回 - 这取决于你等待 所需的时间。您可以制作一个中断计时器来触发获取的 温度,而你的代码为其他东西做了一晚。更新显示,读取一个 键盘或读取另一个设备,如a 湿度传感器.

笔记:异步延迟机制 允许您避免在传感器更新时避免浪费处理时间,但它已启动 给你等待适当的时间。


此机制在库中被编码:

// ASYNC mode
if(!waitForConversion)return;
blockTillConversionComplete(&bitResolution,0);


因此,程序要么立即返回到代码或执行延迟 wait.

MAX31850

这MAX31850 library is also capable of supporting the DS18B20 plus a few 更多温度传感1线装置。所以你可以将这个传感器混合在一起 DS18B20在同一1 -Wire总线上。这个图书馆比1wire更有能力 library alone.

MAX31850是一种冷结补偿热电偶传感器,也是如此 一个Onewire Sensor意味着您可以选择任何可用的热电偶(K, j,n,t和e)。与DSB1820一样,它具有12位分辨率。你买一个 匹配的不同MAX31850(零件号中的不同结束代码) 到特定的热电偶类型(k,j,n,t和e)。

笔记:使用max31850他们说 (adafruit)您需要使用Adafruit提供的OneWire库 - 因为它们正在代码中的分支而不是,这是一个顽皮 更新原件。我没有看过它 - 最好地这样做 如果您想要MAX31850工作!

使用不同的热电偶类型增加最大最小范围或 敏感性k型具有-200?c至1350?c范围。

Dallastemp库功能: (MAX31850,DS18B20)

这"MAX31850达拉斯温度"图书馆有许多有用的功能 建于OneWire库的顶部,如果您要认真使用 Maxim OneWire设备,那么它值得学习。给你一个概述 here'■它提供的功能列表:

_AlarmHandler(&defaultAlarmHandler)
dallastemperature.(OneWire* _oneWire) DallasTemperature::alarmSearch(uint8_t* newAddr) DallasTemperature::begin(void) DallasTemperature::blockTillConversionComplete(uint8_t* bitResolution, uint8_t* deviceAddress) DallasTemperature::calculateTemperature(uint8_t* deviceAddress, uint8_t* scratchPad) DallasTemperature::defaultAlarmHandler(uint8_t* deviceAddress) DallasTemperature::getAddress(uint8_t* deviceAddress, uint8_t index) DallasTemperature::getCheckForConversion() DallasTemperature::getDeviceCount(void) DallasTemperature::getHighAlarmTemp(uint8_t* deviceAddress) DallasTemperature::getLowAlarmTemp(uint8_t* deviceAddress) DallasTemperature::getResolution() DallasTemperature::getResolution(uint8_t* deviceAddress) DallasTemperature::getTempC(uint8_t* deviceAddress) DallasTemperature::getTempCByIndex(uint8_t deviceIndex) DallasTemperature::getTempF(uint8_t* deviceAddress) DallasTemperature::getTempFByIndex(uint8_t deviceIndex) DallasTemperature::getWaitForConversion() DallasTemperature::hasAlarm(uint8_t* deviceAddress) DallasTemperature::hasAlarm(void) DallasTemperature::isConnected(uint8_t* deviceAddress) DallasTemperature::isConnected(uint8_t* deviceAddress, uint8_t* scratchPad) DallasTemperature::isConversionAvailable(uint8_t* deviceAddress) DallasTemperature::isParasitePowerMode(void) DallasTemperature::processAlarms(void) DallasTemperature::readPowerSupply(uint8_t* deviceAddress) DallasTemperature::readScratchPad(uint8_t* deviceAddress, uint8_t* scratchPad) DallasTemperature::requestTemperatures() DallasTemperature::requestTemperaturesByAddress(uint8_t* deviceAddress) DallasTemperature::requestTemperaturesByIndex(uint8_t deviceIndex) DallasTemperature::resetAlarmSearch() DallasTemperature::setAlarmHandler(AlarmHandler *handler) DallasTemperature::setCheckForConversion(bool flag) DallasTemperature::setHighAlarmTemp(uint8_t* deviceAddress, char celsius) DallasTemperature::setLowAlarmTemp(uint8_t* deviceAddress, char celsius) DallasTemperature::setResolution(uint8_t newResolution) DallasTemperature::setResolution(uint8_t* deviceAddress, uint8_t newResolution) DallasTemperature::setWaitForConversion(bool flag) DallasTemperature::toCelsius(float fahrenheit) DallasTemperature::toFahrenheit(float celsius)
dallastemperature.::validAddress(uint8_t* deviceAddress) DallasTemperature::writeScratchPad(uint8_t* deviceAddress, const uint8_t* scratchPad)

跳跃 DS18B20. to the home page.


新的! Comments

让你说到你刚刚阅读的东西!留下下面的框中的评论。




隐私政策 | 接触 | 关于我

网站地图 | 使用条款



访问我们的Facebook页面:

   点击这里



最近的文章

  1. 如何使用ADS1115

    使用ADS1115精度16位ADC进行教程进行低功耗。

    阅读更多

  2. arduino.模拟输出...易模拟输出生成

    arduino.模拟输出:如何创建最精确的PWM模拟输出以及如何创建模拟PWM正弦波。

    阅读更多

  3. 数号和等效的快速宏。加快代码!

    了解DigitalWrite()的工作原理......现在使用17倍宏宏!

    阅读更多

  4. 这TCS230 Color Sensing Chip: How it works and how to use it.

    如何使用TCS230(/ TCS3200)彩色检测器芯片并轻松将其添加到您的任何项目中。

    阅读更多

  5. 如何使用ADXL345进行运动感测等。

    使用ADXL345 Acellerometer,您可以检测到16G!您还可以了解如何使用它来点击检测等。

    阅读更多

  6. HMC5883L 3轴数字MAGENTOMTER如何运作

    HMC5883L - 如何制作数字罗盘,了解HMC5883L和QMC5883L之间的差异以及它们是否兼容。

    阅读更多



读者 Comments

"I wanted to thank
你这么好
对于所有信息
你已经提供了
你的网站's

高超极好的."

- 逃亡Potthath.

"This site really is
最好的和我最喜欢的。
我发现这里有很多很有用
项目和提示。"

- 米兰

Bursach.<at>gmail.com<

"Awesome site,
非常,非常容易和好
导航!"


-
镭_tr.<at>
wolf359.cjb.net.


学习微控制器

"Interested in
微控制器?"

注册
免费7天指南:

自由 GUIDE : CLICK HERE


"I am a newbie to PIC
我想说
 how great your
网站一直在为我。"


- 戴夫

de_scott.<at>bellsouth.net

"Your site is a great
和完美的工作。
恭喜。"


- SURESH.

IntegratedInfosys.<at>
Yahoo.com.

"I couldn't find the correct
要定义的词语
你的网页。

非常有用,揭开,
诚实明确。

非常感谢
你的时间和作品。
问候。"


- Anon.

回到顶部