
从零开始学习机器人
文章平均质量分 88
视睿
从0开始做机器人,从外形设计到功能实现,从图纸绘制到3D打印,从单片机到完整代码,体验全流程。
展开
-
Arduino示例代码讲解:Memsic 半导体
使用Memsic 2125双轴加速度传感器,它可以测量两个方向(X轴和Y轴)的加速度。传感器的X轴输出连接到Arduino的数字引脚2。传感器的Y轴输出连接到Arduino的数字引脚3。传感器的电源(+V)连接到Arduino的+5V。传感器的地(GND)连接到Arduino的地(GND)。// X轴输出连接到数字引脚2// Y轴输出连接到数字引脚3xPin:定义X轴输出连接的数字引脚。yPin:定义Y轴输出连接的数字引脚。setup()原创 2025-04-04 12:45:00 · 352 阅读 · 0 评论 -
Arduino示例代码讲解:Ping
使用Parallax PING)))超声波测距传感器。传感器的+V连接到Arduino的+5V。传感器的GND连接到Arduino的地(GND)。传感器的SIG(信号)连接到Arduino的数字引脚7。// 定义传感器信号引脚为数字引脚7pingPin:定义传感器信号引脚为数字引脚7。setup()原创 2025-04-04 12:45:00 · 487 阅读 · 0 评论 -
Arduino示例代码讲解:Arrays 排列
使用多个LED分别连接到Arduino的数字引脚2到7。每个LED通过一个电阻连接到地(GND)。// 定义延时时间,数值越大,延时越长// 定义一个数组,存储LED引脚的编号// 定义引脚数量,即数组的长度timer:定义延时时间,单位为毫秒。ledPins:定义一个数组,存储LED引脚的编号。数组中的引脚编号可以是任意顺序。pinCount:定义引脚数量,即数组的长度。setup()原创 2025-04-03 12:15:00 · 517 阅读 · 0 评论 -
Arduino示例代码讲解:Conditionals - If statement 条件if
使用一个电位器连接到Arduino的模拟输入引脚A0。使用一个LED连接到数字引脚13(大多数Arduino开发板上已经有一个内置的LED连接到引脚13)。// 电位器连接的模拟输入引脚// LED连接的数字引脚// 阈值,用于决定是否点亮LEDanalogPin:电位器连接的模拟输入引脚。ledPin:LED连接的数字引脚。threshold:阈值,用于决定是否点亮LED。setup()原创 2025-04-03 11:45:00 · 769 阅读 · 0 评论 -
Arduino示例代码讲解:Conditionals - while statement 条件while
使用一个光敏电阻连接到模拟输入引脚A2,并通过一个10K电阻连接到地。使用一个LED连接到数字引脚9,并通过一个220欧姆电阻连接到地。使用一个按钮连接到数字引脚2,并通过一个10K电阻连接到地。// 光敏电阻连接的模拟输入引脚// LED连接的数字引脚// 内置LED连接的引脚// 按钮连接的引脚sensorPin:光敏电阻连接的模拟输入引脚。ledPin:LED连接的数字引脚。:内置LED连接的引脚。buttonPin:按钮连接的引脚。// 最小传感器值// 最大传感器值。原创 2025-04-02 11:45:00 · 1492 阅读 · 0 评论 -
Arduino示例代码讲解: For Loop Iteration 循环迭代
使用多个LED分别连接到Arduino的数字引脚2到7。每个LED通过一个电阻连接到地(GND)。// 定义延时时间,数值越大,延时越长timer:定义延时时间,单位为毫秒。setup()原创 2025-04-01 11:45:00 · 653 阅读 · 0 评论 -
Arduino示例代码讲解:Switch statement 条件switch
使用一个光敏电阻连接到Arduino的模拟输入引脚A0,并通过一个10K电阻连接到地。// 传感器的最小值,通过实验确定// 传感器的最大值,通过实验确定sensorMin:光敏电阻的最小值。sensorMax:光敏电阻的最大值。setup()原创 2025-03-31 11:45:00 · 286 阅读 · 0 评论 -
Arduino示例代码讲解:Switch statement with serial input 条件switch连续输入
使用5个LED分别连接到Arduino的数字引脚2到6,每个LED通过一个220欧姆电阻连接到地(GND)。原创 2025-03-30 16:58:35 · 437 阅读 · 0 评论 -
Arduino示例代码讲解:Virtual Color Mixer 虚拟混色器
使用三个电位器分别连接到Arduino的模拟输入引脚A0、A1和A2。// 用于控制红色的传感器// 用于控制绿色的传感器// 用于控制蓝色的传感器redPingreenPin和bluePin:分别定义连接到模拟输入引脚A0、A1和A2的传感器。setup()配合前面提到的Arduino代码,Arduino发送三个模拟传感器的值(分别对应红色、绿色和蓝色)。// 红色值// 绿色值// 蓝色值// 串行端口对象redValuegreenValue和blueValue。原创 2025-03-30 16:56:58 · 1019 阅读 · 0 评论 -
Arduino示例代码讲解:Serial Event example 连续事件例子
无需额外硬件,仅使用Arduino的串行通信功能。// 用于存储接收到的数据// 标记字符串是否完整:用于存储接收到的数据。:布尔变量,用于标记字符串是否完整。setup()原创 2025-03-28 16:15:42 · 789 阅读 · 0 评论 -
Arduino示例代码讲解:Serial Call and Response in ASCII ASCII连续呼叫和回答
使用两个电位器分别连接到Arduino的模拟输入引脚A0和A1。使用一个按钮连接到数字引脚2。// 第一个模拟传感器的值// 第二个模拟传感器的值// 数字传感器的值// 接收到的串行字节和:存储从模拟输入引脚A0和A1读取的值。:存储从数字引脚2读取的按钮状态。inByte:存储从串行端口接收到的字节。setup()配合前面提到的Arduino代码,Arduino发送三个传感器的值:第一个传感器值:控制圆的X位置。第二个传感器值:控制圆的Y位置。第三个传感器值:控制圆的颜色。原创 2025-03-29 08:30:00 · 1166 阅读 · 0 评论 -
Arduino示例代码讲解:Serial Call and Response 连续呼叫与回答
使用两个电位器分别连接到Arduino的模拟输入引脚A0和A1。使用一个按钮连接到数字引脚2。// 第一个模拟传感器的值// 第二个模拟传感器的值// 数字传感器的值// 接收到的串行字节和:存储从模拟输入引脚A0和A1读取的值。:存储从数字引脚2读取的按钮状态。inByte:存储从串行端口接收到的字节。setup()配合前面提到的Arduino代码,Arduino发送三个传感器的值:第一个传感器值:控制圆的X位置。第二个传感器值:控制圆的Y位置。第三个传感器值:控制圆的颜色。原创 2025-03-28 08:30:00 · 628 阅读 · 0 评论 -
Arduino示例代码讲解:Physical Pixel 物理像素
使用一个LED连接到Arduino的数字引脚13,并通过一个电阻连接到地(GND)。// LED连接的数字引脚// 用于存储接收到的串行数据ledPin:定义LED连接的数字引脚为13。:用于存储从串行端口接收到的数据。setup()配合前面提到的Arduino代码,控制连接到Arduino数字引脚13的LED。float boxX;// 正方形的中心X坐标float boxY;// 正方形的中心Y坐标// 正方形的大小// 标记鼠标是否悬停在正方形内// 串行端口对象boxX和。原创 2025-03-27 16:54:47 · 696 阅读 · 0 评论 -
Arduino示例代码讲解:Reading a serial ASCII-encoded string 读取串行编码串
使用一个共阳极RGB LED,其红、绿、蓝三个引脚分别连接到Arduino的数字引脚3、5和6。RGB LED的阳极连接到+5V。// 红色LED引脚// 绿色LED引脚// 蓝色LED引脚定义RGB LED的三个引脚。setup()原创 2025-03-27 16:52:13 · 901 阅读 · 0 评论 -
Arduino示例代码讲解:Mega multiple serial test 多重串行测试
任何串行设备连接到Arduino Mega的Serial1端口。使用Arduino IDE的串行监视器与Serial(主串行端口)通信。原创 2025-03-26 16:19:27 · 784 阅读 · 0 评论 -
Arduino示例代码讲解:MIDI note player 迷笛演奏
使用一个MIDI接口连接到Arduino的串行端口。原创 2025-03-26 16:17:08 · 750 阅读 · 0 评论 -
Arduino示例代码讲解:Graph 图表
使用一个模拟传感器(例如电位器、光敏电阻等)连接到Arduino的模拟输入引脚A0。配合前面提到的Arduino代码,Arduino将模拟输入引脚A0的值(范围为0到1023)通过串行通信发送到计算机。// 串行端口对象// 图表的水平位置myPort:用于管理串行通信的对象。xPos:当前绘制的水平位置,初始值为1。setup()原创 2025-03-25 07:16:44 · 773 阅读 · 0 评论 -
Arduino示例代码讲解:Dimmer 调光器
使用一个LED连接到Arduino的数字引脚9(支持PWM输出)。LED通过一个电阻连接到地(GND)。// 定义LED连接的数字引脚为9ledPin:LED连接的数字引脚,支持PWM输出。setup()配合前面提到的Arduino代码,控制连接到Arduino数字引脚9的LED的亮度。定义一个Serial对象,用于管理串行通信。setup()原创 2025-03-25 07:14:18 · 810 阅读 · 0 评论 -
Arduino示例代码讲解:ASCII table 美国信息交换标准代码
不需要外部硬件,仅使用Arduino开发板的串行通信功能。// 从第一个可见ASCII字符'!'(ASCII码为33)开始thisByte:用于存储当前处理的ASCII字符的值。初始值为33(!原创 2025-03-24 13:39:29 · 456 阅读 · 0 评论 -
Arduino示例代码讲解:Smoothing
硬件部分// 定义存储的读取值数量// 用于存储读取值的数组// 当前读取值的索引// 读取值的总和// 平均值// 模拟输入引脚:定义存储的读取值数量,这里为10。readings:一个数组,用于存储最近的10次读取值。index:当前读取值的索引。total:读取值的总和。average:计算得到的平均值。inputPin:模拟输入引脚A0。setup()原创 2025-03-24 13:36:32 · 852 阅读 · 0 评论 -
Arduino示例代码讲解:Mega analogWrite() test 兆模拟信号写入测试
硬件部分// 定义最低引脚号为2// 定义最高引脚号为13lowestPin:定义最低的引脚号为2。highestPin:定义最高的引脚号为13。setup()原创 2025-03-23 10:45:00 · 593 阅读 · 0 评论 -
Arduino示例代码详解:Fading 衰减模拟信号写入
硬件部分// 定义数字引脚9为LED连接的引脚ledPin:LED连接的数字引脚(支持PWM输出)。setup()原创 2025-03-23 07:15:00 · 598 阅读 · 0 评论 -
Arduino示例代码讲解:Calibration 校准
硬件部分// 定义模拟输入引脚为A0(传感器连接的引脚)// 定义数字引脚为9(LED连接的引脚)sensorPin:传感器连接的模拟输入引脚。ledPin:LED连接的数字引脚(支持PWM输出)。// 用于存储从传感器读取的值// 用于存储传感器的最小值(初始值设为最大可能值)// 用于存储传感器的最大值(初始值设为最小可能值):存储从传感器读取的原始值。sensorMin:存储传感器的最小值,初始值设为1023(最大可能值)。sensorMax。原创 2025-03-22 08:30:00 · 611 阅读 · 0 评论 -
Arduino示例代码讲解:Analog input, analog output, serial output 模拟输入、模拟输出、连续输出
硬件部分// 定义模拟输入引脚为A0(电位器连接的引脚)// 定义模拟输出引脚为9(LED连接的引脚):电位器连接的模拟输入引脚。:LED连接的数字引脚(支持PWM输出)。// 用于存储从电位器读取的模拟值// 用于存储映射后的输出值:存储从电位器读取的原始模拟值(范围为0到1023)。:存储映射后的值(范围为0到255)。setup()原创 2025-03-22 08:15:00 · 810 阅读 · 0 评论 -
Arduino示例代码讲解:Analog Input 模拟输入
通过读取电位器的模拟值来动态调整LED的闪烁频率。通过旋转电位器的旋钮,可以改变LED的闪烁速度,从而实现一个简单的模拟输入控制数字输出的示例。硬件部分。原创 2025-03-21 08:15:00 · 639 阅读 · 0 评论 -
Arduino示例代码讲解:State change detection 状态变化检测
buttonPin:定义了一个常量buttonPin,值为2,表示按钮连接在数字引脚2上。ledPin:定义了一个常量ledPin,值为13,表示LED连接在数字引脚13上。:定义了一个变量,初始值为0,用于记录按钮按下的次数。:定义了一个变量,用于存储当前按钮的状态。:定义了一个变量,用于存储上一次按钮的状态。原创 2025-03-21 07:45:00 · 816 阅读 · 0 评论 -
Arduino示例代码讲解:Pitch follower 跟随
例如,当传感器的读取值在400到1000之间时,映射到120Hz到1500Hz的音调频率。函数的参数分别为:输入值、输入范围的最小值、输入范围的最大值、输出范围的最小值、输出范围的最大值。:代码通过读取模拟输入引脚A0上的值(例如光敏电阻的输出),并根据该值动态调整扬声器发出的音调。当光线较亮时,光敏电阻的输出值可能接近1000,扬声器会发出较高的音调(如1500Hz)。当光线较暗时,光敏电阻的输出值可能接近400,扬声器会发出较低的音调(如120Hz)。:将传感器的读取值打印到串行监视器,以便调试。原创 2025-03-20 20:42:56 · 758 阅读 · 0 评论 -
Arduino示例代码讲解:Multiple tone player 多音播放器
每次只在一个扬声器上播放音调,播放完成后停止当前扬声器的音调,然后切换到下一个扬声器。通过这种方式,代码可以依次在多个扬声器上播放不同的音调,而不会同时播放多个音调。:代码通过三个8欧姆的扬声器(分别连接在数字引脚6、7和8上)依次播放不同的音调。引脚6上的扬声器播放频率为440Hz的音调,持续200毫秒。引脚7上的扬声器播放频率为494Hz的音调,持续500毫秒。引脚8上的扬声器播放频率为523Hz的音调,持续300毫秒。在指定的引脚上生成指定频率的音调,持续指定的时间(毫秒)。原创 2025-03-20 20:40:05 · 647 阅读 · 0 评论 -
Arduino示例代码讲解:Melody 旋律
melody:定义了一个数组melody,存储了旋律中的音符。每个音符对应一个频率值,例如NOTE_C4表示中央C的频率。:定义了一个数组,存储了每个音符的持续时间。例如,4表示四分音符,8表示八分音符。0在melody数组中表示静音(即没有音符)。原创 2025-03-19 20:45:00 · 909 阅读 · 0 评论 -
Arduino示例代码讲解:keyboard 键盘
threshold:定义了一个常量threshold,值为10,表示传感器的最小读取值,只有当传感器的读取值大于这个阈值时,才会触发音调。notes:定义了一个数组notes,存储了与三个传感器对应的音调频率。例如,当第一个传感器被按下时,扬声器会发出NOTE_A4音调。原创 2025-03-19 11:45:00 · 608 阅读 · 0 评论 -
Arduino示例代码讲解:Input Pullup Serial 输入张力信号
同时,它还会根据按钮的状态控制内置LED(连接在引脚13上)的亮灭。:设置数字引脚2为输入模式,并启用内部上拉电阻。这意味着引脚2会连接到内部的20KΩ上拉电阻,未按下按钮时引脚为。:读取连接在引脚2上的按钮状态,并通过串行监视器打印结果。使用Arduino板上的内置LED(连接在引脚13上)。使用Arduino板上的内置LED(连接在引脚13上)。启用数字引脚2的内部上拉电阻,这样无需外部上拉电阻。:根据按钮的状态控制连接在引脚13上的LED的亮灭。将按钮的一个引脚连接到数字引脚2。原创 2025-03-18 16:05:54 · 824 阅读 · 0 评论 -
Arduino示例代码讲解:Debounce 防反跳
buttonPin:定义了一个常量buttonPin,值为2,表示按钮连接在数字引脚2上。ledPin:定义了一个常量ledPin,值为13,表示LED连接在数字引脚13上。ledState:定义了一个变量ledState,初始值为HIGH,表示LED的初始状态为点亮。:定义了一个变量,用于存储当前按钮的状态。:定义了一个变量,初始值为LOW,用于存储上一次按钮的状态。:定义了一个变量,初始值为0,用于存储上次按钮状态变化的时间。:定义了一个变量,值为50,表示去抖延迟时间(毫秒)。原创 2025-03-18 16:04:26 · 758 阅读 · 0 评论 -
Arduino示例代码详解:Button 按键
buttonPin:定义了一个常量buttonPin,值为2,表示按钮连接在数字引脚2上。ledPin:定义了一个常量ledPin,值为13,表示LED连接在数字引脚13上。:定义了一个变量,初始值为0,用于存储按钮的状态。原创 2025-03-16 11:25:15 · 996 阅读 · 0 评论 -
Arduino示例代码详解:Blink without Delay 无延迟闪烁
ledPin:定义了一个常量ledPin,值为13,表示LED连接在数字引脚13上。ledState:定义了一个变量ledState,初始值为LOW,表示LED的初始状态为关闭。:定义了一个变量,初始值为0,用于存储上次更新LED的时间。interval:定义了一个常量interval,值为1000,表示LED闪烁的时间间隔为1000毫秒(1秒)。原创 2025-03-16 11:18:37 · 907 阅读 · 0 评论 -
Arduino示例代码讲解:ReadAnalogVoltage 读取模拟电压
打开Arduino IDE的串行监视器(波特率设置为9600),旋转电位器旋钮时,串行监视器会显示一个0到5V之间的电压值,随着旋钮的旋转而变化。这段代码用于读取连接在模拟引脚A0上的电位器(potentiometer)的电压值,并将其转换为实际的电压值后通过串行监视器打印出来。:代码通过模拟输入引脚A0读取电位器的输出电压,并将其转换为实际的电压值(0到5V)。功能:读取模拟引脚A0上的电压值,并将其转换为实际电压后打印到串行监视器。:将读取到的模拟值转换为实际的电压值。:读取模拟引脚A0的值。原创 2025-03-15 14:45:00 · 701 阅读 · 0 评论 -
Arduino示例代码讲解:Fade 衰减
led:定义了一个变量led,并将其赋值为9,表示LED连接在数字引脚9上。brightness:定义了一个变量brightness,初始值为0,表示LED的初始亮度。fadeAmount:定义了一个变量fadeAmount,初始值为5,表示每次循环中亮度的变化量。原创 2025-03-15 10:15:00 · 1374 阅读 · 0 评论 -
Arduino代码示例讲解:DigitalReadSerial 数字信号读取
定义了一个变量pushButton,并将其赋值为2。这表示代码将操作数字引脚2,该引脚连接了一个按钮。原创 2025-03-14 11:45:00 · 774 阅读 · 0 评论 -
Arduino示例代码讲解:Blink LED眨眼
定义了一个变量led,并将其赋值为13。这表示代码将操作数字引脚13,大多数Arduino板上,数字引脚13连接了一个内置的LED灯。原创 2025-03-14 07:30:00 · 1068 阅读 · 0 评论 -
Arduino示例代码讲解:AnalogReadSerial 模拟信号读取串口
打开Arduino IDE的串行监视器(波特率设置为9600),旋转电位器旋钮时,串行监视器会显示一个0到1023之间的数字值,随着旋钮的旋转而变化。这段代码是Arduino编程语言编写的,用于读取模拟输入引脚A0上的值,并通过串行监视器(Serial Monitor)打印出来。Arduino的模拟输入引脚会将输入的电压转换为一个0到1023的数字值(10位分辨率)。:代码通过连接到引脚A0的电位器(potentiometer)读取模拟电压值,并将其转换为数字值。将电位器的中间引脚连接到A0引脚。原创 2025-03-13 12:18:22 · 806 阅读 · 0 评论 -
Arduino示例代码讲解:ArduinoISP
这段代码是一个Arduino程序,用于将Arduino转换为一个AVR ISP(In-System Programmer),可以用来编程和操作AVR微控制器。确保在运行程序之前,您能够通过其他方式(如物理按键)控制鼠标,以避免失去鼠标控制。使用支持AVR ISP的工具(如avrdude)与Arduino通信,执行编程和读取操作。:确保在运行程序之前,您能够通过其他方式(如物理按键)控制鼠标,以避免失去鼠标控制。三个LED(带电阻)分别连接到数字引脚9(心跳)、8(错误)、7(编程模式)。原创 2025-03-13 12:12:14 · 604 阅读 · 0 评论