Znaleziono 1634 wyniki

autor: stiven
wczoraj, 14:02
Forum: Jak to zrobić?
Temat: Program na Arduino/Prośba o pomoc/ Przekaźnik
Odpowiedzi: 23
Odsłony: 6235

Re: Program na Arduino/Prośba o pomoc/ Przekaźnik

Dokładnie mówiąc, int to typ danych, nie funkcja. Funkcja to coś innego. Ja na własne potrzeby daje typy odpowiednie, ale ze względu na to, że właśnie najczęściej int jest wszędzie używany w przypadku arduino, to ja na forum też już staram się używać int, żeby nie wprowadzać niepotrzebnego zamieszan...
autor: stiven
23 maja 2020, 12:56
Forum: Jak to zrobić?
Temat: Program na Arduino/Prośba o pomoc/ Przekaźnik
Odpowiedzi: 23
Odsłony: 6235

Re: Program na Arduino/Prośba o pomoc/ Przekaźnik

Dopisałem trochę komentarzy do kodu, może łatwiej będzie zrozumieć. Zauważyłem, że w tym pierwszym kodzie trzeba przenieść jedną linijkę, bo tak jak tam wcześniej było, to kiedy minie określony czas do sprawdzenia czy spadła wilgotność, a by nie spadła, to kolejne sprawdzenie nie byłoby po określony...
autor: stiven
22 maja 2020, 21:14
Forum: Jak to zrobić?
Temat: Program na Arduino/Prośba o pomoc/ Przekaźnik
Odpowiedzi: 23
Odsłony: 6235

Re: Program na Arduino/Prośba o pomoc/ Przekaźnik

Stiven. Czy mi się wydaje, czy przed if (digitalRead(klik) == LOW) brakuje złapania aktualnej wartości millis()? Nie, nie brakuje. Zapis wartości z millis() do zmiennej time i dodanie odpowiedniej wartości do opóźnienia jest wewnątrz tego ifa, który podałeś. I tylko wtedy, kiedy ten if się wykona j...
autor: stiven
22 maja 2020, 10:47
Forum: Jak to zrobić?
Temat: Program na Arduino/Prośba o pomoc/ Przekaźnik
Odpowiedzi: 23
Odsłony: 6235

Re: Program na Arduino/Prośba o pomoc/ Przekaźnik

#include<Timers.h> int klik = A3; int PK1 = A1; int statePK1 = HIGH; int previous = HIGH; int stan = 1; unsigned long time = 0; Timer Zraszacz; void setup() { pinMode(klik, INPUT_PULLUP); pinMode(PK1, OUTPUT); Zraszacz.begin((SECS(1)); //docelowo 15min } void loop() { if (Zraszacz.available()) //if...
autor: stiven
27 kwie 2020, 10:34
Forum: Jak to zrobić?
Temat: Arduino Uno
Odpowiedzi: 86
Odsłony: 4220

Re: Arduino Uno

int licznik, stateplus, stateminus ; int PWM0 = 0; int PWM1 = 25; tu masz, licznik i stareplus/stareminus nie maja przypisanej wartosci pocztkowej najlepiej jawnie wpisac im 0 podobnie jak. nizej masz dla pwm0 i pwm1 Wysłane z mojego MI MAX przy użyciu Tapatalka A to że nie mają przypisanych tych w...
autor: stiven
26 kwie 2020, 19:59
Forum: Jak to zrobić?
Temat: Arduino Uno
Odpowiedzi: 86
Odsłony: 4220

Re: Arduino Uno

To

Kod: Zaznacz cały

if (licznik > 10) {licznik = 0;} if (licznik < 0){licznik = 10;}
zamień na

Kod: Zaznacz cały

if (licznik > 10) {licznik = 10;} if (licznik < 0){licznik = 0;}
autor: stiven
26 kwie 2020, 19:40
Forum: Jak to zrobić?
Temat: Arduino Uno
Odpowiedzi: 86
Odsłony: 4220

Re: Arduino Uno

Bez tej linijki ma być

Kod: Zaznacz cały

if (stateplus == LOW) {licznik++;} if (stateminus == LOW) {licznik--;}
bo to ma być teraz zamiast tamtego

Kod: Zaznacz cały

if (stateplus == LOW && blokada1 == 0) 
{
  licznik++;
  blokada1 = 1;
} 

if (stateminus == LOW && blokada2 == 0) 
{
  licznik--;
  blokada2 = 1;
}
autor: stiven
26 kwie 2020, 19:11
Forum: Jak to zrobić?
Temat: Arduino Uno
Odpowiedzi: 86
Odsłony: 4220

Re: Arduino Uno

Lepiej to zrobić programowo, a podłączyć przycisk bezpośrednio pod pin bez dodatkowych elementów. byte blokada1 = 0; //zadeklarowane przed loop() byte blokada2 = 0; //zadeklarowane przed loop() stateplus = digitalRead(buttonplus); stateminus = digitalRead(buttonminus); if (stateplus == LOW && blokad...
autor: stiven
23 kwie 2020, 01:18
Forum: Ogólne
Temat: Potrzebujesz pomocy w pomiarze napięcia
Odpowiedzi: 5
Odsłony: 675

