一、入门语法

Arduino - 板的说明_安科网

Barrel插口是电源(桶插座)

晶振帮助Arduino处理时间问题。 Arduino如何计算时间? 答案是,通过使用晶体振荡器。 在Arduino晶体顶部打印的数字是16.000H9H。 它告诉我们,频率是16,000,000赫兹或16MHz。

常量:

  • HIGH | LOW     表示数字IO口的电平,HIGH 表示高电平(1),LOW 表示低电平(0)。
  • INPUT | OUTPUT   表示数字IO口的方向,INPUT 表示输入(高阻态),OUTPUT  表示输出(AVR能提供5V电压 40mA电流)。
  • true | false    true 表示真(1),false表示假(0)。

结构

  • void setup()   初始化变量,管脚模式,调用库函数等
  • void loop()  连续执行函数内的语句

数字 I/O

  • pinMode(pin, mode)    数字IO口输入输出模式定义函数,pin表示为0~13, mode表示为INPUT或OUTPUT。
  • digitalWrite(pin, value)    数字IO口输出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。比如定义HIGH可以驱动LED。
  • int digitalRead(pin)    数字IO口读输入电平函数,pin表示为0~13,value表示为HIGH或LOW。比如可以读数字传感器。

模拟 I/O

  • int analogRead(pin)    模拟IO口读函数,pin表示为0~5(Arduino Diecimila为0~5,Arduino nano为0~7)。比如可以读模拟传感器(10位AD,0~5V表示为0~1023)。
  • analogWrite(pin, value) - PWM     数字IO口PWM输出函数,Arduino数字IO口标注了PWM的IO口可使用该函数,pin表示3, 5, 6, 9, 10, 11,value表示为0~255。比如可用于电机PWM调速或音乐播放。

扩展 I/O

  • shiftOut(dataPin, clockPin, bitOrder, value)    SPI外部IO扩展函数,通常使用带SPI接口的74HC595做8个IO扩展,dataPin为数据口,clockPin为时钟口,bitOrder为数据传输方向(MSBFIRST高位在前,LSBFIRST低位在前),value表示所要传送的数据(0~255),另外还需要一个IO口做74HC595的使能控制。
  • unsigned long pulseIn(pin, value)    脉冲长度记录函数,返回时间参数(us),pin表示为0~13,value为HIGH或LOW。比如value为HIGH,那么当pin输入为高电平时,开始计时,当pin输入为低电平时,停止计时,然后返回该时间。

时间函数

  • unsigned long millis()   返回时间函数(单位ms),该函数是指,当程序运行就开始计时并返回记录的参数,该参数溢出大概需要50天时间。
  • delay(ms)    延时函数(单位ms)。
  • delayMicroseconds(us)    延时函数(单位us)。

数学函数

  • min(x, y)  求最小值
  • max(x, y)  求最大值
  • abs(x)   计算绝对值
  • constrain(x, a, b)  约束函数,下限a,上限b,x必须在ab之间才能返回。
  • map(value, fromLow, fromHigh, toLow, toHigh)    约束函数,value必须在fromLow与toLow之间和fromHigh与toHigh之间。
  • pow(base, exponent)  开方函数,base的exponent次方。
  • sq(x)     平方
  • sqrt(x)   开根号

三角函数

  • sin(rad)
  • cos(rad)
  • tan(rad)

随机数函数

  • randomSeed(seed)   随机数端口定义函数,seed表示读模拟口analogRead(pin)函数 。
  • long random(max)   随机数函数,返回数据大于等于0,小于max。
  • long random(min, max)   随机数函数,返回数据大于等于min,小于max。

外部中断函数

  • attachInterrupt(interrupt, , mode)     外部中断只能用到数字IO口2和3,interrupt表示中断口初始0或1,表示一个功能函数,mode:LOW低电平中断,CHANGE有变化就中断,RISING上升沿中断,FALLING 下降沿中断。
  • detachInterrupt(interrupt)    中断开关,interrupt=1 开,interrupt=0 关。

中断使能函数

  • interrupts()  使能中断
  • noInterrupts()  禁止中断

串口收发函数

  • Serial.begin(speed)  串口定义波特率函数,speed表示波特率,如9600,19200等。
  • int Serial.available()  判断缓冲器状态。
  • int Serial.read()   读串口并返回收到参数。
  • Serial.flush()    清空缓冲器。
  • Serial.print(data)  串口输出数据。
  • Serial.println(data)   串口输出数据并带回车符。

/************Arduino语言库文件*************/

官方库文件

  • EEPROM - EEPROM读写程序库
  • Ethernet - 以太网控制器程序库
  • LiquidCrystal - LCD控制程序库
  • Servo - 舵机控制程序库
  • SoftwareSerial - 任何数字IO口模拟串口程序库
  • Stepper - 步进电机控制程序库
  • Wire - TWI/I2C总线程序库
  • Matrix - LED矩阵控制程序库
  • Sprite - LED矩阵图象处理控制程序库

非官方库文件

  • DateTime - a library for keeping track of the current date and time in software.
  • Debounce - for reading noisy digital inputs (e.g. from buttons)
  • Firmata - for communicating with applications on the computer using a standard serial protocol.
  • GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset.
  • LCD - control LCDs (using 8 data lines)
  • LCD 4 Bit - control LCDs (using 4 data lines)
  • LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219.
  • LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips.
  • Messenger - for processing text-based messages from the computer
  • Metro - help you time actions at regular intervals
  • MsTimer2 - uses the timer 2 interrupt to trigger an action every N milliseconds.
  • OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol.
  • PS2Keyboard - read characters from a PS2 keyboard.
  • Servo - provides software support for Servo motors on any pins.
  • Servotimer1 - provides hardware support for Servo motors on pins 9 and 10
  • Simple Message System - send messages between Arduino and the computer
  • SSerial2Mobile - send text messages or emails using a cell phone (via AT commands over software serial)
  • TextString - handle strings
  • TLC5940 - 16 channel 12 bit PWM controller.
  • X10 - Sending X10 signals over AC power lines

