《Arduino程序设计基础》第三版修改意见收集-Arduino中文社区 - Powered by Discuz! Archiver

zeng11 发表于 2020-6-12 11:25

嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯

shandian4321 发表于 2020-6-12 15:07

本帖最后由 shandian4321 于 2020-6-12 15:09 编辑

奈何col 发表于 2020-6-12 08:43
格式会尽量统一,之前有些是用的arduino ide,有些是其他编辑器,格式化的时候规则可能不一样,造成不统 ...
是这两小节的:6.2.2 DHT11温湿度传感器、6.2.3 温湿度记录器。
应该是DHT11的头文件,我从ArduinoIDE的库中搜了dht11的头文件,下载后不能用,后来从一个教程网站上找到了一个DHT11的头文件,才能用的,我看了下,二者区别挺大的。如下(另,我的编程水平有限,C++不是很懂,只明白C,把两个头文件附上您看看):
能用的dht11.h:(.cpp不再给您附上了)
#ifndef dht11_h
#define dht11_h

#if defined(ARDUINO) && (ARDUINO >= 100)
#include <Arduino.h>
#else
#include <WProgram.h>
#endif

#define DHT11LIB_VERSION "0.4.1"

#define DHTLIB_OK                              0
#define DHTLIB_ERROR_CHECKSUM      -1
#define DHTLIB_ERROR_TIMEOUT      -2

class dht11
{
public:
    int read(int pin);
      int humidity;
      int temperature;
};
#endif
//
// END OF FILE
//

不知道怎么用的那个DHT.h(.cpp也不再附上了):
/* DHT library

MIT license
written by Adafruit Industries
*/
#ifndef DHT_H
#define DHT_H

#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif


// Uncomment to enable printing out nice debug messages.
//#define DHT_DEBUG

// Define where debug output will be printed.
#define DEBUG_PRINTER Serial

// Setup debug printing macros.
#ifdef DHT_DEBUG
#define DEBUG_PRINT(...) { DEBUG_PRINTER.print(__VA_ARGS__); }
#define DEBUG_PRINTLN(...) { DEBUG_PRINTER.println(__VA_ARGS__); }
#else
#define DEBUG_PRINT(...) {}
#define DEBUG_PRINTLN(...) {}
#endif

// Define types of sensors.
#define DHT11 11
#define DHT12 12
#define DHT22 22
#define DHT21 21
#define AM2301 21


class DHT {
public:
   DHT(uint8_t pin, uint8_t type, uint8_t count=6);
   void begin(uint8_t usec=55);
   float readTemperature(bool S=false, bool force=false);
   float convertCtoF(float);
   float convertFtoC(float);
   float computeHeatIndex(bool isFahrenheit=true);
   float computeHeatIndex(float temperature, float percentHumidity, bool isFahrenheit=true);
   float readHumidity(bool force=false);
   bool read(bool force=false);

private:
uint8_t data;
uint8_t _pin, _type;
#ifdef __AVR
    // Use direct GPIO access on an 8-bit AVR so keep track of the port and bitmask
    // for the digital pin connected to the DHT.Other platforms will use digitalRead.
    uint8_t _bit, _port;
#endif
uint32_t _lastreadtime, _maxcycles;
bool _lastresult;
uint8_t pullTime; // Time (in usec) to pull up data line before reading

uint32_t expectPulse(bool level);

};

class InterruptLock {
public:
   InterruptLock() {
#if !defined(ARDUINO_ARCH_NRF52)
    noInterrupts();
#endif
   }
   ~InterruptLock() {
#if !defined(ARDUINO_ARCH_NRF52)
    interrupts();
#endif
   }
};

#endif

奈何col 发表于 2020-6-12 19:23

shandian4321 发表于 2020-6-12 15:07
是这两小节的:6.2.2 DHT11温湿度传感器、6.2.3 温湿度记录器。
应该是DHT11的头文件,我从ArduinoIDE的库 ...

这个当然要使用书中使用的lib啦

JRH 发表于 2020-6-23 23:00

shandian4321 发表于 2020-6-11 15:25
能否把第二版后边的附录A.1再具体的写写,现在VS已经到2019了;另,Visual Studio Code中也有arduino的工具 ...

是免费的的

jy792001 发表于 2020-7-2 22:28

奈何col 发表于 2020-6-12 19:23
这个当然要使用书中使用的lib啦

请问:在一个安利中看到Nova.h头文件,在ide中找不到这个头文件,是什么情况啊?谢谢!

奈何col 发表于 2020-7-2 23:59

jy792001 发表于 2020-7-2 22:28
请问:在一个安利中看到Nova.h头文件,在ide中找不到这个头文件,是什么情况啊?谢谢! ...

不知道是啥,建议咨询写的人

arduino_wgt 发表于 2020-7-7 14:07

能以附录的形式增加一些arduino常用的C++知识吗?学生有c语言编程经验的较多,但是对c++却很陌生。c++语言知识非常庞杂,而arduino只用到其中的一部分。增加这个附录后,期望学生通过c++附录的学习,能基本看懂arduino库的代码,这对于排查程序bug很有帮助的。

JerryWang 发表于 2020-7-7 20:12

麻烦加一下VSCODE入门的相关内容刚开始用的时候研究了一整天:)
同意楼上的,加一下esp8266的内容,我用的比较多:)
再请多讲讲物联网相关的内容,现在我arduino的项目主要用的就是这些:)
另:举的例子可以再那么多一点点,多加入一些实战操作内容:)
一直是本书的忠实粉丝,以上仅作参考,期待第三版!

11nibaba 发表于 2020-8-7 16:47

请问第三版什么时候上市,我是小白,要先买第二版吗?

link4565 发表于 2020-8-10 20:35

加入usb host Shield的教程吧我觉得这个很多人需要还有就是i2c通信的教程改良最好能增加案例
页: 1 [2] 3 4 5 6 7
查看完整版本: 《Arduino程序设计基础》第三版修改意见收集