-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Vladi
nagyúr
Nos még dolgozom a projektemen.
Ott tartok, hogy a hardver kész, leteszteltem, működik. Beépítettem a végleges dobozába, még mindig működik.Kóddal bajlódtam mostanában, mindjárt mutatom mire jutottam. A feladat ugye az, hogy ketyeg egy számláló, mondjuk 20 másodperre állítva. Ha letelik az idő, akkor csinál egy kapcoslást egy relén. 100 ms-bekapcs, majd ki.
De van 2 gomb, az egyik azonnal kapcsol, majd nullázza a számlálót és kezdi elölről.
A másik gomb amíg nyomva van, addig pausálja a folyamatot.Kérdéseim:
- megszíktást használok külsőt a két gombra. Az jó -e ide? Mert más módon nem tudtam kitalálni a megoldást.
- a nyissz megszakításba kellene még egy számláló nullázás. Meg a delay helyett egy módszer. Mert úgy tudom megszakítás alatt nem használható.const int piros = 3; //3-es pinbe dugva az azonnali vágó kapcsoló
volatile const int mikro = 2; //2-as pinbe van a hurka csináló gomb.é
volatile int alapled = 13;
volatile const int rele = 6; // a kapcsoló relé.
const long vido = 19890; // EZ A LENYEG! Ez a vágási idő ciklus. kb 51 az 1 mm-t jelent. millisecundum egyébként.
long previousMillis = 0;
void setup() {
pinMode(piros, INPUT); // a 10-es piros az bemenet lett
pinMode(mikro, INPUT); // a nyócas hurkázó is bemenet
pinMode(alapled, OUTPUT);
pinMode(rele, OUTPUT); // relé a 6-on kimenet
Serial.begin(9600);
attachInterrupt(0, fuggo, LOW);
attachInterrupt(1, nyissz, CHANGE);
}
void loop(){
unsigned long currentMillis = millis();
if(currentMillis - previousMillis >= vido) {
previousMillis = currentMillis;
}// ??? e meg itt valahogy nem jó, át kell írni az időzítést és be kell gyűni az utána jövő kódot a blokkba.
digitalWrite(rele, HIGH);
delay(100);
digitalWrite(rele, LOW);
Serial.println("Vágtam, kövi.");
}
void fuggo(){
while (digitalRead(mikro) == LOW)
digitalWrite(alapled, HIGH);
}
void nyissz(){
digitalWrite(rele, HIGH);
delayMicroseconds(100000);// e lehet nem is jó :(
digitalWrite(rele, LOW);
Serial.println("Vágtam, kövi.");
//??? itt még nullázni kellene
}
Új hozzászólás Aktív témák
- BESZÁMÍTÁS! Apple MacBook Pro 14 M4 MAX 36GB RAM 1TB SSD garanciával hibátlan működéssel
- Bomba ár! Dell Inspiron 7400 - i7-1165G7 I 8GB I 512SSD I 14,5" 2K I HDMI I Cam I W11 I Garancia!
- 13-14" Új és használt laptopok , üzletitől a gamerig , kedvező áron. Garanciával !
- ÁRGARANCIA! Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- DELL Universal Dock D6000 docking station (452-BCYH) (DisplayLink)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest