前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >开始使用Octave

开始使用Octave

作者头像
mwangblog
发布于 2018-07-04 06:50:56
发布于 2018-07-04 06:50:56
2.1K00
代码可运行
举报
文章被收录于专栏:mwangblogmwangblog
运行总次数:0
代码可运行

开始使用Octave

Octave是一个开源的科学计算以及数值分析的工具,在一定程度上,它与MATLAB语法兼容。

那位要问了:为什么不直接用MATLAB呢?因为MATLAB贵啊!

数值计算

计算数值很简单,只需要输入需要的表达式就可以了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> 5 + 5
ans =  10
>> 5 / 2
ans =  2.5000

或者调用一些函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> 2^2
ans =  4
>> sqrt (4)
ans =  2

敲入变量名即可查看变量的值。首先创建两个变量:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> v = 1 + 3;
>> x = v * 2;

在语句后面加上;可以不把表达式的值立刻显示出来,我们知道v值为4且x值为8。下面分别查看它们的值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> v
v =  4
>> x
x =  8

也可以使用disp命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> disp (v)
 4
>> disp (sprintf ('The value of v is %.2f', v) )
The value of v is 4.00

查看工作区域中所有的变量,可以使用who或者whos命令,其中whos显示的信息更加详细一些:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> who
Variables in the current scope:

ans  v    x

>> whos
Variables in the current scope:

   Attr Name        Size                     Bytes  Class
   ==== ====        ====                     =====  =====
        ans         1x1                          8  double
        v           1x1                          8  double
        x           1x1                          8  double

Total is 3 elements using 24 bytes

删除变量可以使用clear命令,%表示注释:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> clear x  % 删除 x
>> clear    % 删除所有变量

使用format修改小数点后位数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> format short
>> pi
ans =  3.1416
>> format long
>> pi
ans =  3.14159265358979u

逻辑运算

逻辑运算与C语言很相似:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> 1 == 2   % 比较是否相等
ans = 0     %>> 1 ~= 2   % 比较是否不相等,这里符号与C语言不太一样
ans =  1    %>> 0 && 1   % 与
ans = 0
>> 0 || 1   % 或
ans =  1

创建向量与矩阵

创建一个向量:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> v = [1 2 3]
v =

   1   2   3

创建一个矩阵:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> A = [1 2; 3 4; 5 6]
A =

   1   2
   3   4
   5   6

创建特殊的矩阵:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> B = ones (2, 3)  % 创建元素值为1,维度为2 x 3的矩阵
B =

   1   1   1
   1   1   1

>> zeros (2,3)      % 创建元素值为0,维度为2 x 3的矩阵
ans =

   0   0   0
   0   0   0

>> rand (2,3)       % 创建元素值为随机数,维度为2 x 3的矩阵
ans =

   0.667607   0.340230   0.020027
   0.713828   0.791409   0.713673

可以创建单位阵:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> eye (3)
ans =

Diagonal Matrix

   1   0   0
   0   1   0
   0   0   1

查看矩阵的维度:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> A
A =

   1   2
   3   4
   5   6

>> size (A)
ans =

   3   2

>> size (A,1)
ans =  3
>> size (A,2)
ans =  2

size()函数返回矩阵的维度,1维度显示矩阵的行数,2维度显示矩阵的列数。

length()函数会返回向量的长度,或者矩阵的最大维度:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> v
v =

   1   2   3

>> length (v)   % 返回向量的元素数量
ans =  3
>> B
B =

   1   1   1
   1   1   1

>> length (B)   % 由于矩阵B的是2 x 3矩阵,所以返回大值 3
ans =  3

矩阵中数据的操作

查看A矩阵中第2行第2列的数值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> A (2,2)
ans =  4

获取矩阵A的某行或者某列:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> A
A =

   1   2
   3   4
   5   6

>> A (:,2)      % 获取A的第2列
ans =

   2
   4
   6

>> A (3,:)      % 获取A的第3行
ans =

   5   6

>> A ([1,3],:)  % 获取A的第1,3行
ans =

   1   2
   5   6

将A中所有元素组成一个向量:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> A (:)
ans =

   1
   3
   5
   2
   4
   6

合并矩阵:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> A
A =

   1   2
   3   4
   5   6

>> C = ones (2,2);
>> A = [A ; C]              %C合并到A的下方,并且将结果赋值给A
A =

   1   2
   3   4
   5   6
   1   1
   1   1

