Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Programowanie Arduino, funkcja ''delay''.

01 Kwi 2012 04:36 2476 8
  • Poziom 11  
    Jestem początkującym w programowaniu, i mam problem z wstawieniem w odpowiednim miejscu funkcji ''delay'' w poniższym kodzie. Ma to działać tak że po naciśnięciu przycisku dioda zapali się na sekundę i zgaśnie. Komuś co w tym siedzi napewno zajmie tylko chwile a mi bardzo dużo pomoże. Kod znajduje się w bibliotekach Arduino pod nazwą Button.




    /*
    Button

    Turns on and off a light emitting diode(LED) connected to digital
    pin 13, when pressing a pushbutton attached to pin 2.


    The circuit:
    * LED attached from pin 13 to ground
    * pushbutton attached to pin 2 from +5V
    * 10K resistor attached to pin 2 from ground

    * Note: on most Arduinos there is already an LED on the board
    attached to pin 13.


    created 2005
    by DojoDave <http://www.0j0.org>
    modified 30 Aug 2011
    by Tom Igoe

    This example code is in the public domain.

    http://www.arduino.cc/en/Tutorial/Button
    */

    // constants won't change. They're used here to
    // set pin numbers:
    const int buttonPin = 2; // the number of the pushbutton pin
    const int ledPin = 13; // the number of the LED pin

    // variables will change:
    int buttonState = 0; // variable for reading the pushbutton status

    void setup() {
    // initialize the LED pin as an output:
    pinMode(ledPin, OUTPUT);
    // initialize the pushbutton pin as an input:
    pinMode(buttonPin, INPUT);
    }

    void loop(){
    // read the state of the pushbutton value:
    buttonState = digitalRead(buttonPin);

    // check if the pushbutton is pressed.
    // if it is, the buttonState is HIGH:
    if (buttonState == HIGH) {
    // turn LED on:
    digitalWrite(ledPin, HIGH);
    }
    else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
    }
    }
  • Poziom 17  
    A sam włożyłeś choć odrobinę wysiłku, żeby spróbować? Kod do mega skomplikowanych nie należy.
  • Poziom 11  
    Męcze się już z nim kilka dni ale za każdym razem mam błąd przy kompilacji. Więc postanowiłem napisać do was z prośbą pomocy mi w tym.
  • Pomocny post
    Poziom 37  
    Ja tam nie mam żadnego problemu żeby go skompilować, ściągnij sobie najnowszą wersje arduino, między 1.0 a wcześniejszymi trochę pozmieniał się kod. Ja mam 1.0 i wszystko działa
    Kod: c
    Zaloguj się, aby zobaczyć kod

    teraz dioda będzie się zapalać na sekundę. To jest podstawowy kod z example.
  • Poziom 11  
    Dzięki kolego teraz działa, ale mam jeszcze jeden mały kłopot a mianowicie. Jak zrobić że jeśli trzymam przycisk żeby dioda zgasła po sekundzie licząc od chwili naciśnięcia. Niestety teraz świeci ciągle dopóki nie puszczę.
  • Pomocny post
    Poziom 37  
    Usuń linijkę następną po delay(1000);
  • Poziom 11  
    Mam jeszcze jedno pytanie. Czy jest możliwość sterowania funkcją delay poprzez potenciometr że np. ustawie sobie zakres od 10do 20 milisekund a ta wartość będzie się zmieniała w zależności od ustawienia potenciometru. Jeszcze nie wiem czy będę potrzebował tego w swoim projekcie ale dobrze było by to wiedzieć na przyszłość czy jest to wykonalne. Dzięki za pomoc przynajmniej wiem gdzie popełniałem błąd.
  • Pomocny post
    Poziom 12  
    Wrzucasz wyjście potencjometru na wejście ADC i wartość przetwornika wrzucasz jako parametr funkcji delay na przykład z mnożnikiem ;) Pare linijek kodu.
  • Poziom 11  
    Dzięki wszystkim popróbuje i się okaże czy mi coś z tego wyjdzie. Temat uważam za zamknięty .