Re: Potrzebujesz pomocy w pomiarze napięcia

Ja to zrozumiałem tak, że bretaincrab3 chce mierzyć napięcie akumulatora, ale obawia się, że ze względu na to, że z akumulatora może popłynąć większy prąd niż 40 mA na pin arduino, to będzie to szkodliwe. Dlatego pomyślał o dołożeniu rezystora, żeby ograniczyć prąd, no ale spadek napięcia na rezysto...
autor: stiven
22 kwie 2020, 00:28
Forum: Jak to zrobić?
Temat: Arduino Uno
Odpowiedzi: 86
Odsłony: 4220

Re: Arduino Uno

analogWrite(pin, wartość); i w miejscu, gdzie ma być wartość, wpisujesz albo wartość liczbową 0-255, albo wpisujesz zmienną, która będzie miała odpowiednią wartość analogWrite(pin, 128); int zmienna = 128; analogWrite(pin, zmienna); Z tego co znalazłem, to po prostu piny 3, 9, 10, 11 w arduino uno ...
autor: stiven
16 kwie 2020, 11:56
Forum: Problemy
Temat: Arduino Nano - nie działa PWM
Odpowiedzi: 2
Odsłony: 427

Re: Arduino Nano - nie działa PWM

No tak to właśnie ma wyglądać. Na pinie PWM reguluje się wypełnienie przebiegu kwadratowego, czyli jak długo w każdym okresie przebiegu ma być stan niski i wysoki. A miernik podaje wartość skuteczną dla przebiegów zmiennych, dlatego w praktyce na mierniku będzie odczytywana wartość między 0-5V w zal...
autor: stiven
1 kwie 2020, 10:25
Forum: Jak to zrobić?
Temat: Wypisywanie wartości z tablicy względem godziny
Odpowiedzi: 1
Odsłony: 550

Re: Wypisywanie wartości z tablicy względem godziny

Ale wykorzystanie tablicy niczego nie zmieni, i tak będziesz musiał napisać program tak samo korzystając z ifów. if(/*godzina 5:00*/) Serial.println("aaaa"); if(/*godzina 12:44*/) Serial.println("bbbbbb"); if(/*godzina 15:01*/) Serial.println("ikjijki"); String tab[3] = {"aaaa", "bbbbbb" "ikjijki"};...
autor: stiven
19 lut 2020, 01:39
Forum: Problemy
Temat: Arduino zasilacz
Odpowiedzi: 2
Odsłony: 725

Re: Arduino zasilacz

Napięcie to masz 5V. 3A to maksymalny prąd/natężenie prądu jakie można pobrać z tego zasilacza. Nie przeszkadza to, że jest to 3A, arduino pobierze tyle ile potrzebuje. Ale musisz zasilacz podpiąć pod Vin i GND, nie pod wejście na zasilacz. Napięcie z tego wejścia zasilacza idzie na stabilizator, st...
autor: stiven
29 sty 2020, 14:34
Forum: Jak to zrobić?
Temat: Wysyłanie wyniku AT+CSQ do ThinkSpeak
Odpowiedzi: 4
Odsłony: 842

Re: Wysyłanie wyniku AT+CSQ do ThinkSpeak

Rzeczywiście można też skorzystać z biblioteki i substring(). Ale ogólnie korzystanie z komend AT jest na tyle proste, że ja jeszcze dodam wariant bez biblioteki a z wykorzystaniem substring(). Teraz wystarczy zadeklarować globalnie (albo w loop()) tylko jedną nową zmienną String gsm; a pozostałe zm...
autor: stiven
29 sty 2020, 10:58
Forum: Jak to zrobić?
Temat: Przyciski RPI
Odpowiedzi: 1
Odsłony: 401

Re: Przyciski RPI

Skoro masz zrobione przyciski ze zwarciem do masy, to robisz podciągnięcie pinu przez rezystor do plusa zasilania (pull up), a nie dajesz go tak jak robiłeś, między przycisk a masę. https://sites.google.com/site/qeewiki/_/rsrc/1290470006543/books/avr-guide/digital-inputs/2.1%20-%20Figure%204.JPG Moż...
autor: stiven
29 sty 2020, 00:04
Forum: Jak to zrobić?
Temat: Wysyłanie wyniku AT+CSQ do ThinkSpeak
Odpowiedzi: 4
Odsłony: 842

Re: Wysyłanie wyniku AT+CSQ do ThinkSpeak

Zadeklaruj sobie przed setup() (jako zmienne globalne) zmienną typu char, tablicę typu char, oraz dwie zmienne typu int. char odp[20]; char znak; int i; int gsm; Funkcję printGSMreply() zapisz tak void printGSMreply() //Print GSM Status { i = 0; while (MySerial.available()) { znak = MySerial.read();...
autor: stiven
22 sty 2020, 19:52
Forum: Problemy
Temat: Inkrementacja zmiennej
Odpowiedzi: 104
Odsłony: 50812

