![](http://www.elektronika.lt/_sys/img/dot.gif) |
![](/_sys/img/dot.gif)
|
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 09 08, 07:35. Visos datos yra GMT + 2 valandos.
|
|
|
![](/_sys/img/box_ico.gif) |
Forumas » Mikrovaldikliai » Atlikti operaciją vieną kartą kai yra nuspaudžiams mygtukas
|
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
|
|
|
![](templates/elektronikalt/images/folder.gif) |
Atlikti operaciją vieną kartą kai yra nuspaudžiams mygtukas |
Parašytas: 2019 08 21, 00:03 |
|
|
|
lordas rašo: |
Kambaryje šviesą uždegti? Kur, kaip, su kuo, kokia schema.... |
Ne ne kambarį . Esmė tokia , kad nuspaudus tą mygtuką pradės veikti stepperis ir keletą servų. Nes esmė tame, kad tik įjungus arduino jis iškart viską pradeda daryti, bei tai ką padarė pakartoti. O man reikia kad jį įjungus jis realiai nieko nedarytų, o tik paspaudus push button pradėtų veikti visa komanda. |
|
|
|
|
![](/_sys/img/dot.gif) |
![](/_sys/img/dot.gif) |
![](templates/elektronikalt/images/folder.gif) |
Atlikti operaciją vieną kartą kai yra nuspaudžiams mygtukas |
Parašytas: 2019 08 21, 01:00 |
|
|
|
CR620 rašo: |
sopkls rašo: |
Mesk tą programavimą, jei be pagalbos tokio paprasto dalyko nesugebi padaryti |
Nerašyk jei nesugebi nieko protingiau atrašyt ... |
CR620 rašo: |
O man reikia kad jį įjungus jis realiai nieko nedarytų, o tik paspaudus push button pradėtų veikti visa komanda. |
O tai kur tavo protas? Po mikrovaldiklio įjungimo (POR) vykdoma programa nuo nulinio (RESET) vektoriaus. Tuo metu programos pradžioje visus portus nustatome į reikiamas IN ar OUT būsenas ir reikšmes, priskiriame pradines reišmes visiems kintamiesiems. Poto programa užsisuka uždarame cikle, belaukdama mygtuko papsaudimo, kad po paspaudimo vykdytų numatytus veiksmus. O jei tavo programa po įjungimo pradeda vykdyti komandas, kurių veikimui reiktų mygtuko paspaudimo, tai reiškia kažkurioje vietoje sudarant programą tavo algoritminis mąstymas suklydo arba yra per silpnas sudarinėti programas |
|
|
|
|
![](/_sys/img/dot.gif) |
![](templates/elektronikalt/images/folder.gif) |
Atlikti operaciją vieną kartą kai yra nuspaudžiams mygtukas |
Parašytas: 2019 08 21, 22:05 |
|
|
|
naudok kintamaji, programos veikimo metu (jei viskas sukasi while cikle) proceso veikimo metu priskirk reikšmę, visais kitais atvejais nedaryk nieko arba vykdyk kitas komandas:
Kodas: |
uint8_t kintamasis=0;
...
while(1)
{
....
if(kintamasis==0)
{
kintamasis=1;
//procesas, kuri reikia atlikti viena karta.
.....
}
....
}
|
P.S. čia tik bendram supratimui, nes daug kas keičiasi nuo pačios programos |
|
|
|
|
![](/_sys/img/dot.gif) |
![](templates/elektronikalt/images/folder.gif) |
Atlikti operaciją vieną kartą kai yra nuspaudžiams mygtukas |
Parašytas: 2019 08 21, 22:30 |
|
|
|
Na va maždaug gavosi, veikia taip kaip ir norėjau. Tik ateitį į komandą dar pridėsiu pora servų .
Dėkui visiems už pagalbą
Kodas: |
const int stepPin = 5;
const int dirPin = 2;
const int enPin = 8;
const int pin = 6;
int buttonState = 0;
void setup() {
pinMode(pin, INPUT);
digitalRead(pin); // nežinau ar šita eilutė reikalinga
pinMode(stepPin,OUTPUT);
pinMode(dirPin,OUTPUT);
pinMode(enPin,OUTPUT);
digitalWrite(enPin,LOW);
}
void loop() {
if (digitalRead(pin) == HIGH) { // jeigu paspaudžiu momentinį mygtuką tada vykdoma komanda veiksmas
veiksmas();
}
}
void veiksmas() {
digitalWrite(dirPin,HIGH); // Enables the motor to move in a particular direction
// Makes 800 pulses for making one full cycle rotation
for(int x = 0; x < 800; x++) {
digitalWrite(stepPin,HIGH);
delayMicroseconds(500);
digitalWrite(stepPin,LOW);
delayMicroseconds(500);
}
delay(1000); // One second delay
digitalWrite(dirPin,LOW); //Changes the rotations direction
// Makes 800 pulses for making two full cycle rotation
for(int x = 0; x < 800; x++) {
digitalWrite(stepPin,HIGH);
delayMicroseconds(500);
digitalWrite(stepPin,LOW);
delayMicroseconds(500);
}
delay(1000);
}
|
|
|
|
|
|
![](/_sys/img/dot.gif) |
![Atsakyti į pranešimą](templates/elektronikalt/images/lang_lietuviu/reply.gif) |
|
![](/_sys/img/dot.gif) |
|
![](http://www.elektronika.lt/_sys/img/box_ico.gif) |
Google paieška forume |
|
![](http://www.elektronika.lt/_sys/img/box_ico.gif) |
Naujos temos forume |
|
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
LEGO
Mänguköök,
mudelautod,
nukuvanker |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS25 Mods
FS25 Harvesters,
FS25 Tractors Mods,
FS25 Maps Mods |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
GTA 6 Weapons
GTA 6 Characters,
GTA 6 Map,
GTA 6 Vehicles |
|
![Reklama](http://www.elektronika.lt/_sys/img/rrr2.gif)
|
![Reklama](http://www.elektronika.lt/_sys/img/rrr1.gif) |