女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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步:

對于此項(xiàng)目,我們將使用以下-

?硬件?

-Arduino Uno

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

-瞬時(shí)按鈕x5

-10k電阻x5

-LED x2(Redx1,Greenx1)

-16x2字符LCD

-10k電位器

-各種跳線

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

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

?軟件?

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

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

第2步:連接起來-按鈕

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

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

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

第3步:接線-伺服

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

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

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

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

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

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

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

-1:VSS(接地)

-2:VDD(+ 5v)

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

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

LCD針腳Arduino針腳

4 6

6 2

11 5

12 11

13 7

14 3

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

這是它的樣子-

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

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

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

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

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

哦,將LCD的引腳5接地。將其接地將LCD設(shè)置為Write-因?yàn)槲覀冋趯ζ溥M(jìn)行寫入。

步驟5:將其接線-LEDs

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

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

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

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

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

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

#include

#include

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

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

Servo myservo;

//const int表示常量整數(shù)。常數(shù)不變。因?yàn)槲覀冋谑褂冒粹o,所以很合適。

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

int計(jì)數(shù)3 = 0;

int計(jì)數(shù)4 = 0;

int計(jì)數(shù)5 = 0;

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

int state1 = 0;

int state2 = 0;

int state3 = 0;

int state4 = 0;

int state5 = 0;

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

int prev1 = 0;

int prev2 = 0;

int prev3 = 0;

int prev4 = 0;

int prev5 = 0;

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

int totalcount = 0;

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

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)

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

if(state1!= prev1){

delay(10);

if(state1 == HIGH){

count1 ++;

}

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

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

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

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

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)行的操作。按下按鈕時(shí),其狀態(tài)與

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

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

prev1 = state1;

prev2 = state2;

prev3 = state3;

prev4 = state4;

prev5 = state5;

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

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

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

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

lcd.print(“ *”);

行++;

}

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

//每按一次按鈕,我們將遞增“行”加1,然后將其設(shè)置為光標(biāo)位置。我們這樣做直到某個點(diǎn)(5),因?yàn)檫@是我們組合中的位數(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; //將我們所有的計(jì)數(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( “拒絕代碼”); //和下面的部分是每個按鈕的計(jì)數(shù)

digitalWrite(red,HIGH); //不等于預(yù)定計(jì)數(shù),或者大于計(jì)數(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ù)雜。

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

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

    關(guān)注

    4

    文章

    864

    瀏覽量

    40419
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6490

    瀏覽量

    190068
收藏 人收藏

    評論

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

    免費(fèi)分享Arduino入門+進(jìn)階(全套例程+書籍)

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

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

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

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

    CAN(Controller Area Network)總線是一種常用于汽車和工業(yè)控制系統(tǒng)的串行通信協(xié)議,以其高可靠性和實(shí)時(shí)性而聞名。Arduino,作為一種流行的開源微控制器平臺,可以通過附加
    的頭像 發(fā)表于 12-23 09:06 ?1579次閱讀

    Arduino Nano Matter開發(fā)板正式上市

    Silicon Labs(芯科科技)和Arduino在近日共同宣布Arduino Nano Matter開發(fā)板現(xiàn)已正式上市。這是延續(xù)今年3 月芯科科技和Arduino釋出Arduino
    的頭像 發(fā)表于 12-10 13:50 ?777次閱讀

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

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

    開源項(xiàng)目!基于 Arduino 的 MIDI 架子鼓

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

    基于Arduino的串口通信項(xiàng)目

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

    stm32與Arduino的比較

    在微控制器的世界里,STM32和Arduino是兩個經(jīng)常被提及的名字。STM32是一系列由STMicroelectronics生產(chǎn)的高性能微控制器,而Arduino則是一個開源電子原型平臺,基于易于
    的頭像 發(fā)表于 11-19 15:45 ?3824次閱讀

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

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

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

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

    開源項(xiàng)目!基于 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ā)按鍵,同時(shí)也具有更高的耐用性和更長的使用壽命。它能夠?yàn)槊總€
    的頭像 發(fā)表于 06-22 08:07 ?1215次閱讀
    磁軸<b class='flag-5'>鍵盤</b>霍爾開關(guān)MST-MH481霍爾磁軸機(jī)械<b class='flag-5'>鍵盤</b>

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

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

    求助,在esp-idf中使用arduino作為組件后怎樣使用arduino的庫?

    在esp-idf中使用arduino作為組件后怎樣使用arduino的庫,例如我此時(shí)需要使用arduino的第三方庫blinker,怎樣使用?
    發(fā)表于 06-12 07:21

    老陸測功耗 | 鍵盤敲出火星子啦

    高效辦公離不開稱手的鍵盤,如何“鍵”入佳境?比起有線鍵盤的那根線,無線鍵盤的多種連接模式讓辦公少了一“線”雜亂。比起電量突然耗盡的手足無措,隨時(shí)更換干電池顯得更加貼心。我們本期選擇了兩款干電池
    的頭像 發(fā)表于 06-04 08:04 ?1641次閱讀
    老陸測功耗 | <b class='flag-5'>鍵盤</b>敲出火星子啦