Re: Inkrementacja zmiennej

https://botland.com.pl/pl/803-zawory Jak patrzę na te zawory, to one niewiele się różnią, poza złączami do podłączenia wody, więc wybór będzie zależał od możliwości połączenia. Każdy jest sterowany napięciem 12V i bez podania napięcia zawór jest zamknięty. Podanie napięcia otwiera zawór. Dlatego, że...
autor: stiven
20 sty 2020, 22:05
Forum: Problemy
Temat: Inkrementacja zmiennej
Odpowiedzi: 104
Odsłony: 50812

Re: Inkrementacja zmiennej

Zmienna z aktualną ilością impulsów jest zerowana co sekundę, ale wcześniej jest dodawana ich wartość po przeliczeniu do innych zmiennych i te zmienne są brane pod uwagę przy warunku do zablokowania programu. Musisz mieć źle podłączony przycisk, bo program wchodzi w blokadę, ale sam wychodzi, widać ...
autor: stiven
20 sty 2020, 14:27
Forum: Jak to zrobić?
Temat: Zamek szyfrowy Arduino - błąd kompilacji
Odpowiedzi: 3
Odsłony: 707

Re: Zamek szyfrowy Arduino - błąd kompilacji

Ja znalazłem, że przy tego typu błędach czasami wystarczy zrestartować arduino ide, dodatkowo można też zrestartować komputer. Dodatkowo, jeśli to jest arduino ide pobrane z microsoft store windowsa 10, to tego typu błędy tam są częste i zalecane jest używanie zwykłej wersji, niż tej metro windowsa ...
autor: stiven
20 sty 2020, 14:19
Forum: Problemy
Temat: Inkrementacja zmiennej
Odpowiedzi: 104
Odsłony: 50812

Re: Inkrementacja zmiennej

Hej, "przepływ wody" testuję poprzez dmuchanie w czujnik :) narazie tylko tak sprawdzam czy jak leci i dojdzie do wartości czy program się zatrzyma. Próbowałem Twój kod ( po zmianie wartości 2.25 na 1.65) nadal nie blokuje programu po osiągnięciu wartości podaje w if. I nie wiem czemu miałem głupie...
autor: stiven
18 sty 2020, 12:38
Forum: Problemy
Temat: Inkrementacja zmiennej
Odpowiedzi: 104
Odsłony: 50812

Re: Inkrementacja zmiennej

I jak? Możesz zobaczyć czy lepiej będzie przy tak napisanym programie int flowPin = 2; //This is the input pin on the Arduino double flowRate; //This is the value we intend to calculate. volatile int count; //This integer needs to be set as volatile to ensure it updates correctly during the interrup...
autor: stiven
17 sty 2020, 12:32
Forum: Problemy
Temat: Inkrementacja zmiennej
Odpowiedzi: 104
Odsłony: 50812

Re: Inkrementacja zmiennej

Dziwne to jest. Nie może tak być, że zmiana wartości zmiennej w pierwszej linijce w ifie, występującej też w warunku ifa, powodowała, że już pozostała część ifa się nie wykona. Przenieś niżej to zerowanie, za linijkę z count = 0; może to coś zmieni. Widzę też po tych wartościach z seriala, że zerowa...
autor: stiven
16 sty 2020, 01:09
Forum: Problemy
Temat: Inkrementacja zmiennej
Odpowiedzi: 104
Odsłony: 50812

Re: Inkrementacja zmiennej

A zeruje się wartość aktualnego przepływu wyświetlana na serial? Jeśli tak, to może pinMode() nie dodałeś, albo do tego pinu 3 od przycisku masz coś źle połączone, że jest od razu wyjście z while. Jeśli się nie zeruje, to sprawdź tak napisanego ifa if(p_razem_litrow > 30.0) //jeśli jednorazowy przep...
autor: stiven
14 sty 2020, 21:14
Forum: Problemy
Temat: Inkrementacja zmiennej
Odpowiedzi: 104
Odsłony: 50812

Re: Inkrementacja zmiennej

To zerowanie zmiennej jest dobrze tak. Tymi 25 litrami chyba nie ma się co przejmować. Na serialu zeruje się pewnie zliczanie? Nie ma pinMode() w setup() dla pinu z przyciskiem, to pewnie dlatego program nie zatrzymuje się. Dodaj i powinno już być już dobrze. pinMode(przycisk, INPUT_PULLUP); EDIT Pi...
autor: stiven
14 sty 2020, 13:55
Forum: Problemy
Temat: Inkrementacja zmiennej
Odpowiedzi: 104
Odsłony: 50812

Re: Inkrementacja zmiennej

No to może zrobić dodatkowe trzecie zliczanie, które będzie zliczaniem ciągłego przepływu, ale w momencie jeśli w danej sekundzie nie będzie w ogóle przepływu, to zliczanie do 30 litrów zacznie się od nowa? int flowPin = 2; //This is the input pin on the Arduino double flowRate; //This is the value ...

Strony partnerskie: