|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2024 11 30, 09:51. Visos datos yra GMT + 2 valandos.
|
|
|
|
Forumas » Mikrovaldikliai » Arduino readButton?
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
|
Arduino readButton? |
Parašytas: 2015 08 04, 16:40 |
|
|
|
Sveiki,
Iskilo klausimas, kaip nuskaityti mygtuko paspaudima viena karta.
Nors ir laikyciau mygtuka nuspaudes.
Tarkim nuspaudziu mygtuka ir kol neatleidziu negaunu sk 1.
Visus siuos nuskaitymus uzpostinam i serveri. Cia jau aisku. Bet neaisku kaip uzpostinti ne tol kol laikomas mygtukas, bet kai jau atleistas. |
|
_________________ Aš naudojau parašą reklamai |
|
|
|
|
Arduino readButton? |
Parašytas: 2015 08 04, 16:43 |
|
|
|
O tai kas trukdo nuskaičius kad mygtukas paspaustas laukti jo atleidimo? |
|
|
|
|
|
Arduino readButton? |
Parašytas: 2015 08 04, 16:48 |
|
|
|
Gal supaprastinsiu ko man reikia.
Yra foto daviklis (Barjeras)
Man reikia uploadinti duomenis i serveri:
Kiek masinu ir kiek laiko po tuo barjeru stovejo. |
|
Paskutinį kartą redagavo mantelis, 2015 08 04, 17:13. Redaguota 1 kartą _________________ Aš naudojau parašą reklamai |
|
|
|
|
Arduino readButton? |
Parašytas: 2015 08 04, 17:12 |
|
|
|
Visų pirma tai nelabai įkertu kokiom kalbom tu rašai. Visų antra mokykis programuoti pagal algoritmus - gavai kad paspaustas mygtukas, darai veiksmą kad paspaustas, pasižymi ir lauki kol bus atleistas, gavai - vėl reikiamas veiksmas kad atleista. O ne kažkokie serveriai, uplaudina ir tt. |
|
|
|
|
|
Arduino readButton? |
Parašytas: 2015 08 04, 17:28 |
|
|
|
Paprastas dalykas. Nuspausto mygtuko atsakyma ikelti i serveri.
Bet man nedaeina kaip ikelti tik tada kai reikia o ne pastoviai.
Tarkim nuspaudziau, suskaiciavau kiek laiko jis buvo nuspaustas ir padarau post i serveri, viskas, ir tada vel laukiu kol bus nuspaustas. |
|
_________________ Aš naudojau parašą reklamai |
|
|
|
|
Arduino readButton? |
Parašytas: 2015 08 04, 17:46 |
|
|
|
arduino tiek paprastas kad informacijos pilna net ir pačiam nekuriant kodo :
jums panašiai to reikia:
Button State Change
jei nefiltruosi su komponentais triukšmų tai papildomai reikia ir šito:
Debounce
kad nebūtų pradinių paspaudimo momentų kelių paspaudimų.
toliau ko reikia pasipildai pats ar counter ar kažko kito... arba savo kodą redaguoji pridedamas tokios pat teorijos(mygtuko paspaudimo) programa arba pats sumąstai kaip padaryti ir parašai kodą. |
|
|
|
|
|
|
Arduino readButton? |
Parašytas: 2015 08 04, 17:52 |
|
|
|
Kodas: |
#define BUTTONS 2
#define DEBAUNCE_DELAY 50
const uint8_t buttonPins[BUTTONS] = {2, 3};
const uint8_t ledPin = 13;
void setup() {
for(uint8_t i=0; i<BUTTONS; i++)
pinMode(buttonPins[i], INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
processButtons();
// ...
}
void onButtonPressed(uint8_t button) {
if (1 == button) {
digitalWrite(ledPin, HIGH);
} else
if (2 == button) {
}
}
void onButtonReleased(uint8_t button) {
if (1 == button) {
digitalWrite(ledPin, LOW);
} else
if (2 == button) {
}
}
void processButtons() {
static uint8_t lastButtonState[BUTTONS] = {0, 0};
for(uint8_t button=0; button<BUTTONS; button++) {
uint8_t currentButtonState = !digitalRead(buttonPins[button]);
if (currentButtonState != lastButtonState[button]) {
delay(DEBAUNCE_DELAY);
if (currentButtonState == !digitalRead(buttonPins[button])) {
lastButtonState[button] = currentButtonState;
if (!currentButtonState) onButtonReleased(button+1);
else onButtonPressed(button+1);
}
}
}
}
|
|
|
|
|
|
|
|
Arduino readButton? |
Parašytas: 2015 08 04, 18:01 |
|
|
|
mantelis rašo: |
Paprastas dalykas. Nuspausto mygtuko atsakyma ikelti i serveri.
Bet man nedaeina kaip ikelti tik tada kai reikia o ne pastoviai.
Tarkim nuspaudziau, suskaiciavau kiek laiko jis buvo nuspaustas ir padarau post i serveri, viskas, ir tada vel laukiu kol bus nuspaustas. |
Ieskok kada keiciasi busena, o ne registruok kada ji jau pasikeitusi. Tau reikia "edge detect".
Pirmas google hit'as ieskant "Arduino button state change".
EDIT:
nebuvau refreshines puslapio pries atsakant, tai ziuriu jau kolegos prirase sprendimu auksciau... |
|
|
|
|
|
|
Google paieška forume |
|
|
Naujos temos forume |
|
|
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
|
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
|
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
|
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
|
LEGO
Mänguköök,
mudelautod,
nukuvanker |
|
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope |
|
FS25 Mods
FS25 Harvesters,
FS25 Tractors Mods,
FS25 Maps Mods |
|
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
|
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
|
GTA 6 Weapons
GTA 6 Characters,
GTA 6 Map,
GTA 6 Vehicles |
|
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
|
|
|