>> A = [A, [1; 2; 3; 4; 5]] %[1;2;3;4;5]合并到A的右边,将结果赋值给A
A =

   1   2   1
   3   4   2
   5   6   3
   1   1   4
   1   1   5

求向量中的最大值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> v = [5, 4, 3];
>> max (v)
ans =  5
>> [val, ind] = max (v)
val =  5
ind =  1

求矩阵的最大值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> A = [ 1 3 5 7 9; 2 4 6 8 10]
A =

    1    3    5    7    9
    2    4    6    8   10

>> max (A)          % 求出A的每一列的最大值
ans =

    2    4    6    8   10

>> max (A, [], 1)   % 在第1维求A的最大值
ans =

    2    4    6    8   10

>> max (A, [], 2)   % 在第2维求A的最大值
ans =

    9
   10

向量中的值与某一个数值的比较:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> v
v =

   5   4   3

>> v > 3            % 将v中的每一个元素同3比较
ans =

   1   1   0

>> find (v > 3)     % 得到符合条件的元素的下标
ans =

   1   2

求向量或者矩阵元素之和:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> v
v =

   5   4   3

>> sum (v)      % 求出向量中元素的和
ans =  12
>> A
A =

    1    3    5    7    9
    2    4    6    8   10

>> sum (A,1)    % 求出A中第1维之和
ans =

    3    7   11   15   19

>> sum (A,2)    % 求出A中第2维之和
ans =

   25
   30

矩阵计算

求矩阵的转置与逆:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
A =

   1   2
   3   4

>> A'           %A的转置
ans =

   1   3
   2   4

>> pinv (A)     %A的逆矩阵
ans =

  -2.00000   1.00000
   1.50000  -0.50000

矩阵与数字计算:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> A
A =

   1   2
   3   4

>> A + 2    % A中每个元素+2
ans =

   3   4
   5   6

>> A * 2    % A中每个元素*2
ans =

   2   4
   6   8

>> A / 2    % A中每个元素/2
ans =

   0.50000   1.00000
   1.50000   2.00000

矩阵与矩阵计算:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> A
A =

   1   2
   3   4

>> B = [5 6; 7 8]
B =

   5   6
   7   8

>> A + B        % 矩阵加法
ans =

    6    8
   10   12

>> A .* B       % A中的元素与B中对应的元素相乘
ans =

    5   12
   21   32

>> A * B        % 矩阵乘法
ans =

   19   22
   43   50

控制结构

while循环和if条件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> v
v =

    1    2    3    4    5    6    7    8    9   10

>> while true,              % start loop
        v(i) = v(i) + 1;
        if v(i) > 4,        % 如果v中的元素>4,则退出循环
                break;
        end;
        i = i + 1;          % 下标自增1
   end;                     % end loop
>> v
v =

    2    3    4    5    5    6    7    8    9   10

上面的程序中使用了whileif。注意在循环或者判断结构的结尾写明end;

for循环:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> for i = [1 3 5],
        v (i) = 0;
   end;
>> v
v =

    0    3    0    5    0    6    7    8    9   10

switch判断:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> a = 2
a =  2
>> switch (a),
        case 1,
                disp ('The value is 1.');
        case 2,
                disp ('The value is 2.');
        case 3,
                disp ('The value is 3.');
        otherwise,
                disp ('Wo...');
   end;
The value is 2.

switch中并不需要写break来划分情况。

函数

新建一个名为addOne.m的文件,写入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function y = addOne (x)
y = x + 1

这表示一个函数,这个函数的参数为x,返回值为y,函数的内容是y = x + 1

调用它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> addOne(1.2)
y =  2.2000
ans =  2.2000

画图

使用plot()函数画图:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> x = 0:0.1:2*pi;                      % 为x赋值
>> y_sin = sin (x);                     % 为y赋值
>> plot (x, y_sin);                     % 绘制x与y的图像
>> xlabel ('x');                        % x轴的标签设置为"x"
>> ylabel ('sin(x)');                   % y轴的标签设置为"sin(x)"
>> title ('y = sin (x), 0 < x < 2pi');  % 设置图片标题
>> print -dpng 'octave_plot_sin.png'    % 保存为png图片,并设置文件名
>> close                                % 关闭图片

图像如下:

