Liczba postów: 27
Liczba wątków: 7
Dołączył: Jan 2017
Reputacja:
-1
Witam
Chciałbym zrobić prosty układ który będzie liczył impulsy (obroty silnika) i jeśli impulsów będzie od powiedzmy 10-100 w czasie 1 sekundy to na jednym z wyjść będzie stan wysoki, jeśli impulsów bedzie mniej lub więcej to zmieni sie na stan niski.
Jak powinien wyglądać taki kod?
Liczba postów: 15
Liczba wątków: 1
Dołączył: Feb 2017
Reputacja:
1
17-02-2017, 19:00
(Ten post był ostatnio modyfikowany: 17-02-2017, 22:34 przez ESPERAL.)
(17-02-2017, 17:51)dawidd napisał(a): Jak powinien wyglądać taki kod?
Wielu by odpowiedziało estetycznie
Kod:
// Odczyt obrotów (RPM)
int rpm = 0; //Utworzenie zmiennej RPM (obroty)
unsigned long lastmillis = 0;
void rpm_silnika() { rpm++;}
void setup() {
pinMode(2, INPUT_PULLUP); //impulsatorem zwieranie do masy
pinMode(13,OUTPUT); //dioda
attachInterrupt(digitalPinToInterrupt(2), rpm_silnika, FALLING);
}
void loop() {
if (millis() - lastmillis >= 1000) {
lastmillis = millis(); noInterrupts();
if ((rpm >= 10) && (rpm <= 100)) { digitalWrite(13, HIGH);}
else{digitalWrite(13, LOW); } rpm=0; interrupts() ; }
}
Na programowaniu to się nie znam, ale w elektronice mogę pomóc
Liczba postów: 15
Liczba wątków: 1
Dołączył: Feb 2017
Reputacja:
1
(17-02-2017, 19:37)dawidd napisał(a): W elektronice sobie radze bez większych problemow, ale programowanie to dla mnie ciągle nie odkryta dziedzina
No to jest nas dwóch
Na programowaniu to się nie znam, ale w elektronice mogę pomóc
Liczba postów: 27
Liczba wątków: 7
Dołączył: Jan 2017
Reputacja:
-1
Wrzuciłem ten kod do płytki uno i jednak coś nie gra, dioda na pinie 13 cały czas świeci, bez względu czy do wejścia 2 jest cos podpięte czy nie. Co tu może nie grac?
Liczba postów: 15
Liczba wątków: 1
Dołączył: Feb 2017
Reputacja:
1
sprawdz teraz
Na programowaniu to się nie znam, ale w elektronice mogę pomóc
Liczba postów: 27
Liczba wątków: 7
Dołączył: Jan 2017
Reputacja:
-1
wygląda ze dział, sprawdzałem co prawda na 2 kabelkach i odbicia styków nie pozwalają sprawdzić dokładnie ale wygląda ze jest OK, Dzięki jeszcze raz