Arduino开发教程

Arduino开发教程

  • 1 前言
    • 1.1 大道之悟
    • 1.2 Arduino 硬件
    • 1.3 Arduino 软件
  • 2.基础篇
    • 2.1 点灯操作
    • 2.2 电机驱动
    • 2.3 机器通讯
  • 3. 提高篇
    • 3.1 联合实验
    • 3.2 物联开发
  • 4. 进阶篇
    • 4.1 实物开发
    • 4.2 友人优作
  • 5. 优质工具
    • 5.1 串口工具
    • 5.2 开发工具
    • 5.3 3D打印机
  • 6. 小结

主要开发专栏
《arduino学习》:学习最简单开源便利的单片机Arduino,与时俱进
《Arduino编程参考》:本专栏围绕Arduino语法和Arduino库使用开发;
《 Arduino小项目开发》:本专栏围绕Arduino生态结合实际需求设计综合的小项目开发。
《HomeAssistant》:介绍homeassistant中基本开发, 重点设计esphome和nodered开发,包含小爱同学打印机等诸多设备添加。
总之我会持续更新对应专栏博客(开源一直会维持在60%),部分付费专栏迫于交话费,买杯咖啡!

1 前言

Arduino出生于Ivrea交互设计学院,是一种用于快速制作原型的简便工具,主要面向没有电子和编程背景的学生。
官网支持:https://www.arduino.cc/
国内支持:

  1. Arduino 教程_w3cschool:https://www.w3cschool.cn/arduino/
  2. Arduino中文论坛DF:https://mc.dfrobot.com.cn/forum-92-1.html
  3. Arduino太极创客开发:http://www.taichi-maker.com/

Arduino开发教程_第1张图片

Arduino板一旦进入更广泛的社区,便开始进行更改以适应新的需求和挑战,将其产品从简单的8位板扩展到IoT应用,可穿戴,3D打印和嵌入式环境的产品。
Arduino开发教程_第2张图片

所有Arduino硬件和软件都是完全开源的,使用户能够独立构建它们,并且通过全球用户的贡献而不断发展。笔者认为就是便携带的小伙伴,根据提前设定的要求完成一定的动作反馈!
Arduino开发教程_第3张图片

1.1 大道之悟

作为单片机初学者,本人首选Arduino,刚开始不免会有许多困惑,现在也小有成就,都是慢慢积累的过程,现在养成了每周在CSDN上写博客的习惯,就算是翻译国外友人的idea也同样有所发展。
Arduino开发教程_第4张图片

既然我们齐聚C站,秉着“终生学习,共享进步!!!”的理念,我们将学会用arduino常用传感器和执行器,通过以下三个篇章,由浅入深,由低到高,由差到强层层递进。
Arduino开发教程_第5张图片

1.2 Arduino 硬件

多年来,Arduino发布了100多种硬件产品:板,扩展板,载体,套件和其他配件。在此页面中,您将找到所有活动Arduino硬件的概述,包括Nano,MKR和Classic系列。
官网支持;https://www.arduino.cc/en/hardware
Arduino开发教程_第6张图片

常见Arduino开发板系列有Uno、Nano、Mega2560、ESP8266、ESP32、PI PICO,他们的生态还在不断壮大,会有越来越多的开发板支持!

  1. Arduino Uno:入门版
  • Arduino UNO是基于ATmega328P的微控制器板。它具有 14 个数字输入/输出引脚(其中 6 个可用作 PWM 输出)、6 个模拟输入、一个 16 MHz 陶瓷谐振器、一个 USB 连接、一个电源插孔、一个 ICSP 接头和一个复位按钮。它包含支持微控制器所需的一切;只需使用 USB 电缆将其连接到计算机,或使用 AC-DC-DC 适配器或电池为其供电即可开始使用。您可以修补UNO,而不必担心做错事,最坏的情况是,您可以花几美元更换芯片并重新开始。
  • 官网支持:https://docs.arduino.cc/hardware/uno-rev3
  • 原理图:
    Arduino开发教程_第7张图片
  1. Arduino nano:便携版
  • 经典的Nano是Arduino Nano家族董事会中最古老的成员。它类似于Arduino Duemilanove,但用于面包板,没有专用的电源插孔。经典Nano的继任者是例如具有WiFi模块的Nano 33 IoT或具有低功耗蓝牙®和多个环境传感器的Nano 33 BLE Sense。
  • 官网支持:https://docs.arduino.cc/hardware/nano
  • 原理图:
    Arduino开发教程_第8张图片
  1. Arduino mega:中配版

Arduino Mega 2560是基于ATmega2560的微控制器板。它具有 54 个数字输入/输出引脚(其中 15 个可用作 PWM输出)、16 个模拟输入、4 个 UART(硬件串行端口)、一个 16 MHz 晶体振荡器、一个 USB 连接、一个电源插孔、一个 ICSP接头和一个复位按钮。

  • 官网支持:https://docs.arduino.cc/hardware/mega-2560
  • 原理图:
    Arduino开发教程_第9张图片
  1. esp8266:物联版
  • ESP8266EX 内置超低功耗 Tensilica L106 32 位 RISC 处理器,CPU 时钟速度最高可达 160 MHz,支持实时操作系统 (RTOS) 和 Wi-Fi 协议栈,可将高达 80% 的处理能力留给应用编程和开发。
  • 官网支持:https://www.espressif.com/zh-hans/products/socs/esp8266
  • 原理图:

Arduino开发教程_第10张图片

  1. ESP32 :高配版
  • ESP32 将天线开关、RF balun、功率放大器、接收低噪声放大器、滤波器、电源管理模块等功能集于一体。ESP32 只需极少的外围器件,即可实现强大的处理性能、可靠的安全性能,和 Wi-Fi & 蓝牙功能。ESP32 可作为独立系统运行应用程序或是主机
    MCU 的从设备,通过 SPI / SDIO 或 I2C / UART 接口提供 Wi-Fi 和蓝牙功能。
  • 官网支持:https://www.espressif.com/zh-hans/products/socs/esp32
  • DEVKIT V1原理图 Arduino开发教程_第11张图片

ESP32S2:高配版 原理图:
Arduino开发教程_第12张图片

  1. PI PICO:实用版
  • 树莓派PICO系列目前由四块板组成;Raspberry Pi Pico(最左),Pico H(中左),Pico W(中右)和Pico WH(最右)。

  • Raspberry Pi Pico是一款低成本、高性能的微控制器板,具有灵活的数字接口。主要功能包括:双核 Arm Cortex M0+ 处理器,运行频率高达 133 MHz 的灵活时钟,264kB SRAM 和 2MB 板载闪存。

  • 官网支持:https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html

  • 原理图:
    Arduino开发教程_第13张图片

1.3 Arduino 软件

目前Arduino各种环境下都有匹配的IDE开发,特别是Arduino2.0 IDE、Web IED、PLC IDE,非常友好!还兼容VScode开发环境,国内有linkboy,Mixly,操作起来很容易上手,而且有相当多的开源项目!!!
linkboy官网:http://linkboy.com.cn/
Mixly官网:https://mixly.org/
Arduino软件:https://www.arduino.cc/en/software
Arduino开发教程_第14张图片
环境搭建教程:

  • 【ESP8266-NodeMCU开发之Arduino环境搭建】
  • 【ESP32-NodeMCU物联网开发之Arduino环境搭建】
  • 【ESP-C3-32S-Kit 2M开发板环境搭建Arduino】
  • 【Arduino IDE 2.0他来了】

2.基础篇

基础篇主要涉及Arduino常见的GPIO硬件和官方库软件资源,围绕GPIO输入输出操作,还有更嗨的ADC和PWM驱动实验,这些通过简易点灯、电机、通讯的实际应用。
Arduino开发教程_第15张图片

2.1 点灯操作

这里包涵web开发点灯,以及本地SDK的PWM呼吸灯实验,可以设计彩虹灯的WS2812B,其实显示屏就是高级的点灯矩阵,等等有趣的玩法欢迎你的探索!

  • 什么是Arduino?
  • Arduino与LED深度握手
    Arduino开发教程_第16张图片
  • Arduino与16LED圆环WS2812B握手
    Arduino开发教程_第17张图片
  • Arduino +ADC+B10K电位器
  • Arduino与震动马达模块握手
  • Arduino与增量编码器握手

2.2 电机驱动

常规的电机分为有刷电机和无刷电机,有刷电机常见四驱车马达、交流电机、步进电机、舵机、伺服电机;无刷电机常见无刷直流电机
无刷直流电机最强科普:https://zhuanlan.zhihu.com/p/371992455

  • Arduino与SG90舵机握手
  • Arduino与28BYJ-48步进电机握手
    在这里插入图片描述
  • 【ESP8266与ESP12E 电机拓展板握手】

2.3 机器通讯

Arduino通讯分为有线通信和无线通信,其中有线通信包括GPIO逻辑通讯,UART串口通讯,I2C通讯,SPI通讯等,无线通信包括红外、蓝牙、wifi、433、NBIoT、LoRa等无线电频段。

  • Arduino兄弟间传递信息——基于BMP180气压计
    Arduino开发教程_第18张图片
  • Arduino蓝牙无线一键下载

  • Arduino与16LED圆环WS2812B握手

  • Arduino与红外遥控握手

  • 【DX-BT24蓝牙模块连接Arduino与手机透传教程】

3. 提高篇

提高篇主要涉及Arduino常见的资源优化整合,围绕生活中小的项目开发,搭配主流的编程软件(Mixly,Arduino IDE,Mind+,Linkboy),通过传感器数据采集,入门版Uno单片机处理,执行器反馈的实际应用。
Arduino开发教程_第19张图片

3.1 联合实验

此部分主要目的是培养顺序处理和联合实验能力,依次是条件触发✨——信息处理✨✨——任务处理✨✨✨

  • Arduino 与HC-SRO4超声波传感器的OLED握手
    Arduino开发教程_第20张图片

  • Arduino 与HDT11和0.98寸OLED握手
    Arduino开发教程_第21张图片

  • Arduino兄弟间传递信息——基于BMP180气压计

  • Arduino与HX711称重传感器握手

  • Arduino与mpu6050握手

3.2 物联开发

物联网开发教程 接入Blinker、ONENET、阿里云、巴法云、腾讯网、机智云物联网平台教程,主要基于ArduinoIDE开发采用esp8266硬件设计

  • ESP8266-NodeMCU开发之Arduino环境搭建

  • 链接blinker
    Arduino开发教程_第22张图片

  • Arduino uno+ESP-01物联网Blinker实现一

  • 链接ONENET

  • 基于Arduino IDE平台开发ESP8266通过MQTT连接ONENET

  • 链接阿里云

  • 基于 arduino IDE使用AliyunIoTSDK库接入阿里云

  • 基于Arduino IDE平台开发ESP8266通过MQTT连接阿里云

  • 基于Arduino IDE平台开发ESP8266天猫精灵控制LED灯

  • 连接巴法云

Arduino开发教程_第23张图片

  • 基于Arduino IDE平台开发ESP8266连接巴法云
    Arduino开发教程_第24张图片

4. 进阶篇

进阶篇深入涉及Arduino常见的资源优化整合,围绕生活中小的项目进行系统性开发,搭配主流的编程软件(Mixly,Arduino IDE,Mind+,Linkboy),通过传感器数据采集,单片机处理,执行器反馈的实际应用,另外穿透有通讯交互,有点机器人协调的味儿,其中包含一定的控制逻辑和算法辅助系统更加出色完成对应的问题。
Arduino开发教程_第25张图片

4.1 实物开发

此部分涉及博主的实物开发,其中会构建解题思路,硬件选型,程序设计、整体调试等内容,非常硬核

  • DIY电动滑板车
    Arduino开发教程_第26张图片

  • 【基于Arduino的垃圾分类装置开发教程一项目书】

  • 探索者Arduino模拟红外避障小车

4.2 友人优作

此部分是国内外友人的优秀作品收藏夹,游船、飞机、汽车、坦克等等!!!

5. 优质工具

5.1 串口工具

这里提供快速可视化的开源串口工具,加快显示步伐,支持保存数据哟!还有进阶版的

  • 【Arduino串口数据保存到excel中常用三种方法】
    在这里插入图片描述

  • 【开源的串口可视化工具——Serial Studio】
    在这里插入图片描述

  • PID算法学习

  • 基于MATLAB的PID控制器设计

5.2 开发工具

非常期待RT-Thread社区的成长
【基于 RT-Thread Studio的CPK-RA6M4 开发板环境搭建】
在这里插入图片描述
【基于RT-Thread+RA6M4的智能鱼缸系统设计之鱼我所欲也】
去年参加比赛获得第六名,这次我又来参加比赛,哈哈哈

5.3 3D打印机

3D打印机非常适合玩硬件的,随时随地打印一些不切实际的idea,虽然打印机经常坏,我依然深深的喜爱,所以研一就说服导师购买

  • 【小树T系列3D打印机安装教程】
  • 【大黄蜂打印机cura切片软件配置】
    Arduino开发教程_第27张图片

6. 小结

通过对生活中需要简单的控制系统,我们可以让Arduino作为主心骨,其他外设有机衔接从而完成功能,进而丰富我们的生活。

下面我收集单片机资料时,某位大神总结的单片机硬件资源思维导图,特此供上,方便大家查漏补缺

从而实现对外部世界进行感知,充分认识这个有机与无机的环境,科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力

  1. 我会持续更新对应专栏博客,非常期待你的三连!!!
  2. 如果鹏鹏有哪里说的不妥,还请大哥大姐们多多评论指教!!!
  3. 下面有我的群推广,欢迎志同道合的朋友们加入,期待与你的思维碰撞

你可能感兴趣的:(arduino学习,物联网,嵌入式硬件,单片机,Arduino)