《痞子衡嵌入式半月刊》 第 23 期

痞子衡嵌入式半月刊: 第 23 期

這裡分享嵌入式領域有用有趣的項目/工具以及一些熱點新聞,農曆年分二十四節氣,希望在每個交節之日準時發布一期。

本期刊是開源項目(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。

上期回顧《痞子衡嵌入式半月刊: 第 22 期》

嘮兩句

昨天是小寒。冷氣積久而寒,小寒是天氣寒冷但還沒有到極點的意思。

轉眼進入2021年了,對於2020年痞子衡做過年終總結,雖然寫了2016年至今的最高年產量93篇原創文章,但這個成績痞子衡並不滿意,總感覺寫得遠遠不夠,過去的一年還是有不少時間是懈怠的,新的一年痞子衡會在RISC-V方向上多發力,爭取成為早期佈道者之一,立個flag在此,希望年終不被打臉。

本期共收錄 1條資訊、3個項目、1個工具,希望對你有幫助!

資訊類

1、樂鑫科技發布 ESP32-S3 晶片,精準聚焦 AIoT 市場

為響應市場對 AI 算力的技術需求,樂鑫科技近日推出了 ESP32-S3 晶片,這是一款集成 2.4 GHz Wi-Fi 和 Bluetooth LE 5.0 的 MCU 晶片,支援遠距離模式 (Long Range)。ESP32-S3 搭載 Xtensa® 32 位 LX7 雙核處理器,主頻高達 240 MHz,內置 512 KB SRAM (TCM),具有 44 個可編程 GPIO 管腳和豐富的通訊介面。與 ESP32 相比,ESP32-S3 支援更大容量的高速 Octal SPI flash 和片外 RAM,支援用戶配置數據快取與指令快取。

資訊主頁: //www.espressif.com/zh-hans/news/ESP32_S3

項目類

1、GuiLite – 適用全平台的超輕量級GUI庫

GuiLite是一個具有5000行C++程式碼的准系統GUI框架,它可以在所有平台上運行(例如,iOS,Android,Linux,Windows,macOS,Docker和帶或不帶OS的MCU)。

項目主頁: //github.com/idea4good/GuiLite

GuiLite是可嵌入的,它在其他UI框架內運行(例如,Qt,MFC,Winform,Cocoa)。您可以同時使用GuiLite功能和主機UI功能。GuiLite獨立於OS和圖形庫呈現UI。GuiLite可以使用多種語言(例如,Swift,Java,C#,Golang)。

2、OLED-Boy – 基於 ATmega328P 的迷你 OLED 遊戲機

這是網友 aziddy 的一個開源作品,基於經典的 Adafruit Feather 328P 開發板(MCU主控是微芯公司的ATmega328P) 和 128×64 OLED 屏的mini電子遊戲機。

項目主頁://github.com/aziddy/Mini-OLED-Retro-Handheld

項目硬體連接相當之簡單,將 Adafruit Feather 328P 開發板連上鋰電池和 OLED 屏以及幾個輕觸開關即可(示意圖用得是Fritzing,是個能夠支援麵包板視圖的電路設計軟體)。

作者在這個簡易硬體板上一共實現了 4 個示例小遊戲,下面是其中一個小遊戲的效果:

3、PIKOCUBE – 可 WiFi 控制的由 54 顆 LED 組成的可編程骰子

PIKOCUBE是一個非常有趣的項目,它是個可編程骰子,帶有 54 顆 LED、陀螺儀,支援 WiFi 控制。項目所有資料都是公開的,包含PCB圖紙,結構設計,Arduino 程式碼,上位機端App。

項目主頁: //make.quwj.com/project/214

你只需要按下一個按鈕就可以開始把玩骰子了,當骰子啟動後再按一次按鈕就可以啟用 WiFi 並連接到預定義的網路,稍後,你可以使用 Blynk APP 來控制骰子。

這枚骰子主要由一個 ESP8285-01F、六塊 PCB 和 54 顆 LED 組成。其結構設計十分巧妙,在製作的過程中也處處體現出結構的精巧。

PIKOCUBE主要部件簡介:

1、內部的陀螺儀感測器可以檢測運動和骰子的位置。
2、WiFi MCU 的尺寸為 10×12mm。
3、骰子內部的控制器旁有一個 150mAh 的鋰電池和充電電路。
4、每塊 PCB 板的尺寸為 25×25mm,包括了九個 WS2812-2020 迷你 LED 像素。
5、骰子內部的控制器旁有一個 150mAh 的鋰電池和充電電路。

工具類

1、TinyGo – 基於LLVM,針對小型設備的Go編譯器

TinyGo是一個將Go語言帶入具有單處理器內核的微控制器和小型系統的項目,其通過創建基於LLVM的新編譯器來實現在微控制器上運行Go程式,這有望帶來更小更高效的程式碼,並且肯定會帶來更大的靈活性。

項目官網://tinygo.org/
項目主頁://github.com/tinygo-org/tinygo

TinyGo目前已支援多達48種不同的板和設備,如Arduino Nano33 IoT、Adafruit Circuit Playground Express、BBC micro:bit等等。

如下是一個非常簡單的LED閃爍demo:

package main

import (
    "machine"
    "time"
)

func main() {
    led := machine.LED
    led.Configure(machine.PinConfig{Mode: machine.PinOutput})
    for {
        led.Low()
        time.Sleep(time.Millisecond * 1000)

        led.High()
        time.Sleep(time.Millisecond * 1000)
    }
}

歡迎訂閱

文章會同時發布到我的 部落格園主頁CSDN主頁知乎主頁微信公眾號 平台上。

微信搜索”痞子衡嵌入式“或者掃描下面二維碼,就可以在手機上第一時間看了哦。