可以使用hold on命令在一幅图中绘制多条曲线:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> x = 0:0.1:2*pi;
>> y_sin = sin (x);
>> y_cos = cos (x);
>> plot (x, y_sin);
>> hold on;                         % 接下来还在此图中绘制
>> plot (x, y_cos, 'r');            % 红色线条绘制y_cos
>> xlabel ('x');
>> ylabel ('y');
>> legend ('y=sin(x)','y=cos(x)');  % 设置图例
>> print -dpng "octave_plot_sin_cos.png";
>> close

图像如下:

使用subplot对图像进行分格:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> x = 0:0.1:2*pi;
>> y_sin = sin (x);
>> y_cos = cos (x);
>> y = 0.5 * x;
>> subplot (1,2,1);     % 将图像分为12列,使用第1个格
>> plot (x, y, 'b');
>> xlabel ('x'); ylabel ('y=x/2');
>> subplot (2,2,2);     % 将图像分为22列,使用第2个格
>> plot (x, y_sin, 'r');
>> xlabel ('x'); ylabel ('y=sin(x)');
>> subplot (2,2,4);     % 将图像分为22列,使用第4个格
>> plot (x, y_cos, 'g');
>> xlabel ('x'); ylabel ('y=cos(x)');
>> print -dpng "octave_subplot_3.png";
>> close

图像如下:

文件操作

导入一个文件非常简单:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> load ('featureX.dat')    % 导入featureX.dat文件

保存一个文件也很简单:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> save I.mat I;                % 保存II.mat 会对数据进行压缩
>> save hello.txt I --ascii;    % 保存为可读文本文档

获取帮助

查看函数eye()的帮助文档:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> help eye
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 mwangblog 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
DJI TT无人机 microPython编程指南
我这里还是希望dji可以把这个mpy的一些源码放出来,因为我觉得是无关紧要的东西,然后去学习一下。而不是这样盲目的去猜。
云深无际
2022/02/09
1.7K0
DJI TT无人机 microPython编程指南
eps32和ros2之稳稳点亮一个LED灯(IO4)
esp32与ros2的开关灯 源码: #include <ros2arduino.h> #include <WiFi.h> #include <WiFiUdp.h> #include <WiFiClient.h> //#include <WebServer.h> //#include <ESPmDNS.h> #define SSID "***" #define SSID_PW "***" #define AGENT_IP "***" #define AGENT_PORT *** /
zhangrelay
2021/12/02
5340
eps32和ros2之稳稳点亮一个LED灯(IO4)
涵盖 Java 核心知识的综合指南:JavaGuide | 开源日报 0912
这是一份涵盖大部分 Java 程序员所需要掌握的核心知识库。该项目包含了 Java 基础、集合、IO、并发等方面的内容,并提供了重要知识点详解和源码分析。此外还有计算机基础(操作系统、网络)、数据库(MySQL、Redis)以及常用框架(Spring/SpringBoot)等相关内容。对于想要准备 Java 面试或者加强自己技术能力的程序员来说,JavaGuide 是一个不错的选择。
小柒
2023/09/14
3170
涵盖 Java 核心知识的综合指南:JavaGuide | 开源日报 0912
用安信可Ai-WB2-01S做一个可用网页控制的简易灯
●管理界面:浏览器地址栏"设备ip/LAMP/",比如"http://192.168.0.127/LAMP"
安信可科技
2025/03/26
590
利用esp8266做一个物联网小灯
按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。
逍遥子大表哥
2021/12/17
1K0
利用esp8266做一个物联网小灯
Arduino配置WS2812及Adafruit_NeoPixel库的使用
    其主要应用领域有LED全彩发光字灯串,全彩LED模组,LED像素屏,各种电子产品,电子设备跑马灯等。     WS2812最牛的地方除了内部包含了智能数字接口数据锁存信号整形放大驱动电路和高精度内部振荡器外,还采用了单线归零码的通讯方式:每个WS2812在上电复位以后,DIN端接收从控制器传输过来的数据,首先送过来的24bit数据被第一个WS2812提取后,送到其内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的WS2812,每经过一个WS2812的传输,信号减少24bit。每个WS2812采用自动整形转发技术,使得该WS2812的级联个数不受信号传送的限制,仅仅受限信号传输速度要求。     采用这种通信方式的好处是大大节约了单片机管脚资源。例如做一个流水灯,如果采用传统的LED一般情况需要跟LED数量相同的单片机引脚(想想就心疼),但是使用WS2812就不一样了,一个单片机引脚就可以控制百级数量的灯带,而且还是全彩的,是不是感觉很神奇,很方便。由于WS2812采用单线的通信方式,其通过不同的脉冲长度来表示。
