在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于XIAO SAMD21開發板的多功能筆筒設計方案

柴火創客空間 ? 來源:柴火創客空間 ? 2024-09-06 10:07 ? 次閱讀

今天小編給大家帶來的是來自國外的Maker Arnov Sharma的多功能筆筒項目,這個多功能筆筒項目是使用3D打印零件進行搭建的,在筆筒的前端添加了XIAO擴展板,給這個筆筒添加一個顯示器,可以在顯示器上顯示許多內容,例如兩個眼睛,文本等等,這些使得這個筆筒更加有趣。

材料清單

硬件

XIAO擴展板

XIAO SAMD21 M0 微控制器

3D打印零件

3.7V,1200mAh鋰電池

控制開關

M2螺絲

項目核心:

本項目的核心是使用Seeed Studio制造的XIAO擴展板并搭配XIAO SAMD21 M0開發板。它擁有豐富的外圍設備,包括OLED顯示器、RTC實時時鐘SD卡插槽、被動蜂鳴器、復位/用戶按鈕、5V伺服連接器以及Grove連接器,可以將多個Grove設備與XIAO配對使用。我們將使用Li-ion 18650電池為整個設備供電

擴展板上集成了OLED顯示器,可以用來顯示眼睛以及一些文字,給筆筒帶來更豐富的功能。

外觀設計

這個項目的模型一共由四個部分組成:前置支架部分,設計用于容納小物品如USB驅動器、硬幣等。上蓋部分覆蓋鋰電池并將搖桿開關固定在其位置。最后,一個帶有作者特色的標有項目標題“OverEngineered”的名牌位于支架的左側。

使用三個M2螺絲將上蓋安裝在支架部分中的螺柱上。使用位于支架部分正面的四個螺柱對XIAO擴展板進行安裝。這些螺柱允許XIAO擴展板略微突出于前面板之外,保持前面板和板的底部之間的小間隙。

在Fusion 360中創建模型后,我們導出網格文件,以便進行3D打印。

我們使用了透明PLA打印支架部分,橙色PLA打印上蓋部分,而PLA則用于打印前置支架部分。為了在名牌上打印字母,我們先打印出白色PLA基板,然后在打印中間切換至橙色PLA。

主體安裝

在組裝機身的過程中,將搖桿開關安裝在上蓋部分是第一步。

接下來,我們向搖桿開關的NC端口焊接了第二根電線,并將鋰電池的負極連接到開關的NO端口。開關的NC端將連接到擴展板鋰電池連接器的負極端。

然后將前置支架部分放置在支架部分的前面板上,并使用四個M2螺絲將其固定在原位。

將鋰電池插入支架部分,然后將上蓋部分放在其頂部。使用三個M2螺絲將兩個部分緊固在一起。

電路圖

wKgaombaY_yAPbm7AADNNXPj61s563.png?? ?

擴展版安裝

現在我們將擴展板與筆筒3D打印件進行配對。

首先,我們將擴展板的電池端口連接到鋰離子電池

我們用電烙鐵將鋰離子電池的正極和負極連接到擴展板的電池端口上。

將XIAO擴展板固定在機箱正面,用4顆M2螺釘將電路版與支架固定在一起。

最后,我們用4顆M2螺釘將銘牌固定在合適的位置。

組裝完成!

程序代碼

在首次測試設置,我們添加了一個基于簡單動畫的程序,這個程序是通過向CHAT GPT輸入以下內容生成的:“編寫一個程序,瞳孔會擴大,兩只眼睛變得可見。在此草圖中,使用Adafruit的SSD1306庫來控制SSD1306顯示屏。“

Chatgpt生成的代碼效果十分出色,具體代碼內容如下:


