精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

Arduino鍵盤的制作教程

454398 ? 來源:wv ? 2019-10-09 10:40 ? 次閱讀

第1步:

對于此項目,我們將使用以下-

?硬件?

-Arduino Uno

-伺服電機(180 *)

-瞬時按鈕x5

-10k電阻x5

-LED x2(Redx1,Greenx1)

-16x2字符LCD

-10k電位器

-各種跳線

-面包板(一個大的可以容納整個項目,或者幾個小的)

-不要忘記您的計算機或筆記本電腦,還有用于Arduino

?軟件?

-Arduino的USB電纜(當然是:3)

?Fritzing(http://www.fritzing。 ORG)。很酷的東西。它具有三種可視化電路的方式-面包板,原理圖和PCB。加!您可以發送設計并讓他們制作您的PCB,這樣您就可以完成產品!我還沒有嘗試過,但是觸手可及的可能性真棒!我使用Fritzing制作原理圖和更整潔,更有條理的面包板視圖:)最重要的是,它是一個免費軟件。

第2步:連接起來-按鈕

為Arduino的Analog Pin區域A0-A4上的按鈕留出空間。

按鈕的一側將綁在5v上,另一側綁在5v上。將被接地和模擬引腳之一。它也將以另一種方式工作-一側連接到5v和模擬引腳,另一側接地。這實際上是一個優先選擇的問題,具體取決于您要尋找的是HIGH信號還是LOW信號。

我更喜歡尋找HIGH信號,因為我擔心5V恒定電壓會饋入引腳。而且我也是一個樂觀主義者-等待好的事情發生,而不是等待好的事情消失:P

第3步:接線-伺服

我必須說,我愛我一些伺服器!

無論如何。..如果您注意到,伺服器發出了三行信號-特別是在我的身上,有紅色,棕色和橙色。顯而易見,紅色是5v。棕色的引線為接地,橙色的為信號。我們將其連接起來,將橙色引線連接到Arduino的Digital Pin 9,將另外兩個引線分別連接到5v和Ground。

我不確定較舊的版本,但最新版本的Arduino IDE裝有伺服庫和一些啟動示例。 #在項目中包含一個伺服器很簡單!

第4步:將其接線-16x2字符LCD

LCD是一個有趣的小物件。像伺服系統一樣,應該有一個使用和控制LCD屏幕的庫和示例,以及在線教程以幫助您入門。我將在這里詳細說明,因為LCD比伺服器要復雜一些。

首先,我們將其連接到Arduino。

LCD上的針腳從左到右,如下所示-

-1:VSS(接地)

-2:VDD(+ 5v)

-3:對比度(將此與10k電位計抽頭相連-中間引腳)

-4 :寄存器選擇

-5:讀/寫

-6:啟用

-7:數據0

-8:數據1

-9:數據2

-10:數據3

-11:數據4

-12:數據5

-13:數據6

-14:數據7

-15:背光+ 5v

-16:背光地

分別將電源和地線連接到。..電源和地線(如果您的LCD僅具有14針,則很可能沒有背光,因此,請省略背光連接)。引腳3(對比電壓)將到達10k電位計的抽頭引腳。您可以將針腳4、6、11、12、13和14連接到Arduino上任何未使用的數字針腳,只要它在代碼中按順序排列即可,例如-

LCD針腳Arduino針腳

4 6

6 2

11 5

12 11

13 7

14 3

雖然有點。..奇怪的。..在Arduino草圖中仍然可以正常工作,您可以按此順序進行操作。

這是它的樣子-

LiquidCrystal lcd(6,2,5,11,11,7)

庫的方式根據我的收集工作,它將按順序將那些Arduino引腳指定為LCD引腳。引腳6將被指定為寄存器選擇,引腳2將被啟用,依此類推。因此,如果在進行連接和編碼時順序不對,那么效果就不會很好。

那不是很復雜嗎?對我們來說幸運的是,其他才華橫溢的人寫了圖書館,為我們做了繁重的工作。對那些家伙表示敬意!因此,我們要做的就是正確地將所有東西綁在一起,這將是順風順水。

對于此特定項目,將把針腳4、6、11、12、13和14分配給數字針腳2 ,3、4、5、6和7。

您可能會想,“但是其他4個數據引腳呢?”。僅使用這四個引腳,我們就可以很好地擺脫困境。使用所有8個引腳的速度據說是以前的兩倍,但是對于我們現在正在做的事情,這4個引腳將為我們提供很好的服務:)