Arduino入门(一)相关推荐

  1. arduino 入门套件_计算机视觉入门套件

    arduino 入门套件 Among the many disciplines in the field of machine learning, computer vision has arguab ...

  2. arduino入门教程!保姆级细致教学!

    Arduino入门教程 前言 arduino作为全球知名的开源电子平台,它的诞生,为广大电子爱好者提供了一个大展拳脚的机会,可以以较为简单的编程能力制作出属于自己的项目,将许多有趣的想法通过编程和ar ...

  3. Arduino入门小知识点总结(2)(红外感应开关 与 继电器接法 模拟输入输出tone函数)

    ** Arduino入门小知识点总结(2)(红外感应开关 与 继电器) ** 1.关于电磁继电器的接法 说来惭愧,本是多么简单的一个问题,我用了约十万六千三百二十七次心跳(这梗懂得都懂)的时间,才查到 ...

  4. arduino入门教程书籍推荐,arduino从入门到精通

    今天给大家推荐的这本Arduino入门教程由国内知名创客教育和开源硬件供应商DFRobot出品,由15个基础的 Arduino项目组成,分别配合实例介绍了Arduino 的基本使用方法和各种扩展模块的 ...

  5. 1.Arduino入门项目1-超声波测距仪(附项目源码、库文件、电路图、材料清单等资料)

    1.Arduino入门项目1-超声波测距仪 (项目源码.库文件.电路图.材料清单等可在文末获取) 设计者:STCode(公众号同名) 后台回复:入门项目1 获取完整资料 1.Arduino入门项目1- ...

  6. ARDUINO入门教程(二)基本传感器的使用

    ARDUINO入门教程(二)基本传感器的使用 温湿度(HTU21DF).土壤湿度(Capacitive).大气压强(GY-68 BMP180).光传感器以及RFID的读取 几种传感器 基本传感器的使用 ...

  7. Arduino 入门学习8 Arduino MEGA + TCS3200进行颜色识别

    Arduino 入门学习8 Arduino MEGA + TCS3200进行颜色识别 一.颜色识别原理 二.一般颜色识别实现方式 三.TCS3200 简介 四.TCS3200 工作原理 五.TCS32 ...

  8. arduino入门教程系列一:初识arduino

    为了照顾新手小伙伴,DF创客社区开始陆续更新一些arduino系列基础教程,帮助大家更好地入门! 先从Arduino入门教程开始吧. Arduino是什么? Arduino是一个开放源码电子原型平台, ...

  9. Arduino入门笔记(6):温度传感器及感温杯实验

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 :https://item.taob ...

最新文章

  1. Spring整合Redis时报错:java.util.NoSuchElementException: Unable to validate object
  2. Codeforces Round #709 (Div. 1) C. Skyline Photo dp + 单调栈优化
  3. 华为正式出售荣耀;圆通回应内鬼致 40 万条个人信息泄露;Spring Boot 2.3.6 发布|极客头条...
  4. git推送tag到远端服务器
  5. 101与金根回顾敏捷个人:(82)《把时间当做朋友》
  6. 2022年华为杯中国研究生数学建模竞赛C题思路
  7. 主动学习、纯半监督学习、直推学习的联系与区别
  8. 低价主机,怎么找性价比虚拟主机香港空间
  9. SpringMvc后端往往前端
  10. FAGL_FCV 外币评估 原因代码替代
  11. Unreal Engine UE4开发技巧
  12. 计算机视觉中的多视图几何<Part0—基础知识:射影几何、变换和估计>(1)
  13. [CQOI2005]三角形面积并
  14. h264 sei信息 解码_关于H264编码数据中SPS,PPS,SEI,IDR等内容的问题
  15. 商旅问题TSP——动态规划(c++ 动态规划)
  16. 基于Linux的网络编程——网络聊天程序
  17. 转载:自动化测试金字塔与反模式
  18. c语言 printf分栏输出,Exce表格分栏打印输出的两种巧妙方法
  19. 蔡高厅老师 - 高等数学阅读笔记 - 09 - 罗必塔法则 - 和最值定理和函数的单调性最值 (37、38、39、40~43)
  20. 计算机三维机械设计基础答案,电子科技大学《计算机三维艺术设计》rhino答案.doc...

热门文章

  1. flex布局对行内子元素的影响
  2. python量化策略——改进的美林时钟代码(代码版)
  3. Person Re-identification by Local Maximal Occurrence Representation and Metric Learning(LOMO+XQDA)
  4. RNN/LSTM (四) 实践案例改编
  5. navicat删除注册表文件_如何彻底删除mysql服务(清理注册表)详解
  6. vue 中 用showdown预览markdown文件,并用highlight.js 实现代码高亮
  7. 如何在ps添加箭头_如何给图片加箭头?利用ps画箭头(任意角度),照着学就行了...
  8. 为什么要背诵新概念英语?
  9. python_you-get下载B站视频详解
  10. vba oracle 乱码,【VBA研究】用VBA实现excel与Oracle数据库交互