#include
#include
#include




          
#define SCREEN_WIDTH 128  // OLED display width, in pixels          
#define SCREEN_HEIGHT 64  // OLED display height, in pixels          




          
// Declaration for SSD1306 display connected using I2C          
#define OLED_RESET    -1  // Reset pin # (or -1 if sharing Arduino reset pin)          
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);          




          
// Define eye parameters          
const int eyeCenterX1 = 40; // X position for left eye          
const int eyeCenterX2 = 88; // X position for right eye          
const int eyeCenterY = 32;  // Y position for both eyes          
const int eyeRadius = 20;   // Radius of the eye          
const int minPupilRadius = 5;   // Minimum radius of the pupil          
const int maxPupilRadius = 10;  // Maximum radius of the pupil          
const int animationSpeed = 10;  // Speed of the animation          




          
void setup() {          
  // Initialize the display          
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {          
    Serial.println(F("SSD1306 allocation failed"));          
    for(;;); // Don't proceed, loop forever          
  }          
  display.display();          
  delay(2000); // Pause for 2 seconds          




          
  // Clear the buffer          
  display.clearDisplay();          
}          




          
void loop() {          
  for (int i = minPupilRadius; i <= maxPupilRadius; i++) {          
    drawCatEyes(i);          
    delay(animationSpeed);          
  }          
  for (int i = maxPupilRadius; i >= minPupilRadius; i--) {          
    drawCatEyes(i);          
    delay(animationSpeed);          
  }          
}          




          
// Function to draw the cat eyes with dilating pupils          
void drawCatEyes(int pupilRadius) {          
  display.clearDisplay();          




          
  // Draw left eye          
  display.drawCircle(eyeCenterX1, eyeCenterY, eyeRadius, SSD1306_WHITE);  // Eye outline          
  display.fillCircle(eyeCenterX1, eyeCenterY, pupilRadius, SSD1306_WHITE); // Pupil          




          
  // Draw right eye          
  display.drawCircle(eyeCenterX2, eyeCenterY, eyeRadius, SSD1306_WHITE);  // Eye outline          
  display.fillCircle(eyeCenterX2, eyeCenterY, pupilRadius, SSD1306_WHITE); // Pupil          




          
  display.display();          
}
  
 

這段代碼將在OLED顯示屏上模擬瞳孔擴大的效果,使貓眼動畫變得更加逼真。如果需要,可以調整眼睛中心坐標(eyeCenterX1、eyeCenterX2和eyeCenterY)以及半徑(radius)參數,以使其適合顯示屏。

文本顯示程序:

在最后面,我們測試了”文本顯示“的程序。

我們首先從ChatGPT生成了一堆巧妙的“帶屏幕的電子筆筒”的文本。

然后,我們選擇了其中的幾個,例如“I hold pens and your secrets.””We are going digital, so hold onto your pencils!”、“Shhh!”等等。對于SSD1306顯示屏,我們創建了一個基本的文本顯示程序,并將所有引語輸入其中,使每個文本間隔兩秒出現。

具體代碼如下:


#include
#include
#include




          
#define OLED_WIDTH 128          
#define OLED_HEIGHT 64          




          
#define OLED_ADDR   0x3C          




          
Adafruit_SSD1306 display(OLED_WIDTH, OLED_HEIGHT);          




          
void setup() {          
  display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);          
  display.clearDisplay();          
}          




          
void loop() {          
  display.clearDisplay();          
  display.setTextSize(1);          
  display.setTextColor(WHITE);          
  display.setCursor(0, 20);          
  display.println("I hold pens and your secrets. Shhh!");   //QUOTE01          
  display.display();          
  delay(2000);          




          
  display.clearDisplay();          
  display.setTextSize(1);          
  display.setTextColor(WHITE);          
  display.setCursor(0, 20);          
  display.println("Hold onto your pens, we are going digital!");  //QUOTE02          
  display.display();          
  delay(2000);          




          
  display.clearDisplay();          
  display.setTextSize(1);          
  display.setTextColor(WHITE);          
  display.setCursor(0, 20);          
  display.println("Penning down ideas, one byte at a time!"); //QUOTE03          
  display.display();          
  delay(2000);          




          
  display.clearDisplay();          
  display.setTextSize(1);          
  display.setTextColor(WHITE);          
  display.setCursor(0, 20);          
  display.println("Who needs a diary when you have a pen holder with a screen?!"); //QUOTE04          
  display.display();          
delay(2000);
          
}
 