哦,將LCD的引腳5接地。將其接地將LCD設置為Write-因為我們正在對其進行寫入。

步驟5:將其接線-LEDs

這肯定是一小步。我們將數字引腳8和10用于LED。綠色代表8,紅色代表10。只需確保記住是哪一個即可。

長引線為正,短引線為地,以免我們忘記了!

步驟6:將其編碼。..現在就好玩了

這將變得有點。..具有挑戰性。..

我盡最大努力不只是遵循別人的教程,而是使用我知道的。弄清楚什么有效,什么無效。像往常一樣,您可以在github(底部的鏈接)上下載我的草圖,在這里,我將逐段詳細描述草圖的每個部分。

//在這里,我們包括我們的庫

#include

#include

//初始化庫并設置LCD的引腳

LiquidCrystal lcd(2,3, 4,5,6,7);

Servo myservo;

//const int表示常量整數。常數不變。因為我們正在使用按鈕,所以很合適。

//不想讓我們的Arduino感到困惑!

const int button1 = A0;

const int button2 = A1;

const int button3 = A2;

const int button4 = A3;

const int button5 = A4;

//我們將使用“ countx”來跟蹤一次按下按鈕

int count1 = 0;

int計數2 = 0;

int計數3 = 0;

int計數4 = 0;

int計數5 = 0;

//“ statex”將跟蹤狀態按鈕。

int state1 = 0;

int state2 = 0;

int state3 = 0;

int state4 = 0;

int state5 = 0;

//這些將選項卡保留在按鈕的先前狀態。高嗎低嗎?

int prev1 = 0;

int prev2 = 0;

int prev3 = 0;

int prev4 = 0;

int prev5 = 0;

//totalcount是每個按鈕被按下的次數。 。.就像一個組合。

int totalcount = 0;

//這適用于LCD。輸入組合時,它將顯示一個星號。

int rows = 0;

//并聲明LED:)

int red = 8;

int green = 10;

第7步:對其進行編碼-設置和循環

//在這里,我們設置引腳的功能(輸入/輸出),啟動LCD并指定與伺服器相連的

//引腳。我們還將以0度的舵機開始。

void setup(){

pinMode(button1,INPUT);

pinMode(按鈕2,輸入);

pinMode(按鈕3,輸入);

pinMode(按鈕4,輸入);

pinMode(按鈕5,輸入);

pinMode(紅色,輸出);

pinMode(綠色,輸出);

lcd.begin(16,2);

lcd.setCursor(0,0);

lcd.print(“:ENTER CODE:”);

Serial.begin(9600); //用于調試。

myservo.attach(9);

myservo.write(0);

}

//從讀取狀態開始。

