• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sterowanie LED przyciskami
#1
Przede wszystkim witam wszystkich.
Niedawno wszedłem w świat Arduino i jego programowania ponieważ chciałem stworzyć sobie kontroler do pc i o ile samo projektowanie jego wyglądu oraz budowa nie sprawiają mi żadnej trudności o tyle na programowaniu trochę poległem. Mój problem polega na tym że za Chiny ludowe nigdzie nie mogę znaleźć informacji jak sprawić aby dioda LED podpięta pod Arduino świeciła po wciśnięciu przycisku. Jak to dokładnie miało by wyglądać:
Pod pin 12 oraz 11 mam podpięte przyciski
Pin 13 to dioda
Po naciśnięciu pinu 12 dioda się zapala i nie gaśnie po puszczeniu dopiero ponowne naciśnięcie ja gasi oraz może ją zgasić naciśnięcie pinu 11.
Czy mógł by mi ktoś podpowiedzieć jak to zaprogramować? Albo chociaż czego szukać?
Do przycisków wykorzystuje INPUT_PULLUP
Z góry dziękuję za podpowiedź

Wymyśliłem coś takiego do sterowania i o ile przycisk 12 diodę zapala i gasi idealnie a przycisk 11 tylko ja gasi. To w grze przycisk 11 działa równie idealnie a przycisk 12 nie bardzo. Diodą owszem steruje ale nie za każdym razem łapie w grz
Kod:
// Simple example application that shows how to read four Arduino
// digital pins and map them to the USB Joystick library.
//
// Ground digital pins 9, 10, 11, and 12 to press the joystick
// buttons 0, 1, 2, and 3.
//
// NOTE: This sketch file is for use with Arduino Leonardo and
//       Arduino Micro only.
//
// by Matthew Heironimus
// 2015-11-20
//--------------------------------------------------------------------

#include <Joystick.h>

Joystick_ Joystick;

void setup() {
  // Initialize Button Pins
  pinMode(9, INPUT_PULLUP);
  pinMode(10, INPUT_PULLUP);
  pinMode(11, INPUT_PULLUP);
  pinMode(12, INPUT_PULLUP);
  pinMode(13, OUTPUT);

  // Initialize Joystick Library
  Joystick.begin();
}

// Constant that maps the phyical pin to the joystick button.
const int pinToButtonMap = 9;

// Last state of the button
int lastButtonState[4] = {0,0,0,0};

boolean stan=0; //prawda lub fałsz
void loop() {

  // Read pin values
  for (int index = 0; index < 4; index++)
  {
    int currentButtonState = !digitalRead(index + pinToButtonMap);
    if (currentButtonState != lastButtonState[index])
    {
      Joystick.setButton(index, currentButtonState);
      lastButtonState[index] = currentButtonState;
    }
  }

  delay(50);

//Moje dodatki
if(digitalRead(12) == LOW)//Odczytanie stanu przycisku
  {
    delay(20);
    stan=!stan;//Odwrotnosc stanu 0->1 badz 1->0
    digitalWrite(13,stan);
    while(digitalRead(12) == LOW);
    delay(20);
  }
  if(digitalRead(11) == LOW)//Odczytanie stanu przycisku
  {
    delay(20);
    stan=0;//Zmienia stan na 0
    digitalWrite(13,stan);
    while(digitalRead(12) == LOW);
    delay(20);
}
}
 
Odpowiedź
  


Wiadomości w tym wątku
Sterowanie LED przyciskami - przez LittleKing - 29-06-2021, 11:52
RE: Sterowanie LED przyciskami - przez kaczakat - 04-07-2021, 19:31
RE: Sterowanie LED przyciskami - przez LittleKing - 13-07-2021, 10:30
RE: Sterowanie LED przyciskami - przez kaczakat - 15-07-2021, 22:14

Skocz do:


Przeglądający: 1 gości