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

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

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

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

Arduino鍵盤的制作教程

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

第1步:

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

?硬件?

-Arduino Uno

-伺服電機(jī)(180 *)

-瞬時按鈕x5

-10k電阻x5

-LED x2(Redx1,Greenx1)

-16x2字符LCD

-10k電位器

-各種跳線

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

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

?軟件?

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

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

第2步:連接起來-按鈕

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

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

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

第3步:接線-伺服

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

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

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

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

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

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

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

-1:VSS(接地)

-2:VDD(+ 5v)

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

-4 :寄存器選擇

-5:讀/寫

-6:啟用

-7:數(shù)據(jù)0

-8:數(shù)據(jù)1

-9:數(shù)據(jù)2

-10:數(shù)據(jù)3

-11:數(shù)據(jù)4

-12:數(shù)據(jù)5

-13:數(shù)據(jù)6

-14:數(shù)據(jù)7

-15:背光+ 5v

-16:背光地

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

LCD針腳Arduino針腳

4 6

6 2

11 5

12 11

13 7

14 3

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

這是它的樣子-

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

庫的方式根據(jù)我的收集工作,它將按順序?qū)⒛切〢rduino引腳指定為LCD引腳。引腳6將被指定為寄存器選擇,引腳2將被啟用,依此類推。因此,如果在進(jìn)行連接和編碼時順序不對,那么效果就不會很好。

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

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

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

哦,將LCD的引腳5接地。將其接地將LCD設(shè)置為Write-因為我們正在對其進(jìn)行寫入。

步驟5:將其接線-LEDs

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

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

步驟6:將其編碼。..現(xiàn)在就好玩了

這將變得有點。..具有挑戰(zhàn)性。..

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

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

#include

#include

//初始化庫并設(shè)置LCD的引腳

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

Servo myservo;

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

//不想讓我們的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計數(shù)2 = 0;

int計數(shù)3 = 0;

int計數(shù)4 = 0;

int計數(shù)5 = 0;

//“ statex”將跟蹤狀態(tài)按鈕。

int state1 = 0;

int state2 = 0;

int state3 = 0;

int state4 = 0;

int state5 = 0;

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

int prev1 = 0;

int prev2 = 0;

int prev3 = 0;

int prev4 = 0;

int prev5 = 0;

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

int totalcount = 0;

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

int rows = 0;

//并聲明LED:)

int red = 8;

int green = 10;

第7步:對其進(jìn)行編碼-設(shè)置和循環(huán)

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

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

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); //用于調(diào)試。

myservo.attach(9);

myservo.write(0);

}

//從讀取狀態(tài)開始。

void loop(){

state1 = digitalRead(button1);

state2 = digitalRead(button2);

state3 = digitalRead(button3);

state4 = digitalRead (button4);

state5 = digitalRead(button5);

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

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

//,我們將增加該按鈕的計數(shù)。

if(state1!= prev1){

delay(10);

if(state1 == HIGH){

count1 ++;

}

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

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

//將程序暫停10毫秒,使按鈕“穩(wěn)定”,然后

//恢復(fù)。 10毫秒應(yīng)該足夠長,但是可以根據(jù)需要調(diào)整更長的時間。

else {}

}

//我們?yōu)槊總€按鈕執(zhí)行此操作。

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 {}

}

//這將有助于跟蹤使用

//按鈕進(jìn)行的操作。按下按鈕時,其狀態(tài)與

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

//狀態(tài)設(shè)置為當(dāng)前狀態(tài),以便您按下或釋放Arduino的那一刻就知道并采取相應(yīng)的措施。

prev1 = state1;

prev2 = state2;

prev3 = state3;

prev4 = state4;

prev5 = state5;

//然后計算每個按鈕的按下次數(shù)。

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

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

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

lcd.print(“ *”);

行++;

}

//“行”是LCD上光標(biāo)從左到右的位置。

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

//現(xiàn)在,如果我們的總數(shù)達(dá)到5,我們將開始查看每個按鈕被按下了多少次。如果與預(yù)定組合相符。..

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; //將我們所有的計數(shù)器重置為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( “拒絕代碼”); //和下面的部分是每個按鈕的計數(shù)

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

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

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步:下載草圖

