Skocz do zawartości

slon2005

Użytkownicy
  • Zawartość

    26
  • Rejestracja

  • Ostatnio

Reputacja

1 Neutralna

O slon2005

  • Ranga
    3/10

Ostatnio na profilu byli

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

  1. No to dzięki Wam już jestem na ukończeniu;) Wszystko się przesyła, ja nauczyłem się podstawy tablicy, a kody wyglądają przejrzyście. Myślę że już chyba ostatnie pytanie mam, czy przy użyciu nrf24 powinno się używać delaya, żeby nie rozpędzać arduino za bardzo? Jeżeli tak to przy nadawaniu powinien być delay, a przy odbieraniu już nie? Pytam, bo odczyty na odbiorniku są nieregularne. W tym projekcie akurat nie ma to żadnego znaczenia czy odświeży mi się za 0,1s czy za 10s ale, po prostu chciałbym wiedzieć czy można jakimś szczegółem to upiększyć, żeby pomiar był równo co 3-5 sekund i też tak sa
  2. @farmaceuta Tak zrobię, pierwszy raz będę to robił, czy w kwadratowym nawiasie ma być 5 czy 4, bo świeżo doczytałem że to od 0 się liczy, W nawiasie ta 20 to jest rozmiar, czy na przyszłość wystarczy jak wpiszę sizeof(tab)czy tak nie powinno się robić?
  3. Nadajnik: #include <OneWire.h> #include <DS18B20.h> #include "dht.h" #include <SPI.h> #include <nRF24L01.h> #include <RF24.h> RF24 myRF24 (7, 8); dht DHT22; #define ONEWIRE_PIN 5 #define DHT22PIN 2 OneWire onewire(ONEWIRE_PIN); DS18B20 sensors(&onewire); // Adres czujnika byte address1[8] = {0x28, 0xB4, 0x43, 0xED, 0x5C, 0x21, 0x1, 0x2D}; byte address2[8] = {0x28, 0x2A, 0x90, 0xD2, 0x5C, 0x21, 0x1, 0x4D}; byte address3[8] = {0x28, 0x19, 0xBC, 0xB9, 0X5C, 0x21, 0x1, 0x24}; void setup() { sensors.begin(); sensors.request(address1); sensors.request(
  4. Panowie, pojawił mi się kolejny problem tym razem w odbiorniku, przebrnąłem już przez batalię zasilania nrf, teraz wszystko działa, jednak wyniki wyświetlają mi się bardzo dziwnie, nadajnik składa się z arduino uno klona, 3 x DS10b20, jednego dht22, NRF24L01 ze wzmacniaczami i adaptery zasilające. Odbiornik to tylko NRF24L01 ze wzmacniaczem i oled SH1106. na odbiorniku podglądam wyniki pobrane z nadajnika i widzę 5 pozycji po kolei RH,T1,T2,T3,T4 i tylko w HR pojawiają się wyniki, ale.... w pierwszym przesyle jest to wynik RH w drugim przesyle w pozycji RH jest wynik z T1 w następnym przesyle
  5. Noooo Mistrzu... Nie wiem czy sam bym tego spróbował. Wrzuciłem na 3 pin i chodzi ! ! ! Dziękuję;)
  6. Korzystając z biblioteki kolegi farmaceuta stworzyłem taki kod #include <OneWire.h> #include <DS18B20.h> #include "dht.h" #include <SPI.h> #include <nRF24L01.h> #include <RF24.h> RF24 myRF24 (7, 8); byte address[6] = "00001"; dht DHT22; #define ONEWIRE_PIN 10 #define DHT22PIN 9 OneWire onewire(ONEWIRE_PIN); DS18B20 sensors(&onewire); // Adres czujnika byte address1[8] = {0x28, 0xB4, 0x43, 0xED, 0x5C, 0x21, 0x1, 0x2D}; byte address2[8] = {0x28, 0x2A, 0x90, 0xD2, 0x5C, 0x21, 0x1, 0x4D}; byte address3[8] = {0x28, 0x19, 0xBC, 0xB9, 0X5C, 0x21, 0x1, 0x24};
  7. Właśnie pobrałem i będę testował. Dodawałeś kondensator na nrf24?
  8. Dzięki za zainteresowanie tematem, faktycznie w tym kodzie co wstawiłem najpierw kazałem mu odczytać wynik, ale to już było po wielu kombinacjach. Sprawa wygląda tak, że mam kod do odczytywania wartości z czujników, wygląda on tak i wszystko działa na monitorze szeregowym. #include <OneWire.h> #include <DallasTemperature.h> #include "dht.h" OneWire oneWire(10); //Podłączenie do A5 DallasTemperature sensors(&oneWire); //Przekazania informacji do biblioteki dht DHT22; void setup(void) { Serial.begin(9600); sensors.begin(); //Inicjalizacja czujnikow } void loop(void) {
  9. Witam, mam problem z programem. Chcę odczytać temperatury z 3 czujników temperatury DS18B20 oraz temperaturę i wilgotność z dht22 oraz wysłać je przez nrf24L01 do innego arduino. Problem jest w tym że jak tylko w void setup dodam wszystkie pozycje od NRF to od razu DS18 pokazują -127 stopni. zamieniając miejscami w kodzie, czasem uzyskam efekt że przy pierwszym odczycie dobrze odczyta temperatury, a każdy kolejny nadal będzie miał -127 stopni. Czy one wzajemnie siebie blokują? czy jest szansa zastosować je w jednym projekcie? wartości odczytywałem w monitorze szeregowym tylko w nadającym ar
  10. Klawisz kasowania jest specjalnie na delay żeby jego przytrzymanie powtarzało kasowanie. Próbowałem dodawać else że jak jest pozycja 1 a czujnik to w pozycja zostaje 1. Jeżeli kolejność będzie inna to w sumie nic ma się nie dziać program ma czekać aż będzie właściwa. Czy powinienem wyjść z tym wszystkim z pętli loop i dopiero jak właściwy czujnik dostanie sygnał to wywołać własną pętlę? czy powinienem dodać pomocnicze wartości tak jak w kodzie PIN i jak czujnik zmieni stan to pomocnicza wartość zmieni się na właściwą. najbardziej by tutaj pasowała komenda if (pozycja ==1 &&
  11. Jestem z siebie dumny. Dziękuję BARDZO BARDZO BARDZO za pomoc, i nie chodzi tu o wykonanie zadania do pracy ale o przeskoczenie problemu który wydawał mi się bardzo skomplikowany. Jest na początku taki niesmak kiedy od fachowca nie dostajesz rozwiązania na tacy, ale później..... ten smak jak sam dojdziesz do rozwiązania jest ..... nooo nie będę już tu słodził Teraz wystawiam kod na krytykę, działa poprawnie, przynajmniej nie widzę żadnych błędów w działaniu. Próbowałem switch case, ale nie wyszło. Więc skopiowałem i dopasowałem rozwiązanie z wpisywania pinu do alarmu z kursu. No i zasko
  12. A tak... sam o tym zapomniałem Jeżeli nie zrobi któregoś z ruchów, to nie schowa się bolec na elektromagnesie, który mu zablokuje ostatnią czynność. Ewentualnie jak elektromagnes się nie sprawdzi to jakiś siłownik pneumatyczny sterowany elektrozaworem ale myślę że taki elektromagnesik spokojnie tam wystarczy. Myślę nad rozwiązaniem z drugiej części kursu z budowania alarmu. Tam jest taka sekwencja przy wpisywaniu pinu(switch, case, break), jak pierwsza cyfra się zgadza to puszcza dalej, jak druga się zgadza to puszcza dalej, ale nie wiem czy to dobre rozwiązanie do tego?
  13. Osiągnąłem swój cel liczę do 18, w momencie pojawienia się 18 dodaje się jedna paczka i sztuki znowu kolejno się liczą od 0. Wydaje mi się, że jest to najprościej jak się da, jednak jeżeli nie to proszę o sugestie. Doszedłem do tego przez analizę kodu ze strony od kolegi BananWszyscy. Tak że wielkie dzięki za niego. Później zacząłem kombinować wartościami do paczek, ustaliłem bierzącą, poprzednią. porównywałem, po to żeby się nie dodawało cały czas, a na końcu się ocknąłem i pomyślałem że jak każde mu dodać paczkę przed zmianą sztuk na 0 to doda tylko raz bo w jednej pętli no to teraz czas
  14. A więc tak, w firmie robimy różne detale z rurek stalowych miedzianych i aluminiowych, są to półprodukty w branży agd. Część gięć jest robiona na maszynach, a reszta których nie można było zrobić jest doginana ręcznie na dedykowanych stołach z dźwigniami. Kolejność czynności jest i nie da się jej zmienić bo po prostu nic nie będzie pasowało na stole. W programie kolejność będzie zachowana żeby ktoś nie niabijał sobie sztuk na pusto. Być może kiedyś mikrokontroler zastąpi tutaj ręczne raportowanie sztuk. Na dzień dzisiejszy ma być to tylko informacja dla pracownika żeby nie musiał myśleć il
  15. Podoba mi się zasada nr 1 przechowywanie w int to ma wyglądać że int równa się np 1 jak jest high i 0 jak jest low czy jest jakaś inna metoda? Całość ma być licznikiem dla pracownika, żeby wiedział ile wykonał sztuk, że po 18 sztukach ma je związać w paczkę i ile paczek zrobił, a zamiast przycisków mają być czujniki indukcyjne które skontrolują czy wszystkie czynności zostały wykonane. Jeżeli nie zostaną wykonane to po prostu nie nabiją sztuki. Jutro w pracy będę analizował bounce2 dzięki za aktywne naprowadzanie na właściwą drogę
×
×
  • 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.