色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>可以給主人提供生活建議的機器人開源

可以給主人提供生活建議的機器人開源

2022-11-04 | zip | 1.77 MB | 次下載 | 2積分

資料介紹

描述

我想制作一個可以給她的主人提供生活建議的機器人機器人可以告訴溫度、濕度、時間和警報等。這只是一個初始版本。我會給這個機器人更多的功能,比如聲音識別、揚聲器、游戲。因此,Arduino UNO R3 可能不足以完成這個項目。如果有人有有趣的想法,請給予贊揚。讓我們嘗試構建這個機器人。讓我介紹一下這個項目:

1. LCD自定義顯示——眨眼臉

20x4 LCD 允許用戶創建自定義字符。這對我塑造臉型有好處。此 LCD 在屏幕中包含 80 個字符。每個字符包括 8 行 5 列,總共有 40 個像素。字符的每一行都有一個對應的代碼(數字)。要構建自定義字符,我需要構建一個 8 字節自定義類型變量。例如,在上圖中創建機器人眼睛角色。代碼是:

uint8_t eye_left[8] = {0xe,0x11,0x17,0x17,0x17,0x17,0x11,0xe};

根據我的實驗,LCD字符的行碼是有規律的。我顯示下表以顯示行顯示和相應的數字:

?
poYBAGNkbn-AUNpYAABdkzL_x7g667.png
LCD行(行)顯示及對應編號
?

根據上表,眼睛顯示代碼解釋如下:

?
pYYBAGNkboKAK3U6AAAs35bdVhg132.jpg
?

創建自定義代碼后,即可在 Arduino setup() 或 loop() 中使用。在 setup() 中,例如,程序代碼是:

// .... the LCD library and address setup is not here ...
//variable code for custom eye character
uint8_t eye_left[8] = {0xe,0x11,0x17,0x17,0x17,0x17,0x11,0xe};
void setup() {
     lcd.begin(20,4); 
     lcd.createChar(2, eye_left);//use number '2' to mark this char
     lcd.setCursor(1,1);// display position
     lcd.write(2);// display the custom char
     lcd.setCursor(3,1);
     lcd.write(2);
}

我不會在上面的代碼中給出 LCD 庫和地址設置。這是顯示面部和眨眼的測試代碼:

