国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

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。加!您可以發(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信號,因為我擔心5V恒定電壓會饋入引腳。而且我也是一個樂觀主義者-等待好的事情發(fā)生,而不是等待好的事情消失:P

第3步:接線-伺服

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

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

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

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

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

首先,我們將其連接到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(對比電壓)將到達10k電位計的抽頭引腳。您可以將針腳4、6、11、12、13和14連接到Arduino上任何未使用的數(shù)字針腳,只要它在代碼中按順序排列即可,例如-

LCD針腳Arduino針腳

4 6

6 2

11 5

12 11

13 7

14 3

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

這是它的樣子-

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

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

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

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

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

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

步驟5:將其接線-LEDs

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

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

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

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

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

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

#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步:對其進行編碼-設(shè)置和循環(huán)

//在這里,我們設(shè)置引腳的功能(輸入/輸出),啟動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); //用于調(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)。這個很重要。它有助于消除抖動。按鈕有一個

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

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

//恢復。 10毫秒應該足夠長,但是可以根據(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 {}

}

//這將有助于跟蹤使用

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

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

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

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上光標從左到右的位置。

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

//現(xiàn)在,如果我們的總數(shù)達到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; //將我們所有的計數(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); //不等于預定計數(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步:下載草圖

哪!復雜。

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

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

    關(guān)注

    4

    文章

    872

    瀏覽量

    41898
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

    196982
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    【開源鍵盤合集】60%、100%、120%多種鍵盤布局,你選哪種?

    “本合集收錄了多款使用KiCad設(shè)計的開源客制化鍵盤,是時候復刻一把了”點擊跳轉(zhuǎn),可獲取設(shè)計文件掃碼入群,失效請加微信:opensrc_KLin本合集涵蓋了60%、100%、120%多種配列鍵盤
    的頭像 發(fā)表于 01-27 08:05 ?1530次閱讀
    【開源<b class='flag-5'>鍵盤</b>合集】60%、100%、120%多種<b class='flag-5'>鍵盤</b>布局,你選哪種?

    Arduino plc和termux esp

    Arduino plc和termux esp
    的頭像 發(fā)表于 12-06 06:41 ?1871次閱讀

    高通宣布收購 Arduino,加速普及前沿邊緣計算與 AI 技術(shù)

    “ ?全新 Arduino UNO Q 開發(fā)板與 Arduino App Lab 將為數(shù)百萬開發(fā)者帶來高通 Dragonwing 處理器的強大動力。? ” ? 要點速覽: 強強聯(lián)合 :此次收購將高
    的頭像 發(fā)表于 10-08 11:15 ?719次閱讀
    高通宣布收購 <b class='flag-5'>Arduino</b>,加速普及前沿邊緣計算與 AI 技術(shù)

    如何制作字母數(shù)字鍵盤

    制作字母數(shù)字鍵盤
    發(fā)表于 09-05 07:24

    鍵盤常見問題的解決方法

    用戶點擊輸入框時,軟鍵盤默認彈出。但在特定場景下,需要對軟鍵盤的彈出和收起進行控制,如點擊空白區(qū)域收起軟鍵盤,進入頁面時輸入框主動獲焦。開發(fā)者還需根據(jù)軟鍵盤狀態(tài)和高度調(diào)整頁面布局。
    的頭像 發(fā)表于 09-04 09:11 ?826次閱讀

    鍵盤薄膜高彈UV膠則是一種特殊改性的UV固化膠,用于薄膜鍵盤按鍵彈性體的部分或高彈性密封

    薄膜鍵盤是一種常見的鍵盤類型,它使用薄膜作為按鍵的觸發(fā)器。而鍵盤薄膜高彈UV膠則是一種特殊改性的UV固化膠,用于薄膜鍵盤按鍵彈性體的部分或高彈性密封。薄膜
    的頭像 發(fā)表于 08-26 10:03 ?978次閱讀
    <b class='flag-5'>鍵盤</b>薄膜高彈UV膠則是一種特殊改性的UV固化膠,用于薄膜<b class='flag-5'>鍵盤</b>按鍵彈性體的部分或高彈性密封

    如何使用 QMK的固件鍵盤開源在 NUC029 上實現(xiàn)鍵盤?

    使用 QMK的固件鍵盤開源在 NUC029 上實現(xiàn)鍵盤
    發(fā)表于 08-20 08:22

    如何用Arduino Nano/UNO R3開發(fā)板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄引導程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開發(fā)板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄
    的頭像 發(fā)表于 08-08 20:16 ?3602次閱讀
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板給另一個<b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板重新燒錄引導程序bootlaoder

    Arduino與LabVIEW聯(lián)合編程指南

    Arduino編程并與LabVIEW上位機結(jié)合實現(xiàn)設(shè)備的遠程控制與數(shù)據(jù)采集。
    發(fā)表于 06-19 15:54 ?3次下載

    HarmonyOS應用自定義鍵盤解決方案

    自定義鍵盤是一種替換系統(tǒng)默認鍵盤的解決方案,可實現(xiàn)鍵盤個性化交互。允許用戶結(jié)合業(yè)務需求與操作習慣,對按鍵布局進行可視化重構(gòu)、設(shè)置多功能組合鍵位,使輸入更加便捷和舒適。在安全防護層面,自定義鍵盤
    的頭像 發(fā)表于 06-05 14:19 ?2416次閱讀

    免費分享Arduino入門+進階(全套例程+書籍)

    Arduino是一款開源電子原型平臺,由硬件(單片機開發(fā)板)和軟件(編程環(huán)境)組成,旨在讓非專業(yè)用戶也能輕松入門電子制作和編程。它的核心思想是簡化硬件開發(fā),通過直觀的編程和模塊化設(shè)計,讓用戶快速實現(xiàn)
    的頭像 發(fā)表于 05-22 11:40 ?1133次閱讀
    免費分享<b class='flag-5'>Arduino</b>入門+進階(全套例程+書籍)

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎(chǔ)知識

    完成一個電子產(chǎn)品的制作。這就給開源硬件的推廣和普及設(shè)定了一個很高的門檻,電子愛好者需要花很多時間和精力才能開始開發(fā)和制作自己的作品。而使用Arduino能很快地完成一個電子產(chǎn)品的制作,
    發(fā)表于 05-13 09:28

    怎么調(diào)出來點擊彈出的鍵盤是9鍵數(shù)字小鍵盤?

    我使用了系統(tǒng)默認的中文鍵盤,但是我有一些輸入框需要的是默認的9鍵數(shù)字輸入。我應該怎么調(diào)出來點擊彈出的鍵盤是9鍵數(shù)字小鍵盤。用按鈕組自己做嗎?
    發(fā)表于 04-02 07:41

    樹莓派OS 的屏幕鍵盤不好用?這個方法可以解決問題!

    導語如果你有一臺樹莓派的觸摸屏或者HMI產(chǎn)品,希望使用屏幕虛擬鍵盤輸入信息時,會出現(xiàn)下面的困惑,默認打開的鍵盤只有一點點,不能鋪滿整個屏幕,用起來很不方便,最后只能放棄改用外部的USB鍵盤
    的頭像 發(fā)表于 03-25 09:19 ?1525次閱讀
    樹莓派OS 的屏幕<b class='flag-5'>鍵盤</b>不好用?這個方法可以解決問題!

    霍爾IC SC4011賦能磁軸鍵盤新體驗

    鍵盤的世界里,磁軸鍵盤正以其獨特的魅力嶄露頭角。而鈞敏科技主推的霍爾 IC-SC4011 芯片,更是成為了磁軸鍵盤背后的強大 “心臟”,為眾多用戶解決了長期困擾的痛點。
    的頭像 發(fā)表于 03-11 15:33 ?1071次閱讀