Skocz do zawartości

bakardi92

Użytkownicy
  • Zawartość

    19
  • Rejestracja

  • Ostatnio

Reputacja

5 Neutralna

O bakardi92

  • Ranga
    2/10

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. @SOYER Twoja szkoła w 100% najprostsza i najskuteczniejsza!!! Dzięki wielkie! Generalnie ten kawałek kodu który wstawiłeś wcześniej otworzył mi oczy na nowe możliwości, gdyby nie to to bym dalej z tym walczył. Czy masz może gdzieś kawałek kodu z wykorzystaniem tej biblioteki millis() ? Szukam, czytam i ciężko mi ogarnąć jak ją użyć w praktyce... A prawdopodobnie Twój kod po raz kolejny by mnie naprowadził na trop
  2. Więc tak udało mi się zrobić menu, a konkretnie kolejne screeny do wpisywania danych.Zobaczcie filmik. Koło kręci się raz w lewo raz w prawo. Czas kręcenia i stopu oczywiście ustala się na screenie. https://photos.app.goo.gl/bzjzZkpdUYvF5qov7 Mam ostatnie pytanie, czy macie pomysł jak zrealizować kręcenie kołem poprzez funkcję millis() a nie delay jak mam teraz? Delay blokuje mi kontroler na amen a millis pod tym względem byłby idealny. Oczywiście dodaję kod źródłowy, może komuś się przyda do budowy własnego menu. Całość postawiona na switch caseach. Kod jest dość niec
  3. Opisując z grubsza tak wygląda tabela (załącznik) każda kolumna to menu np 1 kolumna średnica koła, druga kolumna prędkość koła, czas pracy silnika itd. Każdy wiersz to odpowiednia wartość która będzie się znajdowała w menu. Czyli wybierająć średnicę np 200 będziemy mieć do wyboru zakres 2 prędkości 3km/h i 4 km/h (patrz tabela), po wybraninu prędkości wybieramy czas pracy silnika (tutaj będzie 3minuty z tego co widzę, ale ten czas będzie ustawiany już indywidualnie, czyli jakaś prosta zmienna która po naciśnięciu guzika zwiększa się o 1) itd. Tak jak widzisz
  4. Hmmm, bardzo bardzo sprytnie!! W programowaniu najbardziej podoba mi się że każdy problem można rozwiązać na 100 sposobów. Zawsze kiedy nie mogę czegoś rozwiązać myślę sobie że tego nie da się zrobić, a później widzę gotowy program który rozwiązuje mój problem używając zwykłuch funkcji i jest to czasami aż tak proste że nigdy bym tego nie wymyślił. Co do mojego przypadku miałbym do zrobienia jakieś 500 różnych funkcji do napisania jeżeli chciałbym zrobić to tak jak powinienem, a to byłoby baaardzo czasochłonne, wprowadzanie kolejnych zmian byłoby bardzo uciążliwę. Czy ewentualnie kto
  5. Witajcie, Mam do zrobienia projekt, w którym potrzebuje rozszeżyć swoją wiedzę o wiele nowych aspektów z którymi daję radę, ale jeżeli chodzi o aspekt budowy MENU kompletnie sobie z tym nie radzę.Menu ma wyglądać +- tak jak poniżej, będzie one jeszcz bardziej rozbudowane ale teraz głownie zależy mi na tym aby poznać sposób jak zbudować menu i jak później się po nim poruszać, jak cofnąć się do poprzedniej opcji, jak wybrać opcję itp... Wybierz średnicę: 75 80 100 125 (po wybraniu w/w opcji kolejne powinny pojawić się kolejne opcję) Wybierz teraz prędkość: 1 2 3 4
  6. Witajcie, Zmagam się z problemem, gdyż chciałem zrobić aby przy każdym naciśnięciu któregokolwiek przycisku (6 sztuk) był wydawany dźwięk. Nie chce używać funkcji delay(); gdyż blokuje ona cały układ, a muszę to zrobić poprzez millis(); Cały program po uruchomieniu czasami będzie pracował przez 14 godzin i w trakcie tych 14 godzin MUSI być możliwość pauzy, play czy stop. W jaki sposób mogę to zrobić poprzez funkcję millis(); ? Próbowałem już chyba na 100 różnych przykładów i nic mi się nie udało.... Tu jest mały przykład tego co chcę osiągnąć. Każde naciśnięcie to krótki
  7. Problem się znalazł. Miałem jeszcze inna biblioteke która mieszała wszystko stąd ten błąd. Dzięki za pomoc
  8. Panowie nie mam pojęcia gdzie leży błąd... Już nawet skopiowałem gotowy kod z kursu i nadal jest ten sam błąd przy kompilowaniu. Co jest nie tak?
  9. zadanie 9.3 - czy są sposoby aby ładniej zapisać ten długi kod z funkcji void wskaznik? pomijam opcję z pętlą for która zapala piny a następnie wszystkie gasi i tak w kółko. #define trigger 12 #define echo 11 void setup() { pinMode(trigger, OUTPUT); pinMode(echo, INPUT); Serial.begin(9600); pinMode(2, OUTPUT); for (int i = 10; i > 5; i--) { pinMode(i, OUTPUT); } } void loop() { wskaznik(); delay(25); } int odleglosc() { int czas = 0; digitalWrite(trigger, LOW); delayMicroseconds(2); digitalWrite(trigger, HIGH); delayMicroseconds(10); digitalWrite(tri
  10. zadanie domowe 8.3 String dane=""; int ile=0; void setup() { pinMode(13, OUTPUT); Serial.begin(9600); } void loop() { if(Serial.available()<=0) { dane=Serial.readStringUntil('\n'); ile=dane.toInt(); if(ile>9){ Serial.println("wpisz cyfre z zakresu 0-9"); }else{ for(int i=0; i<ile; i++){ Serial.print("*"); } Serial.print('\n'); } } } Zadanie 8.4 void setup(){ pinMode(10,OUTPUT);//regulacja PWM pinMode(9,OUTPUT); // sterowanie lewo prawo pinMode(8,OUTPUT); // sterowanie lewo prawo Serial.begin(9600); } void l
  11. Zadanie 7.4 #include <LiquidCrystal.h> #define S1 6 #define S2 7 int czas=1; byte blokada=0; bool blokadabool=0; LiquidCrystal lcd(12, 11, 5, 4, 3, 2); int foto=0; float napiecie=0; void setup(){ pinMode(S1,INPUT_PULLUP); pinMode(S2,INPUT_PULLUP); lcd.begin(16,2); lcd.setCursor(0,0); lcd.print("Stoper"); lcd.setCursor(0,1); lcd.print("S1 - START"); Serial.begin(9600); } void loop(){ if (digitalRead(S1)==LOW &&blokadabool==0){ blokada++; blokadabool=1; while (digitalRead(S1)==LOW){} } if (digitalRead(S2)==LOW){ bloka
  12. zadanie 6.2 - ogólnie trochę dziwnie to wygląda, ale rozumiem że zadanie jest typowo aby poznać zagadnienie w praktyce, bo nie wdaje mi się że będzie to najefektywniejsze wykorzystanie kodu. #define zielona 8 #define czerwona 9 String odebraneDane = ""; //Pusty ciąg odebranych danych byte kolor=0; void setup() { Serial.begin(9600); //Uruchomienie komunikacji pinMode(zielona, OUTPUT); //Konfiguracja wyjść pinMode(czerwona, OUTPUT); digitalWrite(zielona, LOW); //Wyłączamy diody digitalWrite(czerwona, LOW); } void loop() { if(Serial.available() > 0) { //Czy Ar
  13. Zadanie domowe 6.1 int licznik=0; // licznik przycisniec int foto1=0; //zmienna fotorezystora 1 int foto2=0;//zmienna fotorezystora 2 int potencjometr=0; // zmienna potencjometru void setup(){ Serial.begin(9600); pinMode(12,INPUT_PULLUP); } void loop(){ foto1=analogRead(A1); foto2=analogRead(A2); potencjometr=analogRead(A3); if (digitalRead(12) == LOW){ licznik++; Serial.print("Fotorezytor 1: "); Serial.print(foto1); Serial.print("\t Fotorezystor 2: "); Serial.print(foto2); Serial.print("\t Potencjmetr: "); Serial.print
  14. W sumie nie ma sensu, masz rację trzeba by to wrzucić do pętli IF która zbiera dane z portu szeregowego. Dzięki że wspominasz o takich szczegółach. Na pewno przy pisaniu bardziej skomplikowanych programów taki zapis będzie miał już większe znaczenie niż ma teraz, ale warto się uczyć dobrych nawyków programowania jak najszybciej. Jeszcz raz dzięki
  15. Dziękuję za odpowiedź, obecnie korzystam z thincercada i jestem zadowolony. Chciałem znaleźć symulator który by mi mówił krok po kroku którą czynność aktualnie wykonuję. Obecnie uczę się Arduino i czasami pewne rzeczy są dla mnie nie jasne a gdybym widział, co program robi po kolei łatwiej byłoby mi to przeanalizować. No nic pozostaje mi opcja z UART i wyświetlania danych przez usb. Dzięki za pomoc
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.