#include 
#include 
uint8_t empty[8]  = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1};
uint8_t eyebrow_happy[8]  = {0x0,0x0,0x0,0xe,0x11,0x0,0x0,0x0};
uint8_t eyebrow_angry_right[8]  = {0x0,0x0,0x0,0x10,0x8,0x4,0x2,0x1};
uint8_t eyebrow_close[8]  = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f};
uint8_t eyebrow_angry_left[8]  = {0x0,0x0,0x0,0x1,0x2,0x4,0x8,0x10};
uint8_t eye_left[8] = {0xe,0x11,0x17,0x17,0x17,0x17,0x11,0xe};
uint8_t eye_right[8] = {0xe,0x11,0x1d,0x1d,0x1d,0x1d,0x11,0xe};
uint8_t eye_front[8] = {0xe,0x11,0x15,0x15,0x15,0x15,0x11,0xe};
uint8_t eye_close[8] = {0x0,0x0,0x0,0x11,0x1f,0x0,0x0,0x0};
uint8_t mouth_happy[8]  = {0x4,0xe,0xe,0x0,0x0,0x11,0xe};
uint8_t mouth_sad[8] = {0x4,0xe,0xe,0x0,0x0,0xe,0x11};
LiquidCrystal_I2C lcd(0x3f, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address
void setup() {
   lcd.begin(20,4); 
   //lcd.init(); 
   lcd.createChar(0, empty);
   lcd.createChar(1, mouth_sad);
   lcd.createChar(2, eyebrow_angry_right);
   lcd.createChar(3, eyebrow_angry_left);
   lcd.createChar(4, eye_left);
   lcd.createChar(5, eye_right);
   lcd.createChar(6, eye_front);
   lcd.createChar(7, eye_close);
   lcd.createChar(8, mouth_happy);
   lcd.createChar(9, eyebrow_happy);
   lcd.createChar(10, eyebrow_close);
   lcd.home();
   // eyebrow
   lcd.setCursor(1,0);
   lcd.write(1);
   lcd.setCursor(3,0);
   lcd.write(1);
   // eyes
   lcd.setCursor(1,1);
   lcd.write(4);
   lcd.setCursor(3,1);
   lcd.write(4);
   // mouth
   lcd.setCursor(2,2);
   lcd.write(8);
   // words
   lcd.setCursor(9,1);
   lcd.print("Hello!!");
   lcd.setCursor(8,2);
   lcd.print("I am Lily!");
   delay(1000);
}
//string str[20];
void loop() {
   // blink eyes
   delay(4000);
   // eyebrow
   lcd.setCursor(1,0);
   lcd.write(10);
   lcd.setCursor(3,0);
   lcd.write(10);
   // eyes
   lcd.setCursor(1,1);
   lcd.write(7);
   lcd.setCursor(3,1);
   lcd.write(7);
   // mouth
   lcd.setCursor(2,2);
   lcd.write(8);
   delay(250);
   // eyebrow
   lcd.setCursor(1,0);
   lcd.write(1);
   lcd.setCursor(3,0);
   lcd.write(1);
   // eyes
   lcd.setCursor(1,1);
   lcd.write(4);
   lcd.setCursor(3,1);
   lcd.write(4);
   // mouth
   lcd.setCursor(2,2);
   lcd.write(8);
}

我的液晶顯示器是 I2C 型號。如果某人嘗試此代碼,請按照您的菜單設置您的 LCD。我在下面給出了 LCD 設置的鏈接:

2.時鐘顯示和時間/鬧鐘設置

我的 Arduino UNO 沒有外部計時器 (RTC),但我自己制作時鐘并使用 EEPROM 存儲當前時間以進行 Arduino 重置。定時器/時鐘項目在下面的鏈接中:

這是我的 Arduino DIY 時鐘項目。它還介紹了 IR 遠程設置、蜂鳴器運行和 EEPROM 庫。

3.溫濕度模式

我使用 DHT11 濕度和溫度模型來獲取該項目的濕度和溫度。在程序中,我使用庫“ DHT.h ”來應用模式。我還使用 Simon Monk 的“ timer.h ”庫每 3 秒獲取 Humi 和 Temp。(另外項目中的 eye's blink 也是使用這個庫。)

4. 搖桿控制臉眼

Joy 貼紙很容易與 Arduino 一起使用。我創建了一個程序來查看我玩快樂貼紙時的 x、y 值。在下面的代碼中,我使用我的 LCD 來顯示 x、y 值:

#include 
#include 
LiquidCrystal_I2C lcd(0x3f, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address
// Arduino pin numbers
const int SW_pin = 7; // digital pin connected to switch output
const int X_pin = A0; // analog pin connected to X output
const int Y_pin = A1; // analog pin connected to Y output
void setup() {
 pinMode(SW_pin, INPUT);
 digitalWrite(SW_pin, HIGH);
 lcd.begin(20,4);    
 lcd.clear();
}
void loop() {
 lcd.clear();
 lcd.setCursor(0,0);
 lcd.print("swtich: ");
 lcd.print(digitalRead(SW_pin));
 lcd.setCursor(0,1);
 lcd.print("X-axis: ");
 lcd.print(analogRead(X_pin));
 lcd.setCursor(0,2);
 lcd.print("Y-axis: ");
 lcd.print(analogRead(Y_pin));
 delay(500);
}

歡樂貼的原理在這個鏈接:

https://www.brainy-bits.com/arduino-joystick-tutorial/

我的項目視頻

?

五、存在的問題和今后的工作

該項目將許多模型鏈接在一起,并使用了可能的庫。好在沒有沖突,但還是有一些問題。也許,某人可以給我建議。

首先,我一開始只能創建8個自定義角色,超過8個就麻煩了。例如,使用下面的代碼。

   lcd.createChar(0, empty);
   lcd.createChar(1, mouth_sad);
   lcd.createChar(2, eyebrow_angry_right);
   lcd.createChar(3, eyebrow_angry_left);
   lcd.createChar(4, eye_left);
   lcd.createChar(5, eye_right);
   lcd.createChar(6, eye_front);
   lcd.createChar(7, eye_close);
   lcd.createChar(8, mouth_happy);
   lcd.createChar(9, eyebrow_happy);
   lcd.createChar(10, eyebrow_close);

字符“0”將替換為字符“8”,“1”將替換為“9”,“2”將替換為“10”。為了解決這個問題,我只是在每次顯示字符之前構建字符。如果我改變眼睛字符以顯示向上或向下看,我會這樣做:

 lcd.createChar(2, eye_up);// create look up
 lcd.setCursor(1,1);
 lcd.write(2);
 lcd.setCursor(3,1);
 lcd.write(2);
 delay(1000);// delay 1s
 lcd.createChar(2, eye_down);//create look down
 lcd.setCursor(1,1);
 lcd.write(2);
 lcd.setCursor(3,1);
 lcd.write(2);

我不知道為什么我不能一起建立更多的角色。可能是液晶內存不夠。誰能告訴我?

其次,我使用 Simon 的“ timer.h ”來顯示眨眼。但是,這個庫只是通過切換顯示閉眼,我給了 250 毫秒的延遲時間來清楚地顯示閉眼,但延遲會阻止整個代碼運行。當臉部眨眼時,您可以看到第二次增加有一點時間問題。

我考慮使用普通計時器(如“millis()”)來毫不拖延地控制它,但它很復雜。我不知道millis() 的值是否會溢出。

第三紅外遙控器不靈敏。你可以從視頻中看到這一點。也許,我的代碼延遲太長,無法按下按鈕,但我發現有時 IR 接收器會得到錯誤的按鈕地址。為什么電視和投影儀遙控器效果很好?有人知道更多嗎?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 国产精品嫩草免费视频| 一道本av免费不卡播放| 色戒未删减版在线观看完整| 羞羞漫画视频| avtt天堂网2014| 日韩免费一级毛片| 亚洲三级视频| 成人无码国产AV免费看直播| FREE性丰满HD毛多多| SM脚奴调教丨踩踏贱奴| 成人国产在线看不卡| 精品亚洲午夜久久久久| 欧美亚洲日韩自拍高清中文 | 国产自产视频在线观看香蕉| 国产精品成人啪精品视频免费观看| 国产h视频在线观看免费| 99香蕉视频| 久久9精品区-无套内射无码| 邻家美姨在线观看全集免费| 无限资源日本2019版免费| 午夜精品久久久久久久爽牛战| AV午夜午夜快憣免费观看| 久久人妻熟女中文字幕AV蜜芽| 无码人妻视频又大又粗欧美| 亚洲欧美一区二区三区四区| 俄罗斯兽交XXXXX在线| 国产又粗又猛又爽又黄的免费视频| 九九久久国产精品大片| 超大号黑吊magnet| 久久亚洲国产精品亚洲| 亚洲精品高清在线观看| 在线观看免费视频播放视频| 精品国产乱码久久久久久软件| 成人影片下载网站| 麻豆精品传媒卡一卡二传媒短视频| 无码一区二区在线欧洲| 黑人开嫩苞| 999久久国产精品免费人妻| 久久毛片免费看一区二区三区| 879影视动漫h免费观看| 精品伊人久久久|