RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于XIAO SAMD21開發(fā)板的多功能筆筒設(shè)計(jì)方案

柴火創(chuàng)客空間 ? 來源:柴火創(chuàng)客空間 ? 2024-09-06 10:07 ? 次閱讀

今天小編給大家?guī)淼氖莵碜試獾腗aker Arnov Sharma的多功能筆筒項(xiàng)目,這個(gè)多功能筆筒項(xiàng)目是使用3D打印零件進(jìn)行搭建的,在筆筒的前端添加了XIAO擴(kuò)展板,給這個(gè)筆筒添加一個(gè)顯示器,可以在顯示器上顯示許多內(nèi)容,例如兩個(gè)眼睛,文本等等,這些使得這個(gè)筆筒更加有趣。

材料清單

硬件

XIAO擴(kuò)展板

XIAO SAMD21 M0 微控制器

3D打印零件

3.7V,1200mAh鋰電池

控制開關(guān)

M2螺絲

項(xiàng)目核心:

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

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

外觀設(shè)計(jì)

這個(gè)項(xiàng)目的模型一共由四個(gè)部分組成:前置支架部分,設(shè)計(jì)用于容納小物品如USB驅(qū)動(dòng)器、硬幣等。上蓋部分覆蓋鋰電池并將搖桿開關(guān)固定在其位置。最后,一個(gè)帶有作者特色的標(biāo)有項(xiàng)目標(biāo)題“OverEngineered”的名牌位于支架的左側(cè)。

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

在Fusion 360中創(chuàng)建模型后,我們導(dǎo)出網(wǎng)格文件,以便進(jìn)行3D打印。

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

主體安裝

在組裝機(jī)身的過程中,將搖桿開關(guān)安裝在上蓋部分是第一步。

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

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

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

電路圖

wKgaombaY_yAPbm7AADNNXPj61s563.png?? ?

擴(kuò)展版安裝

現(xiàn)在我們將擴(kuò)展板與筆筒3D打印件進(jìn)行配對(duì)。

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

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

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

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

組裝完成!

程序代碼

在首次測(cè)試設(shè)置,我們添加了一個(gè)基于簡(jiǎn)單動(dòng)畫的程序,這個(gè)程序是通過向CHAT GPT輸入以下內(nèi)容生成的:“編寫一個(gè)程序,瞳孔會(huì)擴(kuò)大,兩只眼睛變得可見。在此草圖中,使用Adafruit的SSD1306庫來控制SSD1306顯示屏?!?/p>

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


#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顯示屏上模擬瞳孔擴(kuò)大的效果,使貓眼動(dòng)畫變得更加逼真。如果需要,可以調(diào)整眼睛中心坐標(biāo)(eyeCenterX1、eyeCenterX2和eyeCenterY)以及半徑(radius)參數(shù),以使其適合顯示屏。

文本顯示程序:

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

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

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

具體代碼如下:


#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);
          
}
 

總結(jié)

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7542

    瀏覽量

    151311
  • 顯示器
    +關(guān)注

    關(guān)注

    21

    文章

    4970

    瀏覽量

    139925
  • 擴(kuò)展板
    +關(guān)注

    關(guān)注

    0

    文章

    54

    瀏覽量

    11390

原文標(biāo)題:創(chuàng)客項(xiàng)目秀|基于XIAO SAMD21的多功能筆筒