艰默
2022/11/22
1.8K0
Arduino配置WS2812及Adafruit_NeoPixel库的使用
[oeasy]python0104_指示灯_显示_LED_辉光管_霓虹灯
编码进化 回忆上次内容 x86、arm、riscv等基础架构 都是二进制的 包括各种数据、指令 但是我们接触到的东西 都是屏幕显示出来的字符 计算机 显示出来的 一个个具体的字型 ​ 计算机中用来展示的字型 究竟是 如何进化的 呢?🤔🤔 模拟电路时代 电压表、示波器 都是 输出设备 ​ 甚至可以 用来 玩游戏 当时用什么 输入输出呢? 输入输出(io) 最基本的 输入设备(input) 是 电键 (key) 输入 0或1 ​ 最基本的输出是什么呢? 基
oeasy
2023/03/09
3440
[oeasy]python0104_指示灯_显示_LED_辉光管_霓虹灯
太阳能火焰灯玉米灯ic方案 RGB方案
太阳光是人类生存不可或缺的能源之一,而太阳能则是一种清洁、可再生的能源。随着人们对环保和能源利用的不断探索,太阳能的应用也越来越广泛。太阳能火焰灯玉米灯是一种集成了太阳能电池板、LED灯珠和IC控制器的户外照明设备,具有安全、环保、实用、美观等特点,被广泛应用于公园、广场、庭院等场所。
泛海微电
2023/11/24
1520
《安富莱嵌入式周报》第300期:几百种炫酷灯阵玩法, USB Web网页固件升级,波士顿动力整活,并联二极管问题,VisualStudio升级,STM32C0
往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 祝大家春节快乐 视
Simon223
2023/02/23
4560
《安富莱嵌入式周报》第300期:几百种炫酷灯阵玩法,  USB Web网页固件升级,波士顿动力整活,并联二极管问题,VisualStudio升级,STM32C0
物联网-GPIO输出—使用固件库点亮LED灯
本实验板连接了 3 个 LED 灯,这些 LED 灯的阴极都是连接到 STM32 的 GPIO 引脚, 只要我们控制 GPIO 引脚的电平输出状态,即可控制 LED 灯的亮灭。 若您使用的实验板 LED 灯的连接方式或引脚不一样,只需根据我们的工程修改引脚即可,程序的控制原理相同。
会洗碗的CV工程师
2024/02/05
3040
物联网-GPIO输出—使用固件库点亮LED灯
没错,单片机写出那些你没点过的灯
很多初学者都觉得自己学的东西很基础,担心今后实际工作用不到。于是,有初学者提出这样的问题:单片机真正开发产品和学习的时候有什么差别?平时学的LED、ADC这些东西,在实际项目中会用到吗?
单片机技术宅
2022/11/22
6080
没错,单片机写出那些你没点过的灯
蓝牙串口通信控制Arduino全彩呼吸灯
HC-05 VCC ----- Arduino VIN HC-05 GND ----- Arduino GND HC-05 TXD ----- Arduino RXD HC-05 RXD ----- Arduino TXD
小雨coding
2020/06/09
2K0
蓝牙串口通信控制Arduino全彩呼吸灯
机器人控制器编程实践指导书旧版-实践一 LED灯(数字量)
适用于UNO/2560/DUE/ESP8266/ESP32,2021年之前使用版本。
zhangrelay
2022/08/10
1.1K0
机器人控制器编程实践指导书旧版-实践一 LED灯(数字量)
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项!
「ximagine」在本篇文章中将介绍「荒岛」目前所使用的显示器测试流程及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,当然这不是唯一的选择,还可以使用尊正Colourspace或者Admesy Prometheus以及积分球软件设备等。我们深知做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,当然我们的也有用大白话让大家都看明白的优势。总的来说是测试设备分为色度计和分光光度计两种类型,色度计使用RGB三色滤色片获取光谱数据,但在同色异谱方面,因为只能获取RGB滤色的结果,所以无法识别同色异谱等现象,分光光度计使用31块滤色镜或者光栅获取全光谱的数据。测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进。如果本内容对您有所帮助,麻烦三连支持一下,十分感谢。网上冲浪久了,键盘侠见的也就多了;他们不仅自己不行,还质疑你不行。
ximagine
2025/02/12
2420
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项!
使用文心一言等智能工具指数级提升嵌入式/物联网(M5Atom/ESP32)和机器人操作系统(ROS1/ROS2)学习研究和开发效率
嵌入式通常就是接口IO,input/output,对应于机器人操作系统, 升级了名字,交互,pub/sub。
zhangrelay
2023/08/02
3000
使用文心一言等智能工具指数级提升嵌入式/物联网(M5Atom/ESP32)和机器人操作系统(ROS1/ROS2)学习研究和开发效率
ESP8266_07基于PWM的呼吸灯
ESP8266系统的PWM( Pulse Width Modulation)由FRC1在软件上实现,可实现同频
MCU起航
2020/06/29
1.2K0
[IoT迷你赛]基于TencentOS tiny的SmartLight小工具
本项目基于TencentOS tiny(腾讯物联网操作系统)构建了一款智能灯小工具产品。整个产品架构上分为硬件底层、云平台层和小程序终端层,利用官方的Demo框架可迅速打通三层的基本通信逻辑,再对相应接口的调用及方法改写便可创作出自己需要的产品项目来,这也是本项目的构建思路,下面开始详细介绍。
梦to鑫
2019/08/28
1.8K0
[IoT迷你赛]基于TencentOS tiny的SmartLight小工具
大规模 RGB LED灯控系统 Lumos:创新与智能化的融合
在现代照明技术不断进步的背景下,灯控系统的应用已经从简单的开关控制,发展到能够进行复杂程控操作的智能化管理。我们推出的新一代灯控解决方案,凭借其高度的可配置性和跨平台兼容性,已成为多种商业及娱乐场合的首选。
拿我格子衫来
2024/05/25
3630
大规模 RGB LED灯控系统 Lumos:创新与智能化的融合
基于STM32设计的智能插座+人体感应灯(ESP8266+人体感应+手机APP)
手机APP: 采用QT设计,程序支持跨平台编译运行(Android、IOS、Windows、Linux都可以编译运行,对应平台上QT的环境搭建,之前博客已经发了文章讲解)
DS小龙哥
2022/01/12
2.8K0
基于STM32设计的智能插座+人体感应灯(ESP8266+人体感应+手机APP)
树莓派基础实验3:七彩LED灯闪烁实验
   七彩LED灯上电后,7色自动闪光LED模块可自动闪烁内置颜色。可以用来制作相当迷人的灯光效果。
