电子diy

FreakStudio5 天前
stm32·单片机·mcu·嵌入式·arm·技术栈·电子diy
【电子DIY神器】通吃各种5线步进电机!I2C接口控制28BYJ-48五线四相步进电机总线单极性步进电机扩展板采用紧凑型设计,兼容XIAO系列主控板直连或独立使用,支持级联16个模块。板载ULN2003达林顿管驱动芯片(单通道500mA/整片2.5A),可适配28BYJ-48等5线4相步进电机(5-24V宽压供电),提供单步/全步/半步三种驱动模式,配备双固态电容稳压、防反接保护和可视化状态指示灯,兼具堆叠扩展能力与高可靠性。
FreakStudio9 天前
嵌入式·多线程·面向对象·并行计算·线程同步·电子diy
一文速通Python并行计算:06 Python多线程编程-基于队列进行通信队列是一种线性数据结构,支持先进先出(FIFO)操作,常用于解耦生产者和消费者。慢速生产-快速消费场景中,队列作为缓冲区平衡速度差异。LifoQueue 是后进先出(LIFO)的栈式队列,适用于撤销操作等场景。PriorityQueue 则按优先级排序,适合任务调度等需要优先处理的场景。这三种队列分别通过 Queue、LifoQueue 和 PriorityQueue 类实现,提供 put()、get()等方法,是并发编程中线程安全的重要工具。
FreakStudio16 天前
单片机·嵌入式·多线程·面向对象·并行计算·电子diy
一文速通 Python 并行计算:05 Python 多线程编程-线程的定时运行本文主要讲述了 Python 如何实现定时任务,主要有四种方式:通过 threading.Timer 类、通过 sched 模块、通过 threading.Event 事件机制、通过 APScheduler 第三方库,结合例程分析了各自使用场景和基本方法。
FreakStudio19 天前
python·嵌入式·开发工具·面向对象·线程同步·代码阅读·电子diy
一文速通Python并行计算:04 Python多线程编程-多线程同步(上)—基于条件变量、事件和屏障本文介绍了 Python 多线程同步的三种机制:条件变量(Condition)、事件(Event)和屏障(Barrier),条件变量指的是线程等待特定条件满足后执行,适用于生产者-消费者模型;Event 指的是线程通过事件标志进行同步,适用于线程间简单通信;Barrier 指的是多个线程需同步到同一阶段时使用,适用于并行任务的分阶段执行。
FreakStudio20 天前
python·嵌入式·多线程·面向对象·并行计算·线程同步·电子diy
一文速通Python并行计算:03 Python多线程编程-多线程同步(上)—基于互斥锁、递归锁和信号量在 Python 多线程编程中,线程同步是确保多个线程安全访问共享资源的关键技术。本篇文章介绍了互斥锁(Lock)、递归锁(RLock) 和 信号量(Semaphore) 的概念与应用。互斥锁用于防止多个线程同时修改数据,递归锁适用于嵌套锁定场景,而信号量则限制同时访问资源的线程数。
FreakStudio22 天前
python·嵌入式·多线程·并行计算·电子diy
一文速通Python并行计算:02 Python多线程编程-threading模块、线程的创建和查询与守护线程本文介绍了 Python threading 模块的核心功能,包括线程创建与管理、线程状态监控以及守护线程的特殊应用,重点讲解了 Thread 类的实例化方法、获取当前线程信息、检测线程存活状态,以及如何实现后台线程。
FreakStudio23 天前
python·嵌入式·多线程·面向对象·并行计算·电子diy
一文速通Python并行计算:01 Python多线程编程-基本概念、切换流程、GIL锁机制和生产者与消费者模型多线程允许程序同时执行多个任务,提升效率和响应性。线程分为新建、就绪、运行、阻塞和死亡五种状态。Python的GIL锁限制多线程并行执行,适合I/O密集型任务。生产者-消费者模型通过共享缓冲区和条件变量实现线程协作,解决数据共享问题。
FreakStudio1 个月前
python·嵌入式·面向对象·电子diy
一文速通Python并行计算:00 并行计算的基本概念该文介绍了 Python 并行计算的核心概念、编程模型及其应用,并介绍了了并行程序的性能分析与优化方法,如并行效率、加速比及 Amdahl 定律。此外,该文介绍了共享内存、消息传递、数据并行和任务并行等并行编程模型,并提供 Python 环境配置指南。
FreakStudio1 个月前
单片机·mcu·github·嵌入式·arduino·开发工具·电子diy·电子计算机
三分钟教学:手把手教你实现Arduino发布第三方库手把手教你实现Arduino发布第三方库Arduino 发布第三方库的流程包括:构建库的基本框架后将其打包并上传至 GitHub,在 GitHub 上创建 Tag 和 Release 后,提交到 Arduino 库管理器,最后在 Arduino IDE 进行验证。
FreakStudio1 个月前
python·嵌入式·开发工具·大学生·面向对象·技术栈·电子diy
万字长文手把手教你实现MicroPython/Python发布第三方库FreakStudio的博客文章讲解内容包括第三方库文件说明和组织、开源许可协议选择、通过black模块、Flake8模块和预提交钩子实现自动代码格式规范和静态检查以及Github/PyPi平台公开发布,还有通过mpremote工具实现MicroPython第三方库的一键安装。
FreakStudio2 个月前
python·嵌入式·大学生·面向对象·技术栈·电子diy·电子计算机
手把手教你用 MicroPython 玩转幻尔串口舵机,代码+教程全公开FreakStudio的博客MicroPython串口舵机库,支持幻尔科技全系列舵机,支持mpremote工具一键导入,28条指令全测试。
FreakStudio2 个月前
单片机·嵌入式·电子diy·电子计算机
开源一款DDS信号发生扩展板-FreakStudio多米诺系列FreakStudio的博客信号发生扩展板通过SPI接口生成可调频率和幅度的正弦波、方波和三角波,频率小于1MHz。支持幅度调节,提供原始和6倍放大输出接口。配备5阶低通滤波器、噪声抑制功能,优化信号稳定性。
FreakStudio2 个月前
python·单片机·嵌入式·电子diy
开源一款数据转换扩展板-FreakStudio多米诺系列FreakStudio的博客数据转换板通过I2C接口进行信号采集和输出,支持最多16通道输入和2通道输出。具备860Hz采样率和50KHz输出频率,采用16位ADC和12位DAC芯片,适用于精确信号采集;小尺寸设计,支持堆叠级联。
FreakStudio2 个月前
单片机·嵌入式·大学生·电子diy
开源一款串口舵机驱动扩展板-FreakStudio多米诺系列FreakStudio的博客总线舵机扩展板通过UART接口控制多个舵机,支持堆叠级联,最多连接4个扩展板。具备小尺寸设计、供电保护、全双工转半双工通信、稳定供电等特点,适用于多舵机控制系统。
FreakStudio4 个月前
python·嵌入式·面向对象·电子diy
全网最适合入门的面向对象编程教程:60 Python面向对象综合实例-传感器数据实时绘图器本文将结合之前内容实现模拟一个传感器系统软件,包括三个线程:传感器线程生成数据并通过串口发送给主机进程;主机进程通过串口接收指令,进行数据滤波和处理后,将处理结果发送给绘图线程;绘图线程负责接收数据并绘制更新数据曲线。
FreakStudio5 个月前
python·单片机·嵌入式·面向对象·电子diy·电子计算机
全网最适合入门的面向对象编程教程:59 Python并行与并发-并行与并发和线程与进程在 Python 中,"并行"(parallelism)与"并发"(concurrency)通常用于描述程序的执行方式,而"线程"(thread)与"进程"(process)是实现并行和并发的两种常见方式;线程是进程中的最小执行单元,多个线程可以共享同一进程的内存空间;进程是计算机中正在执行的程序的实例,每个进程都有独立的内存空间和资源。
FreakStudio5 个月前
python·单片机·嵌入式·面向对象·电子diy
全网最适合入门的面向对象编程教程:58 Python字符串与序列化-序列化Web对象的定义与实现如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML\YAML\JSON格式这种序列化Web对象。这种序列化Web对象容易与其他程序设计语言交互,可读性强,容易被传递给其它系统或客户端。
FreakStudio6 个月前
python·嵌入式·面向对象·电子diy
全网最适合入门的面向对象编程教程:57 Python字符串与序列化-序列化与反序列化Python 序列化与反序列化是将 Python 对象转换为字节流(序列化)以便存储或传输,和将字节流转换回对象(反序列化)的过程,pickle 模块和 shelve 模块是 Python 内置的序列化工具,以将 Python 对象序列化为二进制数据并存储或传输。
FreakStudio6 个月前
python·单片机·嵌入式·面向对象·电子diy
全网最适合入门的面向对象编程教程:56 Python字符串与序列化-正则表达式和re模块应用Python 的 re 模块提供了强大的正则表达式操作功能,用于在字符串中搜索、匹配、替换等,正则表达式是一种匹配字符串的模式。通过正则表达式,可以轻松地查找特定模式的字符串片段,如匹配电子邮件地址、手机号、特定格式的日期等。
FreakStudio6 个月前
python·单片机·嵌入式·面向对象·电子diy
全网最适合入门的面向对象编程教程:55 Python字符串与序列化-字节序列类型和可变字节字符串在 Python 中,字符编码是将字符映射为字节的过程,而字节序列(bytes)则是存储这些字节的实际数据结构,字节序列和可变字节字符串的主要区别在于其可变性和用途,bytearray 是可变的字节序列,允许修改其内容。