Skocz do zawartości

zioloiso

Użytkownicy
  • Zawartość

    28
  • Rejestracja

  • Ostatnio

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Nowosielce

Osiągnięcia użytkownika zioloiso

Starszy odkrywca

Starszy odkrywca (5/19)

  • Za 5 postów
  • Za 25 postów
  • To już rok!
  • Młodszy Juror

Odznaki

1

Reputacja

  1. Witam, ostatnio udało się ustawić żyroskop i zoptymalizować program, ale nie wiem dlaczego wiesza się w jednej sytuacji.. Zawiesza się tylko w sytuacji gdy wysteruje silniki podłączone do mostka H. Jeśli ten mostek nie ma zasilania to się nie zawiesza czyli fizycznie siniki się nie kręcą i działa program zmienne odpowiedzialne za pwm widać mają wartości.. Lub gdy nie odczytuję danych z żyroskopu to się kręcą i można nimi czyli napędem sterować. Czyli jeżdżę sobie i się nie zawiesza. Prawdopodobnie problemem są zakłócenia od mostka H. Tutaj zobrazowałem jak to jest podłączone: Zdjęcia: https://tufotki.pl/rasVW Wszystkie czujniki są podłaczone do zasilania z arduino. MQ5, MQ135, DH11, MPU6050, Hc-SR04, PIR.
  2. Doradzi ktoś jaką bibliotekę wybrać, gdy program wykonuje się np 2 ms lub 4 ms. Na gołym programie jest ok, ale gdy we wale do kodu wszystko co chce to zaczyna głupieć ten odczyt.
  3. Zajmuje się aktualnie żyroskopem i niestety ma problemy z nim. Odczyt danych jest jakby z kosmosu, liczby skaczą nawet gdy się nie rusza. Korzystam z bibliotek p. Jarzębskiego. Spotkał się ktoś z takim problemem? Skaczą nawet po setkami. Zapisuje je to flotów. Interesuje mnie odczyt stopni od włączenia modelu(Żyroskopu).
  4. Ok, poprawiłem strukturę, ale dane dalej się przesuwają ;/ O jak wywaliłem boola to jest ok 😃 Teraz czaje. Podobno warto jeszcze checksum zrobić.
  5. Witam, żyroskop narazie będę wykorzystywał tylko do zwalniania modelu i do skręcania o określoną ilość stopni. Ruszyłem komunikacje. Na str wyświetlam dane ze struct 😃 wysyłam dane z atmega do esp, ale nie pokrywają się, jakby się dane przesuwały. jakaś porada? ATMEga: //komunikacja Arduino z ESP8266 struct Dane { float x; float y; float z; float wilgotnosc; float temperatura; int air; int gaz; int szybkosc; bool alarm; }; Dane dane; //timery #include <Timers.h> Timer ms25; Timer ms100; Timer ms1000; void setup() { //uart Serial.begin(115200); Serial3.begin(115200); //timery ms25.begin( 25 ); ms100.begin( 100 ); ms1000.begin( 1000 ); } void loop() { //timer 1s if( ms1000.available() ) { dane.x = 1; dane.y = 1; dane.z = 1; dane.wilgotnosc = 60; dane.temperatura = 22; dane.air = 20; dane.gaz = 30; dane.szybkosc = 120; dane.alarm = false; const char* wys = (const char*) &dane; for( int i = 0; i < sizeof(dane); i++ ) Serial3.print( *wys++); Serial3.println(); ms1000.restart(); } } ESP: #include <ESP8266WiFi.h> #include <ESP8266WebServer.h> const char* ssid = "asd"; // SSID sieci WiFi const char* password = "12345678"; // hasło do WiFi //numer portu serwera www const unsigned int port = 80; // ustaw port serwera ESP8266WebServer server(port); //komunikacja Arduino z ESP8266 struct Dane { float x; float y; float z; float wilgotnosc; float temperatura; int air; int gaz; int szybkosc; bool alarm; }; Dane dane; void setup() { //ustaw szybkość portu szeregowego Serial.begin(115200); //włącz WiFi WiFi.mode(WIFI_STA); //tryb STATION WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { // czekaj na połączenie z WiFi delay(500); Serial.print("."); } //wypisz przydzioleny IP i MAC dla tego urządzenia Serial.println(""); Serial.println("WiFi połączone"); Serial.println(WiFi.localIP()); Serial.println(WiFi.macAddress()); //uruchom serwery www server_on(); } void loop(){ server.handleClient(); if (Serial.available() > sizeof( dane )) { char* odbr = ( char* ) &dane; for (int i = 0; i < sizeof( dane ); i++) *odbr++ = Serial.read(); Serial.read(); } } String Head_HTML() { String head = "<!DOCTYPE html>\n"; head += "<html>"; head += "<head>"; head += "<title>STRAZNIK_DOMU</title>"; head += "<meta charset=\"utf-8\">"; head += "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">"; head += "<link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css\" >"; head += "</head>"; head += "<body style=\"text-align: center;color: white; background: black;font-size: 1.5em;\">\n"; return head; } String Foot_HTML() { String foot = ""; foot += "<p>zioloiso © 2018</p></td></tr>"; foot += "</body>\n"; foot += "</html>\n"; return foot; } String Page_HTML(){ String page = ""; page += "<p><h3><b>DANE ZE STRAZNIKA</b></h3></p></br>\n"; page += "<p><h3>Wilgotnosc: "+ String( dane.wilgotnosc ) +"%, Temperatura: "+ String( dane.temperatura ) +"*C </h3></p>\n"; page += "<p><h3>Zyroskop[ x = "+ String( dane.x ) +" | y = "+ String( dane.y ) +" | z = "+ String( dane.z ) +" ] </h3></p>\n"; page += "<p><h3>Stezenie gazow latwopalnych: "+ String( dane.gaz ) +"% </h3></p>\n"; page += "<p><h3>Stezenie substacji latwopalnych i dymu: "+ String( dane.air ) +"% </h3></p>\n"; page += "<p><h3>Predkosc poruszania straznika: "+ String( dane.air ) +"% </h3></p>\n"; page += "<p><h3> Alarm: "+ String( dane.alarm ) +" </h3></p></br></br></br></br></br></br></br></br></br></br></br></br></br></br></br></br></br>\n"; return page; } String WebPage(){ return Head_HTML()+Page_HTML()+Foot_HTML(); } void server_on( void ){ //adres główny server.on("/", [](){ server.send(200, "text/html", WebPage()); }); server.begin(); // Start serwera www }
  6. Odpoczywam chwilowo od komunikacja, ponieważ przyszła tarcza do serw i odziwo wsadziłem ją w mega + zasilanie i działa 🙂 Nie musiałem się umęczyć. Czekam na żyroskop, że sprawdzić.
  7. OK, postawiłem stronę w html bezpośrednio na ESP, działa w przeglądarce, teraz potrzebuje info jak przesłać kilka zmienny z arduino do ESP przez uart. Strona ma tylko wyświetlać info, nic nie sterować.
  8. Ok, dzięki, nie zacieły się. Tylko chodzi o to, że program piszę na adruino, a ESP wykorzystuje tylko jako wifi. Komendy AT. nie mogę znaleźć przykłady jak takiego stringa( strone html) wysłać.
  9. Witam, po przerwie udało mi się w jakimś stopniu ogarnąć płytkę😃 Z poziomu arduino za pomocą komend AT łączy się z Routerem, dostaje IP. Teraz ma ktoś źródło jak zrobić stronę?
  10. Hmmm, narazie tego nie widzę jak to zrobić, bo będę musiał tak przesyłać dane z ATmega2560 do ESP8266, a ESP8266 do PC, a tych zmienny kilka jest.
  11. Aha, no to sobie poszukałem zajęcia widzę... Ale mam rozumieć, że wszystkie piny a mega są pod ATmega 2560 te standardowe. A ten drugi procesor jest do Wifi?
  12. Jeszcze podpytam o jedną rzecz, zamówiłem taką płytkę z wifi https://pl.aliexpress.com/item/WEMOS-Mega-WiFi-R3-ATmega2560-ESP8266-32Mb-memory-USB-TTL-CH340G-Compatible-for-Arduino-Mega-NodeMCU/32817913506.html?spm=a2g0s.9042311.0.0.s1hKyw Da się za pomocą tego Wifi połączyć z laptopem, żeby wyświetlać różne info z czujników? Bo chce program przygotować wcześniej i opis, potem tylko składanie, i nanoszenie poprawek.
  13. Dzięki za info, jak dopłyną graty to będę próbował, bo to będzie model na prace podyplomową. Narazie temat zawieszam.
  14. Na tej płytce do serw się zworki robi, a na żyroskopie nie wiem. Taki żyroskop IIC I2C GY-521 MPU6050. To te urządzenia podłącza się do Arduino 20 i 21 pin równolegle?
  15. Witam, pytanie mam takie, ponieważ planuje zrobić model RC, chce w nim zamontować żyroskop mpu6050 i shield 16 kanałowy, ale widzę, że obydwa korzystają z sda i sdl, da się to podłączyć do mega r3 ?
×
×
  • 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.