文章出處:【微信號(hào):ChaiHuoMakerSpace,微信公眾號(hào):柴火創(chuàng)客空間】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    愛特梅爾Atmel - ATWINC1500-XSTK 開發(fā)板資料

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

    【Atmel WINC1500-XSTK申請(qǐng)】【Atmel WINC1500-XSTK試用體驗(yàn)】+農(nóng)業(yè)大棚數(shù)據(jù)采集

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

    【Seeeduino XIAO申請(qǐng)】多功能智能燈

    項(xiàng)目名稱:多功能智能燈試用計(jì)劃:申請(qǐng)理由本人在曾學(xué)習(xí)過多種單片機(jī), 如使STM32,STC,MSP,esp8266,arduino等,有豐富的測(cè)試經(jīng)驗(yàn)今天看見Seeeduino XIAO搞活動(dòng),內(nèi)心非常激動(dòng),想申請(qǐng)來做個(gè)小玩意。感謝平臺(tái)?。?!
    發(fā)表于 06-08 18:47

    汽車多功能控制開關(guān)的設(shè)計(jì)方案參考

    汽車多功能控制開關(guān)的設(shè)計(jì)方案參考 中心議題: 傳統(tǒng)搭鐵制控開關(guān)存不足 多功能電子控制開關(guān)結(jié)構(gòu)及性能 解決方案
    發(fā)表于 03-24 09:58 ?966次閱讀

    基于FPGA開發(fā)板多功能液晶顯示控制器設(shè)計(jì)與實(shí)現(xiàn)

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

    STM32多功能遙控器開發(fā)板原理圖

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

    HL開發(fā)板多功能按鍵識(shí)別學(xué)習(xí)程序

    HL開發(fā)板【實(shí)驗(yàn)12】多功能按鍵識(shí)別,單片機(jī)學(xué)習(xí)程序,很好的學(xué)習(xí)資料。
    發(fā)表于 09-01 15:57 ?4次下載
    HL<b class='flag-5'>開發(fā)板</b><b class='flag-5'>多功能</b>按鍵識(shí)別學(xué)習(xí)程序

    SAM L21 Xplained開發(fā)板測(cè)量電流的原理

    SAM L21 Xplained開發(fā)板是ATMEL第一款支持電流測(cè)量的開發(fā)板,可以使用Data Visualizer查看L21的運(yùn)行功耗。SAM L
    發(fā)表于 04-27 10:01 ?2466次閱讀
    SAM L<b class='flag-5'>21</b> Xplained<b class='flag-5'>開發(fā)板</b>測(cè)量電流的原理

    dfrobotARDUINO MKR GSM 1400物聯(lián)網(wǎng)開發(fā)板簡(jiǎn)介

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

    單片機(jī)開發(fā)板電路原理圖設(shè)計(jì)方案免費(fèi)下載

    單片機(jī)開發(fā)板電路原理圖設(shè)計(jì)方案免費(fèi)下載
    發(fā)表于 12-14 15:18 ?42次下載
    單片機(jī)<b class='flag-5'>開發(fā)板</b>電路原理圖<b class='flag-5'>設(shè)計(jì)方案</b>免費(fèi)下載

    Seeeduino XIAO開發(fā)板電路原理圖免費(fèi)下載

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

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

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

    使用XIAO開發(fā)板驅(qū)動(dòng)圓形顯示屏教程

    智能可穿戴設(shè)備在日常生活中已經(jīng)隨處可見,小巧的屏幕加上強(qiáng)大的功能極大的豐富了我們的生活,作為一名合格的創(chuàng)客你是否想擁有屬于自己的個(gè)性化可穿戴設(shè)備,今天給大家?guī)聿窕鹉腹?Seeed Studio 的一篇使用XIAO開發(fā)板驅(qū)動(dòng)圓
    的頭像 發(fā)表于 03-28 10:36 ?1242次閱讀

    使用SAMD21 ML評(píng)估套件進(jìn)行手勢(shì)識(shí)別

    電子發(fā)燒友網(wǎng)站提供《使用SAMD21 ML評(píng)估套件進(jìn)行手勢(shì)識(shí)別.zip》資料免費(fèi)下載
    發(fā)表于 06-15 10:32 ?0次下載
    使用<b class='flag-5'>SAMD21</b> ML評(píng)估套件進(jìn)行手勢(shì)識(shí)別

    基于XIAO SAMD21開發(fā)板的數(shù)字鍵盤制作方案

    今天小編給大家?guī)砹藖碜杂《鹊腁rnov Sharma 制作的基于XIAO SAMD21的數(shù)字鍵盤項(xiàng)目,該項(xiàng)目可以通過按鍵在電腦和OLED的屏幕上輸入0-9的阿拉伯?dāng)?shù)字,可以當(dāng)作一個(gè)數(shù)字副鍵盤來使用。
    的頭像 發(fā)表于 09-06 10:02 ?330次閱讀
    基于<b class='flag-5'>XIAO</b> <b class='flag-5'>SAMD21</b><b class='flag-5'>開發(fā)板</b>的數(shù)字鍵盤制作<b class='flag-5'>方案</b>
    RM新时代网站-首页