1x4 Membrane Keypad W / Arduino: 4 na Hakbang

1x4 Membrane Keypad W / Arduino: 4 na Hakbang

Talaan ng mga Nilalaman:

Anonim

Para sa ilang mga pag-configure ng bahagi na ito ay maaaring maging madali, ngunit para sa akin-pagiging bago sa tinkering sa electronics, natagpuan ko ang aking sarili nalilito sa kapag sinusubukang i-tinkering sa partikular na produkto. Ito ay bahagyang dahil sa ang katunayan na hindi ko mahanap ang anumang impormasyon sa kung paano gamitin ang sangkap na ito sa pamamagitan ng Google, Arduino forums, atbp Kaya malaman ko na ang ibang mga tao ay hindi maaaring makuha ito, tulad ng ginawa ko..

Produkto:

Mangyaring tandaan na ito ang aking unang itinuturo.

Mga Kagamitan:

Hakbang 1: BOM

Arduino (Ginamit ko ang isang UNO, ngunit ang iba pang mga pagkakaiba-iba ay magkasiya)

1x4 Keypad w / 5 Pins

5 Mga Jumper Wires

Resistor & LED (kung gusto mo ng visual)

Hakbang 2: Assembly

Ipasok ang 1x4 Keypad Header Pins sa iyong breadboard at lugar 1 jumper cable nang direkta sa harap ng bawat pin ng header.

(kaliwa papuntang kanan)

Ang unang wire ay dapat na konektado sa isang GRND Pin sa iyong Arduino.

Ang 2nd, 3rd, 4th, at 5th wire ay dapat na konektado sa 4 Digital Pins sa iyong Arduino. Upang panatilihing simple, pinili ko ang pin 9-12

  • Digital Pin # 9, magiging # 1 key sa iyong keypad
  • Digital Pin # 10, magiging # 2 key sa iyong keypad
  • Digital Pin # 11, magiging # 3 key sa iyong keypad
  • Digital Pin # 12, magiging # 4 key sa iyong keypad.

I-verify ang iyong mga koneksyon.

Hakbang 3: Code

Ilagay ang sumusunod sa isang walang laman na Arduino Sketch & I-save ito. Magpatuloy sa Susunod na Hakbang para sa mga paliwanag.

/*

1x4 Keypad mula sa Adafruit.com (Di-opisyal na Pinagmulan) Orihinal na Pinagmumulan: Pindutan Reference Tutorial sa Arduino.com: http://arduino.cc/en/Tutorial/InputPullupSerial Referenced:

Buksan at patayin ang tinukoy na Pin o Mga Kopya sa Serial Monitor kapag ang mga pindutan ay pindutin sa isang 1x4 keypad mula sa Adafruit.com

Ang (OLD) na circuit: * LED na naka-attach mula sa pin 13 hanggang sa lupa * Ang pushbutton na naka-attach sa pin 2 mula sa + 5V * Ang pushbutton na naka-attach sa pin 3 mula sa 5V * 10K risistor na naka-attach sa pin 2 mula sa lupa

Ang (NEW) circuit (2014):

* Ang alinmang sangkap na nais mong naka-attach sa Pin 13 (eg- LED) * 1x4 Keypad w / pangunahing pin na naka-attach sa Ground at 1-4 key na nakalakip sa PINS 9-12 * Serial Monitor na ginagamit para sa output (para sa pagsubok, kapag hindi gumagamit ng anumang bagay na nakalakip sa Pin 13)

* Tandaan:

nilikha 2005 sa pamamagitan ng DojoDave binago 30 Agosto 2011 sa pamamagitan ng Tom Igoe binago 10 Abril 2012 sa pamamagitan ng mpilchfamily na-modify Disyembre 8, 2014 sa pamamagitan ng C Cunningham

*

/ constants ay hindi magbabago. Ang mga ito ay ginagamit dito upang / / itakda ang mga numero ng pin: const int buttonPin = {9,10,11,12}; // ang bilang ng pushbutton pins const int ledPin = 13; // ang bilang ng LED pin

// magbabago ang mga variable: int buttonState = 0; / / variable para sa pagbabasa ng katayuan ng pushbutton

walang bisa setup () {/ / magpasimula ng LED pin bilang isang output: pinMode (ledPin, Output); / / magpasimula ng Serial Monitor @ 9600 Serial.begin (9600); / initialize ang keypad pin (s) bilang isang input: para sa (int x = 0; x <2; x ++) {pinMode (buttonPin x, INPUT_PULLUP); }}

void loop () {// basahin ang estado ng halaga ng keypad: para sa (int x = 0; x <2; x ++) {/ / nagpapahiwatig ng estado kung saan ang pindutan ay nasa pamamagitan ng pagbabasa ng angkop na pin # buttonState = digitalRead (buttonPin x);

/ / suriin kung ang pushbutton sa keypad ay pinindot. // Kung ito ay, ang buttonState ay LOW: if (buttonState == LOW && buttonPin x == 9) {// turn LED off: Serial.print ("OFF *"); // digitalWrite (ledPin, LOW); } kung (buttonState == LOW && buttonPin x == 10) {// turn LED off: Serial.print ("ON *"); // digitalWrite (ledPin, LOW); }}}

Hakbang 4: Tapos ka na!

I-verify at I-compile, I-upload, at Buksan ang iyong Serial Monitor. Pindutin ang iyong mga pindutan. Ginamit ko lang ang mga pindutan 1 & 2 para sa ON / OFF Function. Maaaring mapalawak ang code upang gumawa ng iba pang mga cool na bagay na may..