• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Stan maszyn na hali produkcyjnej...
#1
Witam 
Jestem początkującym. Podjołem się projektu ustalającego stan maszyn na hali (czy dana maszyna pracuje czy też stoi, dodatkowe informacje czy ma awarie czy też może jest przezbrojenie maszyny). Chciałbym jeszcze zapisywać i wysyłać stan licznika wpisywanego przez operatora.  Projekt opieram na Arduino Mega 2560 wyświetlaczu LCD 16x2 i klawiatury  KeyPad 4x4. Cele główne zgrać klawiaturę z wyświetlaczem  tz. Jeśli nacisnę przycisk "A" wyświetli się np. komunikat na wyświetlaczu "Maszyna Aktywna". Przycisk "B" - "Brak Operatora". Itd. wpisywanie licznika cykli np.w drugiej linijce zarówno na wyświetlaczu jak i w serial monitorze. Cele poboczne wysyłanie wszystkiego w czasie rzeczywistym na server.
Co do kodu wgrałem dwie biblioteki od lcd i keypad wszystko działa poprawnie.
Proszę o pomoc co dalej.
Oto kod
Kod:
#include <LiquidCrystal.h>

LiquidCrystal lcd(30, 31, 32, 33, 34, 35);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  lcd.print(".....");
  lcd.blink(); 
  lcd.setCursor(0,1);
  lcd.print(".....");

  Serial.begin(9600);
  }


#include <Keypad.h>

const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
//define the cymbols on the buttons of the keypads
char hexaKeys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte rowPins[ROWS] = {22, 23, 24, 25}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {26, 27, 28, 29}; //connect to the column pinouts of the keypad
//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 


  
void loop(){
  char customKey = customKeypad.getKey();
  
  if (customKey){
    Serial.println(customKey);
  }
}
 
Odpowiedź
#2
Czy w skrócie: robisz coś za co bierzesz pieniądze i chcesz aby jakiś łoś napisał Ci cały program?
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
Odpowiedź
#3
Czyż arduino nie jest Open Scoure ?
Ma do tego dostęp każdy kto czyta?
I każdy może sobie coś takiego zrobić?
 
Odpowiedź
#4
Może zapytam inaczej : 
Jakiej biblioteki bądź jakiej komendy muszę użyć żeby po naciśnięciu klawisza na keyPad zostało to wyświetlone na wyświetlaczu LCD?
 
Odpowiedź
#5
Tutoriale: czytać, czytać...

Wysłane z mojego DRIVE przy użyciu Tapatalka
 
Odpowiedź
#6
Biblioteka do keypada wraz z opisem i przykładem jest tutaj. Jak dla mnie, niczego więcej (poza pomysłem, w jaki sposób to rozwiązać) nie potrzebujesz. Kiedy już do Arduino dotrze informacja z klawiatury, nie ma żadnego problemu, żeby ją wyświetlić, przetworzyć czy zrobić cokolwiek innego.
 
Odpowiedź
#7
Nie wiem jak poradzisz sobie z tym projektem gdy masz elementarne braki z podstawami (lcd) i problem z wyszukiwaniem informacji. Tu masz obsługę LCS: http://playground.arduino.cc/Main/LiquidCrystal

Wysłane z mojego DRIVE przy użyciu Tapatalka
 
Odpowiedź
#8
Dziękuje wszystkim za pomoc
 
Odpowiedź
#9
Mam coś takiego jak sobie wymyśliłeś a dokładniej licznik produkcyjny ( specyfikacja poniżej ) mogę pomóc , poświęciłem temu projektowi ponad 2 lata zaczynając od "blink" a że robisz to w celach zarobkowych więc na gotowca nie licz .

 STAN AKTUALNY

- zliczanie impulsów z czujników optycznego, magnetycznego, laserowego .
- częściowy ( karton, tacka , paleta)
- zmianowy ( automatyczne kasowanie o 13:30 , 21:30 , 5:30 )
- ogólny ( licznik stały nie ulega skasowaniu )
- wydajność przeliczana co 1 minutę
- DS1307 ( zegar RTC ) - zegar czasu rzeczywistego
- logi po szeregowym ( bluetooth ) - działa
- dodatkowa obsłóga 2-ch czujników 10-24V ( PNP )
- sterowane 4 wyjścia automatyki 24V / 6A , 1 zarezerwowane dla sygnalizacji optyczno - dźwiękowej
- alarm blokady butelki w maszynie
- logi do pamięci eeprom 24c512 zależne od wersji oprogramowania wystarcza na około 3500 zdarzeń
- interwał opóźniający zamiast zwłoki czasowej ( nie gubi butelek przy przypadkowym 2 krotnym odczycie 1 szt. )
- menu ustawień i kasowania dostępne dla operatora
- przywrócenie danych z bazy po zaniku zasilania
- komunikacja Radio nRF24L01 oraz bluetooth
- aplikacja mobilna na smartfona do obsługi zdalnej