哪!復(fù)雜。

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

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

    關(guān)注

    4

    文章

    859

    瀏覽量

    39729
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6471

    瀏覽量

    187293
收藏 人收藏

    評論

    相關(guān)推薦

    自己設(shè)計的Arduino UNO R3主控板原理圖+PCB源文件(可直接打樣)

    一年前做的Arduino UNO r3,開源精神,把自己這塊板子奉獻(xiàn)給大家,板子沒有什么問題,可以直接打樣制作,原理圖文件都表明了型號。不用謝~ Arduino UNO R3主控板原理圖部分截圖: *附件:MYArduino
    發(fā)表于 12-10 10:14

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

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

    基于Arduino的串口通信項目

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

    如何使用Arduino實現(xiàn)CAN總線通信

    CAN總線(Controller Area Network)是一種多主控制的串行通信協(xié)議,廣泛應(yīng)用于汽車電子、工業(yè)自動化等領(lǐng)域。它以其高可靠性、實時性和靈活性而受到青睞。Arduino作為一個
    的頭像 發(fā)表于 11-12 10:09 ?1040次閱讀

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

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

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

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

    磁軸鍵盤霍爾開關(guān)MST-MH481霍爾磁軸機(jī)械鍵盤

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

    鍵盤的矩陣規(guī)格設(shè)計圖

    鍵盤的矩陣規(guī)格設(shè)計圖
    發(fā)表于 06-19 14:29 ?0次下載

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

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

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

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

    如何制作自己的Arduino電容計

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

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

    在這個項目中,我將向您展示如何使用Arduino制作智能垃圾箱,當(dāng)您帶著垃圾接近時,垃圾箱的蓋子會自動打開。
    的頭像 發(fā)表于 02-11 12:22 ?3074次閱讀
    如何使用<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矩陣,可以照亮您的房間、學(xué)習(xí)空間或創(chuàng)客區(qū)域,使其看起來非常酷炫。此外,它非常容易構(gòu)建,并幫助您在電子和編碼方面發(fā)揮創(chuàng)意。
    的頭像 發(fā)表于 02-11 12:07 ?3255次閱讀
    使用<b class='flag-5'>Arduino</b> Nano<b class='flag-5'>制作</b>一個4×4×4 LED立方體

    一塊板即輕松搞定!| TH244A001 - 32位Arduino開發(fā)資源進(jìn)階介紹(2)

    一塊板即輕松搞定! TH244A001 - 32位Arduino開發(fā)資源進(jìn)階介紹(2) 在前一篇文章中\(zhòng)"TH244A001 - 32位Arduino開發(fā)資源進(jìn)階介紹(1
    發(fā)表于 01-12 11:54

    薄膜鍵盤領(lǐng)域設(shè)計#鍵盤

    薄膜鍵盤
    泰達(dá)克電子材料
    發(fā)布于 :2024年01月09日 11:30:41
    主站蜘蛛池模板: 男女全黄h全肉细节文| 天天爽夜夜爽| 单亲妈妈3韩国电影免费观看| 99久久久免费精品免费| 91久久精品一区二区三区| 18美女腿打开无遮软件| 精品国产国产精2020久久日| 国产精品AV无码免费播放| 国产69TV精品久久久久99| 国产精品久AAAAA片| 国产日韩亚洲专区无码| 果冻传媒9CM在线观看| 精品无码国产自产在线观看水浒传| 精品一区二区三区四区五区六区| 久久精品视频uu| 女人麻豆国产香蕉久久精品| 青柠在线观看免费完整版| 思思久久99热只有频精品66| 亚洲男人在线观看| 91精品婷婷国产综合久久8| write as 跳蛋| 国产欧美无码亚洲毛片| 久久九九少妇免费看A片| 暖暖视频在线高清播放| www.亚洲天堂| 爱如潮水3免费观看日本| 国产高清在线露脸一区| 混乱家庭电影完整版在线看| 毛片免费在线播放| 色偷偷777| 一边亲着一面膜下的免费过程 | 国产女人视频免费观看| 国语自产拍在线视频普通话| 久久视频这只精品99re6| 日本学生VIDEOVIDEOS更新| 亚洲黄色在线| 99国内精品| 国产精品无码中文在线AV| 久久亚洲国产成人影院| 日韩爽爽影院在线播放| 一本道高清到手机在线|