张国平
2020/09/28
1.8K0
树莓派基础实验3:七彩LED灯闪烁实验
推荐阅读
DJI TT无人机 microPython编程指南
1.7K0
eps32和ros2之稳稳点亮一个LED灯(IO4)
5340
涵盖 Java 核心知识的综合指南:JavaGuide | 开源日报 0912
3170
用安信可Ai-WB2-01S做一个可用网页控制的简易灯
590
利用esp8266做一个物联网小灯
1K0
Arduino配置WS2812及Adafruit_NeoPixel库的使用
1.8K0
[oeasy]python0104_指示灯_显示_LED_辉光管_霓虹灯
3440
太阳能火焰灯玉米灯ic方案 RGB方案
1520
《安富莱嵌入式周报》第300期:几百种炫酷灯阵玩法, USB Web网页固件升级,波士顿动力整活,并联二极管问题,VisualStudio升级,STM32C0
4560
物联网-GPIO输出—使用固件库点亮LED灯
3040
没错,单片机写出那些你没点过的灯
6080
蓝牙串口通信控制Arduino全彩呼吸灯
2K0
机器人控制器编程实践指导书旧版-实践一 LED灯(数字量)
1.1K0
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项!
2420
使用文心一言等智能工具指数级提升嵌入式/物联网(M5Atom/ESP32)和机器人操作系统(ROS1/ROS2)学习研究和开发效率
3000
ESP8266_07基于PWM的呼吸灯
1.2K0
[IoT迷你赛]基于TencentOS tiny的SmartLight小工具
1.8K0
大规模 RGB LED灯控系统 Lumos:创新与智能化的融合
3630
基于STM32设计的智能插座+人体感应灯(ESP8266+人体感应+手机APP)
2.8K0
树莓派基础实验3:七彩LED灯闪烁实验
1.8K0
相关推荐
DJI TT无人机 microPython编程指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档