---------------------------------------------------------------------

Funkcje sieciowe związane z rozszerzeniem o komunikację radiową
( dodatkowe moduły w licznikach + centralka )

- Komunikacja komputera z centralką poprzez przewód lub bluetooth
- Autosynchronizacja czasu
- Okresowe odczyty aktualnych danych ( do ustalenia )
- Dane na rządanie ( natychmiastowy odczyt stanu )
- Zrzut historii zdarzeń ( długi czas odczytu ok. 5 min tylko na postoju )
- Automatyczne wstawianie danych do arkusza kalkulacyjnego ( wymagany komputer z MS Office )
- Przeliczanie % wydajności aktualnej / założonej ( obliczenia MS Office )
- wizualizacja stanu na www

Dane pobierane

- Nr. Maszyny
- Aktualny status ( pracuje , zatrzymana - awaria , postój )
- Produkcja ( licznik zmianowy i ogólny )
- Wydajność aktualna ( Obliczanie co 1 min mogą być drobne rozbierzności )
- Data i czas odczytu
- Nr. operatora
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#10
(23-02-2017, 05:43)JasQ napisał(a): Mam coś takiego jak sobie wymyśliłeś a dokładniej licznik produkcyjny ( specyfikacja poniżej ) mogę pomóc , poświęciłem temu projektowi ponad 2 lata zaczynając od "blink" a że robisz to w celach zarobkowych więc na gotowca nie licz .

 STAN AKTUALNY

- zliczanie impulsów z czujników optycznego, magnetycznego, laserowego .
- częściowy ( karton, tacka , paleta)
- zmianowy ( automatyczne kasowanie o 13:30 , 21:30 , 5:30 )
- ogólny ( licznik stały nie ulega skasowaniu )
- wydajność przeliczana co 1 minutę
- DS1307 ( zegar RTC ) - zegar czasu rzeczywistego
- logi po szeregowym ( bluetooth ) - działa
- dodatkowa obsłóga 2-ch czujników 10-24V ( PNP )
- sterowane 4 wyjścia automatyki 24V / 6A , 1 zarezerwowane dla sygnalizacji optyczno - dźwiękowej
- alarm blokady butelki w maszynie
- logi do pamięci eeprom 24c512 zależne od wersji oprogramowania wystarcza na około 3500 zdarzeń
- interwał opóźniający zamiast zwłoki czasowej ( nie gubi butelek przy przypadkowym 2 krotnym odczycie 1 szt. )
- menu ustawień i kasowania dostępne dla operatora
- przywrócenie danych z bazy po zaniku zasilania
- komunikacja Radio nRF24L01 oraz bluetooth
- aplikacja mobilna na smartfona do obsługi zdalnej

---------------------------------------------------------------------

Funkcje sieciowe związane z rozszerzeniem o komunikację radiową
( dodatkowe moduły w licznikach + centralka )

- Komunikacja komputera z centralką poprzez przewód lub bluetooth
- Autosynchronizacja czasu
- Okresowe odczyty aktualnych danych ( do ustalenia )
- Dane na rządanie ( natychmiastowy odczyt stanu )
- Zrzut historii zdarzeń ( długi czas odczytu ok. 5 min tylko na postoju )
- Automatyczne wstawianie danych do arkusza kalkulacyjnego ( wymagany komputer z MS Office )
- Przeliczanie % wydajności aktualnej / założonej ( obliczenia MS Office )
- wizualizacja stanu na www

Dane pobierane

- Nr. Maszyny
- Aktualny status ( pracuje , zatrzymana - awaria , postój )
- Produkcja ( licznik zmianowy i ogólny )
- Wydajność aktualna ( Obliczanie co 1 min mogą być drobne rozbierzności )
- Data i czas odczytu
- Nr. operatora
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości