Skocz do zawartości

Gibcio2020

Użytkownicy
  • Zawartość

    15
  • Rejestracja

  • Ostatnio

Reputacja

2 Neutralna

O Gibcio2020

  • Ranga
    2/10
  • Urodziny 09.03.1994

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Rzeszów
  • Języki programowania
    PHP, SQL,JavaScript
  • Zainteresowania
    Kuchnia, majsterkowanie
  • Zawód
    Magazynier

Ostatnio na profilu byli

91 wyświetleń profilu
  1. #include <LiquidCrystal.h> #define TRIGGER 23 // Trigger Pin #define ECHO A7 // Echo Pin const int RS = 34, EN = 35, D4 = 30, D5 = 31, D6 = 32, D7 = 33; LiquidCrystal lcd(RS, EN, D4, D5, D6, D7); //---------------------------------------------- struktura menu -------------------------------------------------------// typedef struct { String label; // Nazwa pozycji w menu, submenu int option; // Typ menu: 1 - action, 2 - Submenu int subMenuHandle; // Wskaznik do submenu void (*handler)(); // Wskaznik do funkcji } MENU; MENU menu[1]; int menuPosition = 0; // Aktualnie wybrana pozycja w menu int menuSize; // Rozmiar menu boolean menuLowerLevel = false; // Informuje czy menu glowne typedef struct { String label; // Nazwa pozycji w submenu int option; // Typ podmenu int handle; // Wskaznik void (*handler)(); // Wskaznik do funkcji } SUBMENU; SUBMENU subMenu[0]; // Ilosc pozycji w menu int subMenuPosition = 0; // Aktualnie wybrana pozycja w sub menu int subMenuSize; // Rozmiar sub menu boolean subMenuLowerLevel = false; // Informuje czy sub menu glowne boolean subMenuEnter = false; int dystans; void setup() { Serial.begin(9600); lcd.begin(16, 2); menu[0] = {"Robot", 1, 0, Odleglosc}; menuSize = sizeof(menu) / sizeof(MENU); subMenuSize = sizeof(subMenu) / sizeof(SUBMENU); } void loop() { int odczyt_key = analogRead(0); static int isPressedSince = 0; static unsigned long lastRead = 0; if(odczyt_key > 1000 && lastRead > 0) { isPressedSince = 0; return; } isPressedSince++; lastRead = millis(); lcd.home(); lcd.clear(); if(menuLowerLevel == false) { lcd.print("Menu glowne: "); lcd.setCursor(0,1); if(menu[menuPosition].option != 1) { lcd.print("> "); } lcd.print(menu[menuPosition].label); } if(menuLowerLevel == true) { lcd.print(menu[menuPosition].label); lcd.setCursor(0,1); if(menu[menuPosition].option == 2) { if(menu[menuPosition].subMenuHandle == subMenu[subMenuPosition].handle) { lcd.home(); lcd.clear(); lcd.print(menu[menuPosition].label+": "); lcd.setCursor(0,1); lcd.print(subMenu[subMenuPosition].label); } } } // DOWN if(odczyt_key > 250 && odczyt_key < 450) { if(menuLowerLevel == true) { if(subMenuPosition < subMenuSize) { subMenuPosition = subMenuPosition + 1; } if(subMenuPosition == subMenuSize) { subMenuPosition = 0; } } if(menuLowerLevel == false) { if(menuPosition < menuSize) { menuPosition = menuPosition + 1; } if(menuPosition == menuSize) { menuPosition = 0; } } } // UP if(odczyt_key > 50 && odczyt_key < 250) { if(menuLowerLevel == true) { if(subMenuPosition > 0) { subMenuPosition = subMenuPosition - 1; } if(subMenuPosition == 0) { subMenuPosition = 0; } } if(menuLowerLevel == false) { if(menuPosition > 0) { menuPosition = menuPosition - 1; } if(menuPosition == 0) { menuPosition = 0; } } } // RIGHT if(odczyt_key < 50) { if(menu[menuPosition].option == 1) { menuLowerLevel = false; } if(menu[menuPosition].option == 2) { if(menu[menuPosition].subMenuHandle == subMenu[subMenuPosition].handle) { menuLowerLevel = true; } } } // LEFT if(odczyt_key > 450 && odczyt_key < 700) { if(menuLowerLevel == true) { menuLowerLevel = false; } if(menuLowerLevel == false) { menuLowerLevel = false; } } // SELECT if(odczyt_key > 700 && odczyt_key < 850) { lcd.home(); lcd.clear(); if(menuLowerLevel == true) { lcd.print(subMenu[subMenuPosition].label+": "); lcd.setCursor(0,1); } if(menuLowerLevel == false) { lcd.print(menu[menuPosition].label+": "); lcd.setCursor(0,1); if(menu[menuPosition].handler != NULL && menu[menuPosition].option == 1) { return(*(menu[menuPosition].handler))(); } } } // NULL if(odczyt_key < 1000) { } } void Odleglosc() { digitalWrite(TRIGGER, HIGH); digitalWrite(TRIGGER, LOW); int czas = pulseIn(ECHO, HIGH); dystans = czas / 58; }
  2. Witam ! Do stworzenia menu posłużyła mi strona: https://starter-kit.nettigo.pl/2017/04/menu-wyswietlaczu-16x2/, dorobiłem funkcję żeby pokazywała mi odległość mierzoną z czujnika odległościowego, odległość się pokazuje lecz się nie zmienia, w tym całym kodzie menu znajduje się fragment który sprawia że menu na lcd nie odświerza się na bierząco i to to jest przyczyną. Jak zakomentuję ten fragment kodu to z lcd nie da się nic zczytać, bo szybko mruga, jakby się zamazywał, może ktoś coś poradzić? Z góry dziękuje
  3. Witam w ten ponury dzień ! Mam pewien problem, a raczej brak wiedzy, kiedy podłącze żyroskop bezpośrednio pod magistrale I2C to wszystko działa dobrze, lecz chciałbym ten oto żyroskop podłączyć za pomocą tego multipleksera I2C, ale biblioteki typu MPU6050, nie są sobie w stanie z tym poradzić. Zrobiłem tak jak jest na tej stronie http://feriar-lab.pl/kurs-arduino-20-i2c/2/, układ nie reaguje. Za poradę z góry dziękuje
  4. Problem rozwiązany źle napisany scatch, trzeba było zastosować zanegowanie, dzięki wielkie
  5. "pin" jest napisane na szybko tutaj w scatch mam normalnie "wartosc", ale czy dam "int" czy "boolean" jeśli LED 2 się nie świeci, to po klaśnięciu powinno się zaświecić i nie gasnąć, a gaśnie i to bardzo szybko
  6. Witam w poniedziałkowy szary dzień ! Proglem jest albo ze scatchem albo pewnie coś jest źle podłączone, lub trzeba jakoś tym potencjometrem wyregulować Oto scatch: #define micPin A0 void setup() { pinMode(MicPin, INPUT); } void loop() { boolean pin = analogRead(MicPin); Serial.println(pin); } Oto czujnik Podłączam go do pinu analogowego A0 na arduino Dioda LED1 świeci się cały czas, kiedy dojdzie jakiś dźwięk zaświeci się i zgaśnie LED 2, wiadomość w konsoli jest "1", powinno się chyba przełączać co robię źle, proszę o pomoc, z góry dziękuje
  7. Witam ! Mam pytanie dotyczącące arduino uno oraz nakładki motorshield, czy da się jakoś zrobić przeróbkę albo wyprowadzić piny SCL i SLA z arduino do płytki stykowej gdy mam nałożony shield z góry dziękuje
  8. Moje kombinacje doprowadziły do uszkodzenia motor shield'u
  9. U każdego jest inaczej u mnie pobrane biblioteki zamieszczane są w Moje Dokument/Arduino/libraries
  10. Biblioteki instalowane wraz z Arduino znajdują się w katalogu gdzie zainstalowane jest Arduino w podkatalogu libraries np. C:\Program Files\Arduino\libraries.
  11. Witam wszystkich ! Pochodzę z Rzeszowa, na codzień pracuje jako magazynier, przygodę z arduino zacząłem niedawno raczej nie zawodowo tylko hobbistycznie, napotkałem problem i pewnie napotkam jeszcze więcej, dlatego postanowiłem się tutaj osiedlić zakładając konto, obecnie mam 35 latek. Pozdrawiam załogę forum i życzę wszystkiego dobrego na 2020 rok.
  12. Witam wszystkich ! Mam arduino UNO, moduł bluetooth AC-06 podłączone RX-TX oraz TX->RX, chciałbym uzyskać możliwość wysyłania napisanego skecza przez właśnie bluetooth żebym nie musiał ciągle podłączać się pod USB ale otrzymuję takie błędy avrdude: Version 6.3-20190619 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "C:\Program Files\Arduino\hardware\tools\avr/etc/avrdude.conf" Using Port : COM7 Using Programmer : arduino Overriding Baud Rate : 115200 avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xff avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xff avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xff avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xff avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xff avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xff avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xff avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xff avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xff avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xff avrdude done. Thank you. Podczas ładowania szkicu wystąpił błąd Z góry dziękuje
×
×
  • Utwórz nowe...