void loop(){

state1 = digitalRead(button1);

state2 = digitalRead(button2);

state3 = digitalRead(button3);

state4 = digitalRead (button4);

state5 = digitalRead(button5);

//如果按鈕的狀態不等于它的先前狀態(1 = HIGH,0 = LOW),基本上是

//意思是它剛被按下或釋放?如果按鈕的狀態為HIGH(1)

//,我們將增加該按鈕的計數。

if(state1!= prev1){

delay(10);

if(state1 == HIGH){

count1 ++;

}

//注意延遲(10)。這個很重要。它有助于消除抖動。按鈕有一個

//跳動性。您感覺不到,但是當您按下一個按鈕時,它有時會多次接觸,并且Arduino將多次按下它。延遲

//將程序暫停10毫秒,使按鈕“穩定”,然后

//恢復。 10毫秒應該足夠長,但是可以根據需要調整更長的時間。

else {}

}

//我們為每個按鈕執行此操作。

if(state2!= prev2){

delay(10);

if(state2 == HIGH){

count2 ++;

}

else {}

}

if(state3!= prev3){

delay(10);

if(state3 == HIGH){

count3 ++;

}

else {}

}

if(state4!= prev4){

delay(10);

if(state4 == HIGH){

count4 ++;

}

else { }

}

如果(state5!= prev5){

delay(10);

如果(state5 == HIGH){

count5 ++;

}

else {}

}

//這將有助于跟蹤使用

//按鈕進行的操作。按下按鈕時,其狀態與

//之前的狀態不匹配,表示已更改。在這里,我們將先前的

//狀態設置為當前狀態,以便您按下或釋放Arduino的那一刻就知道并采取相應的措施。

prev1 = state1;

prev2 = state2;

prev3 = state3;

prev4 = state4;

prev5 = state5;

//然后計算每個按鈕的按下次數。

totalcount = count1 + count2 + count3 + count4 + count5;

//這是每次按下按鈕時在LCD上寫入星號(“ *”)的地方。

表示(行= 0;行 lcd.setCursor(rows,1);

lcd.print(“ *”);

行++;

}

//“行”是LCD上光標從左到右的位置。

//每按一次按鈕,我們將遞增“行”加1,然后將其設置為光標位置。我們這樣做直到某個點(5),因為這是我們組合中的位數。

//現在,如果我們的總數達到5,我們將開始查看每個按鈕被按下了多少次。如果與預定組合相符。..

if(totalcount == 5){

if(count1 == 2 && count2 == 0 && count3 == 1 && count4 == 2 && count5 == 0){

lcd.clear();

lcd.print(“接受代碼”); //接受代碼!

myservo.write(90); //伺服器移動了90度,就好像打開門一樣。。

digitalWrite(綠色,高); //綠色等于良好,因此綠色LED亮起

//如果第一次未正確輸入代碼,請確保紅色LED保持熄滅

digitalWrite(red,LOW);

count1 = 0; //將我們所有的計數器重置為0,再次開始該過程。

count2 = 0;

count3 = 0;

count4 = 0;

count5 = 0;

totalcount = 0;

delay(10000);

lcd.clear();

lcd.setCursor(0,0);

lcd.print(“:ENTER CODE:”) ;//我們又回到了開頭。

myservo.write(0);

digitalWrite(green,LOW);

}

否則if(count1!= 2 && count2!= 0 && count3!= 1 && count4!= 2 && count5!= 0 && totalcount == 5){

lcd.clear();

lcd.setCursor(0,0);

lcd.print( “拒絕代碼”); //和下面的部分是每個按鈕的計數

digitalWrite(red,HIGH); //不等于預定計數,或者大于計數,

digitalWrite(綠色,低); //且總按下次數等于5(表示5位數

count1 = 0;輸入了//組合,但錯誤),然后代碼被拒絕。

count2 = 0;

count3 = 0;

count4 = 0;

count5 = 0;

totalcount = 0;

delay(5000);

lcd.clear();

lcd.setCursor(0,0);

lcd.print(“:ENTER CODE:”);

digitalWrite(red,LOW);

}

else if(count1》 2 && count2》 0 && count3》 1 && count4》 2 && count5》 0 || totalcount == 5){

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(“ CODE REJECTED”);

digitalWrite(red,HIGH);

digitalWrite(green,LOW);

count1 = 0;

count2 = 0;

count3 = 0;

count4 = 0;

count5 = 0;

totalcount = 0;

delay(5000);

lcd.clear();

lcd。 setCursor(0,0);

lcd.print(“:ENTER CODE:”);

digitalWrite(red,LOW);

}

}

}

第8步:下載草圖

哪!復雜。

總的來說,考慮到“人工”和缺少鍵盤庫,這實際上是一個簡短的草圖。對我來說,這絕對是一次學習的經歷,因為我必須反復試驗才能做到這一點。如果我有更多按鈕,我會盡力制造鍵盤,就像在其他任何按鍵面板上看到的一樣。

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

    關注

    4

    文章

    858

    瀏覽量

    39595
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186684
收藏 人收藏

    評論

    相關推薦

    開源項目!基于 Arduino 的 MIDI 架子鼓

    牢固地固定在插槽中。 第 6 步:給鼓墊接線 1、固定電纜: 使用熱膠將帶狀電纜連接到墊子上。 2、焊接鼓墊: 通過焊接將鼓墊連接到多頻段帶狀電纜。 第 7 步:制作 Arduino 擴展板 1
    發表于 11-25 12:00

    基于Arduino的串口通信項目

    基于Arduino的串口通信項目涉及多個方面,包括硬件連接、軟件編程、串口參數配置等。 一、硬件準備 Arduino開發板 :確保你有一塊Arduino開發板,如Arduino Uno
    的頭像 發表于 11-22 09:24 ?255次閱讀

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

    今天小編給大家帶來了來自印度的Arnov Sharma 制作的基于XIAO SAMD21的數字鍵盤項目,該項目可以通過按鍵在電腦和OLED的屏幕上輸入0-9的阿拉伯數字,可以當作一個數字副鍵盤來使用。
    的頭像 發表于 09-06 10:02 ?296次閱讀
    基于XIAO SAMD21開發板的數字<b class='flag-5'>鍵盤</b><b class='flag-5'>制作</b>方案

    開源項目!基于 Arduino DIY 漂亮的宏機械鍵盤

    。 我利用黑色 PLA 材料,通過 3D 打印技術精心制作鍵盤的外殼及其蓋子。外殼上巧妙設置了一個網格,用于安裝按鍵。內部空間則用于放置 Arduino 主板及連接線。此外,我特意在外殼背面預留了一個孔
    發表于 08-19 17:02

    磁軸鍵盤霍爾開關MST-MH481霍爾磁軸機械鍵盤

    磁軸鍵盤是一種利用霍爾效應進行觸發的鍵盤,與傳統的機械鍵盤有所不同。磁軸鍵盤的軸體采用了霍爾效應技術,可以更快速、更穩定地觸發按鍵,同時也具有更高的耐用性和更長的使用壽命。它能夠為每個
    的頭像 發表于 06-22 08:07 ?596次閱讀
    磁軸<b class='flag-5'>鍵盤</b>霍爾開關MST-MH481霍爾磁軸機械<b class='flag-5'>鍵盤</b>

    鍵盤的矩陣規格設計圖

    鍵盤的矩陣規格設計圖
    發表于 06-19 14:29 ?0次下載

    什么是磁軸鍵盤?電競磁軸鍵盤高精度線性霍爾傳感器方案簡析

    磁軸鍵盤是一種新型的電腦鍵盤,相較于傳統的機械鍵盤而言,它采用了磁性材料和磁場進行操作,具有更輕柔、噪音更小、壽命更長的優點
    的頭像 發表于 04-18 14:12 ?5407次閱讀
    什么是磁軸<b class='flag-5'>鍵盤</b>?電競磁軸<b class='flag-5'>鍵盤</b>高精度線性霍爾傳感器方案簡析

    如何用Arduino制作一個簡易自動喂魚器

    如果你家里養有魚,并想找到一種自動化喂食的方法,這個項目可能會對你有所啟發。 在這個教程中,作者將展示如何制作自己的基于Arduino的自動喂魚器,讓小魚不在餓肚子。 自動喂魚器的工作原理非常
    發表于 03-28 11:25

    如何制作自己的Arduino電容計

    在這個項目中,您將學習如何制作自己的Arduino電容計(測量電容器的值,范圍從pF到1000的uF)。一般來說,電子愛好者喜歡設計自己的小工具而不是購買。在這個項目中,我們使用兩種電容測量方法,即
    的頭像 發表于 02-25 15:10 ?1475次閱讀
    如何<b class='flag-5'>制作</b>自己的<b class='flag-5'>Arduino</b>電容計

    如何使用Arduino制作智能垃圾箱

    在這個項目中,我將向您展示如何使用Arduino制作智能垃圾箱,當您帶著垃圾接近時,垃圾箱的蓋子會自動打開。
    的頭像 發表于 02-11 12:22 ?2867次閱讀
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>制作</b>智能垃圾箱

    使用Arduino Nano制作一個4×4×4 LED立方體

    在這個項目中,我們將使用 Arduino Nano 制作一個很酷的 4×4×4 LED立方體。LED 立方體,也稱為 LED矩陣,可以照亮您的房間、學習空間或創客區域,使其看起來非常酷炫。此外,它非常容易構建,并幫助您在電子和編碼方面發揮創意。
    的頭像 發表于 02-11 12:07 ?3079次閱讀
    使用<b class='flag-5'>Arduino</b> Nano<b class='flag-5'>制作</b>一個4×4×4 LED立方體

    薄膜鍵盤領域設計#鍵盤

    薄膜鍵盤
    泰達克電子材料
    發布于 :2024年01月09日 11:30:41

    Arduino制作循跡小車教程

    Arduino制作循跡小車完全教程
    發表于 01-05 11:09 ?7次下載

    Arduino的功能及其限制

    Arduino是一種開源電子原型平臺,它基于易于使用的硬件和軟件,可以用于制作各種嵌入式系統。然而,盡管Arduino非常強大,但它也有一些功能上的限制。本文將詳細介紹Arduino
    的頭像 發表于 12-21 14:15 ?1153次閱讀

    鍵盤模組ATE手感測試機:打造舒適鍵盤的關鍵利器

    鍵盤模組ATE手感測試機:打造舒適鍵盤的關鍵利器?|深圳磐石
    的頭像 發表于 12-13 09:11 ?842次閱讀
    <b class='flag-5'>鍵盤</b>模組ATE手感測試機:打造舒適<b class='flag-5'>鍵盤</b>的關鍵利器