總結

最終結果是一個可編程顯示屏的筆筒,對于管理筆和其他物品非常有幫助。

由于有顯示屏,這里可以嘗試無數不同的概念。為了顯示時間,我們可以在XIAO上添加一個Internet Watch Sketch。或者,我們可以添加一個使用SD卡、顯示屏和蜂鳴器的旋律播放器Sketch。最后,我們可以在XIAO上添加類似Flappy Bird的游戲,可以使用內置按鈕進行游戲。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7651

    瀏覽量

    152124
  • 顯示器
    +關注

    關注

    21

    文章

    5010

    瀏覽量

    140415
  • 擴展板
    +關注

    關注

    0

    文章

    55

    瀏覽量

    11458

原文標題:創客項目秀|基于XIAO SAMD21的多功能筆筒

文章出處:【微信號:ChaiHuoMakerSpace,微信公眾號:柴火創客空間】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    愛特梅爾Atmel - ATWINC1500-XSTK 開發板資料

    `愛特梅爾ATWINC1500-XSTK 開發板資料感謝 愛特梅爾 提供大賽用開發板數據下載The Atmel? ATWINC1500-XSTK Xplained Pro starter kit
    發表于 05-04 14:55

    【Atmel WINC1500-XSTK申請】【Atmel WINC1500-XSTK試用體驗】+農業大棚數據采集

    提供了光照、溫度傳感器、WiFi模塊。項目描述:設計原理:以SAMD21 XplainedPro作為主控,采集溫度、濕度、光照、土壤濕度等數據。SAMD21 與ATWINC1500 通信將采集到
    發表于 06-30 17:44

    多功能開發板

    本帖最后由 lee_st 于 2018-6-15 00:33 編輯 多功能開發板
    發表于 06-13 23:34

    【Seeeduino XIAO申請】多功能智能燈

    項目名稱:多功能智能燈試用計劃:申請理由本人在曾學習過多種單片機, 如使STM32,STC,MSP,esp8266,arduino等,有豐富的測試經驗今天看見Seeeduino XIAO搞活動,內心非常激動,想申請來做個小玩意。感謝平臺!!!
    發表于 06-08 18:47

    汽車多功能控制開關的設計方案參考

    汽車多功能控制開關的設計方案參考 中心議題: 傳統搭鐵制控開關存不足 多功能電子控制開關結構及性能 解決方案
    發表于 03-24 09:58 ?993次閱讀

    基于FPGA開發板多功能液晶顯示控制器設計與實現

    本文就提出了一個基于FPGA的多功能LCD顯示器設計方案,只需要通過端口的使能參數配置便可以驅動LCD1602模塊顯示字符、LCD12864模塊實現字符或圖形的實時顯示,并在FPGA開發板上進行該設
    發表于 01-10 13:47 ?2885次閱讀
    基于FPGA<b class='flag-5'>開發板</b>的<b class='flag-5'>多功能</b>液晶顯示控制器設計與實現

    STM32多功能遙控器開發板原理圖

    STM32多功能遙控器開發板原理圖。
    發表于 05-10 14:24 ?0次下載

    HL開發板多功能按鍵識別學習程序

    HL開發板【實驗12】多功能按鍵識別,單片機學習程序,很好的學習資料。
    發表于 09-01 15:57 ?4次下載
    HL<b class='flag-5'>開發板</b><b class='flag-5'>多功能</b>按鍵識別學習程序

    dfrobotARDUINO MKR GSM 1400物聯網開發板簡介

    基于Atmel SAMD21和SARAU201 GSM模塊的物聯網開發板,能將Arduino Zero的功能和全球GSM連接的功能完美結合。
    的頭像 發表于 01-07 14:07 ?1764次閱讀
    dfrobotARDUINO MKR GSM 1400物聯網<b class='flag-5'>開發板</b>簡介

    單片機開發板電路原理圖設計方案免費下載

    單片機開發板電路原理圖設計方案免費下載
    發表于 12-14 15:18 ?42次下載
    單片機<b class='flag-5'>開發板</b>電路原理圖<b class='flag-5'>設計方案</b>免費下載

    Seeeduino XIAO開發板電路原理圖免費下載

    本文檔的主要內容詳細介紹的是Seeeduino XIAO開發板電路原理圖免費下載。
    發表于 12-25 08:00 ?44次下載
    Seeeduino <b class='flag-5'>XIAO</b><b class='flag-5'>開發板</b>電路原理圖免費下載

    如何將Seeed開發板添加到Arduino IDE?輕松四步,幫你搞定!

    Seeeduino Cortex M0 請注意: 上面提到的開發板是AT SAMD21微控制器系列。請將以下網站復制到一下步驟2中的Additional Board Manager的URLs。 https
    的頭像 發表于 12-28 22:50 ?2125次閱讀

    使用XIAO開發板驅動圓形顯示屏教程

    智能可穿戴設備在日常生活中已經隨處可見,小巧的屏幕加上強大的功能極大的豐富了我們的生活,作為一名合格的創客你是否想擁有屬于自己的個性化可穿戴設備,今天給大家帶來柴火母公司 Seeed Studio 的一篇使用XIAO開發板驅動圓
    的頭像 發表于 03-28 10:36 ?1323次閱讀

    使用SAMD21 ML評估套件進行手勢識別

    電子發燒友網站提供《使用SAMD21 ML評估套件進行手勢識別.zip》資料免費下載
    發表于 06-15 10:32 ?0次下載
    使用<b class='flag-5'>SAMD21</b> ML評估套件進行手勢識別

    基于XIAO SAMD21開發板的數字鍵盤制作方案

    今天小編給大家帶來了來自印度的Arnov Sharma 制作的基于XIAO SAMD21的數字鍵盤項目,該項目可以通過按鍵在電腦和OLED的屏幕上輸入0-9的阿拉伯數字,可以當作一個數字副鍵盤來使用。
    的頭像 發表于 09-06 10:02 ?409次閱讀
    基于<b class='flag-5'>XIAO</b> <b class='flag-5'>SAMD21</b><b class='flag-5'>開發板</b>的數字鍵盤制作<b class='flag-5'>方案</b>
    主站蜘蛛池模板: 88av在线视频 | 99国产成人精品2021 | 久久99精品久久久久久园产越南 | 特黄特黄特色大片免费观看 | 天天澡天天摸天天爽免费 | 我想看一级播放片一级的 | 色天天综合色天天碰 | 华人永久免费视频 | 婷婷午夜 | 四虎影院官网 | 朱元璋传奇1998王耿豪版 | 欧美深夜福利 | 高清性欧美xxx | 一级美女视频 | 黄色一级视频欧美 | 亚洲午夜日韩高清一区 | 免费的色视频 | 99热在线获取最新地址 | 亚洲欧洲第一页 | 日本不卡在线视频高清免费 | 美女在线看永久免费网址 | 免费观看美女被cao视频 | 国产高清一区二区 | 天天做夜夜做久久做狠狠 | 国产精品午夜免费观看网站 | 午夜日批| h文 超乳 奶水 | 天天干天天干天天干天天干天天干 | 操操操综合 | 国产精品久久在线观看 | 你懂的免费 | 波多野结衣50连精喷在线 | 一级特黄a免费大片 | 91视频综合网 | 久久婷婷国产精品香蕉 | 国产三级日产三级韩国三级 | 春宵福利网站 | 亚洲女人小便 | avtt加勒比手机版天堂网 | 黄 色 录像成 人播放免费99网 | 中文字幕在线第一页 |