Skocz do zawartości

cheppeniathan

Użytkownicy
  • Zawartość

    13
  • Rejestracja

  • Ostatnio

Informacje

  • Płeć
    Mężczyzna

Ostatnio na profilu byli

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

Osiągnięcia użytkownika cheppeniathan

Odkrywca

Odkrywca (4/19)

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

Odznaki

0

Reputacja

  1. fajnie 🙂 czyli jak rozumiem zasiliłeś serwo z innego źródła niż Atmegę pamiętając o wspólnych masach i to pomogło? Dopytuję ponieważ możesz przy pomocy tego ustrojstwa ze zdjęcia używać nadal tylko jednego źródła a cała poprawa będzie polegała jedynie na tym, że to coś ma kondensator, który łagodzi spadki napięć.
  2. A mnie się wydaje, że gdybym znał C++, gdybym dużo lepiej znał C, gdybym rozumiał co się dzieje w bibliotece gsm.. to wiedziałbym co robi moja biedna, skołowana moim kodem Atmega 🙂 A tak to przypomina to wszystko łatanie dziur w starej skarpecie 🙂 i żaden python mi nie pomoże 🙂 (chociaż jego też dobrze znać!) Jeszcze raz dzięki dla ethanaka i farmaceuty za podpowiedzi! Pozdrawiam
  3. OK..działa jedna linijka rzutowanie i potem ta druga linijka z tą funkcją c_str() Dziękuję Ci bardzo! Ale to jeszcze nie koniec walki. Ta funkcja c_str() działa. Zsumowałem do jednej zmiennej String napis "wilgotnosc wynosi: " i zrzutowanego na Stringa inta. Przechodzi to przez funkcję c_str() i jest wysyłane przez gsm.write() ale 🙂 jak wartość wilgotności jest np 82 a ja mam w programie ifa, że jeśli moduł SIM odbierze sms o wartości 2 to ma spracować przekaźnik, to ta dwójka, która jest teraz w wartości 82 wyzwala mi przekaźnik. Mam nadzieję, że nie piszę zbyt zagmatwanie. Oczywiście już to zmieniłem w programie i teraz zadziałanie przekaźnika jest sterowane literą, ale ... nie rozumiem jak działa program i dlaczego wysyłana wartość działa tak jak wartość jaką moduł dostałby sms-em. Jakieś sugestie dla mnie?
  4. Panowie ale Wy chyba odwołujecie się do C++ a ja muszę to zrobić na arduino. Nadal nie mam pojęcia jak mam tego użyć. Proszę o przykładowy kod jeśli można to zaimplementować do ardu...
  5. Niestety nie wiem jak wykorzystać tą funkcję, możesz napisać kawałek kodu?
  6. Ostatnio wszystko przerabiam na same Atmegi. Z moich doświadczeń 1. sprawdź czy wszystkie masy masz połączone. 2. zadbaj o odseparowane zasilanie Atmegi od reszty odbiorników. Na przykład jeden stabilizator LM daje prąd na Atmegę a drugi na pozostałe odbiorniki. Używaj tranzystorów, aby jak najmniej obciążać prądowo wyjścia mikrokontrolera. Jak możesz wrzuć zdjęcie tego co zrobiłeś, może łatwiej będzie wyłapać nam gdzie jest problem.
  7. String wilgotnosc_string; wilgotnosc_string = String(wilgotnosc_pojemnika); //zamiana int na String i przypisanie do zmiennej String wilgotnosc_string delay(100); gsm.write("AT+CMGS=\"+48200300400\"\r\n"); delay(100); gsm.write(wilgotnosc_string); gsm.write((char)26); delay(100); gsm.write("AT+CMGD=1,4\r\n"); Kiedy tworzę zmienną String wilgotnosc_string, zamieniam int wilgotnosc_pojemnika na String i wrzucam zmienną do gsm.write(wilgotnosc_string) to dostaję błąd: no matching function for call to 'SoftwareSerial::write(String&)'
  8. Cześć, Pobieram z czujnika DHT temperaturę i wilgotność w postaci int-ów. Chcę wysłać je sms-em. Do wysyłania smsów mam następujący kod: gsm.write("AT+CMGS=\"+48600200300\"\r\n"); delay(100); gsm.write("temperatura pojemnika powyzej MAX!"); gsm.write((char)26); delay(100); gsm.write("AT+CMGD=1,4\r\n"); Na co i jak mam rzutować int wilgotnosc albo int temperatura, aby gsm.write( ) to zaakceptował?
  9. Tak, chcę to wszystko wyrzucić na expandery. Jeśli definiuje pin arduino #define rtc_DAT A1 następnie tworze obiekty ThreeWire myWire(rtc_DAT,A1,A3); // DAT(IO), CLK(SCLK), RST(CE) RtcDS1302<ThreeWire> Rtc(myWire); To program się kompiluje. Zatem jeśli umiałbym znając adres expandera np. 0x20 i pin np. 0 wpisać odpowiedni #define rtc_DAT adresPinuNaExpanderze to przypuszczam, że kiedy utworzę obiekt ThreeWire myWire(rtc_DAT,A1,A3); to będzie to działać.
  10. Używam biblioteki PCF8574. Nie wiem, czy tej z Twojego linku. Jeśli dobrze Cię rozumiem, to mam sam stworzyć bibliotekę jak na przykład Wire, czy LiquicCrystal_I2C ...? Nie mam teraz czasu aby uczyć się tego. Mam projekt do zrobienia. Najwyżej wykorzystam dwa arduino jak zabraknie mi pinów i skomunikuje je ze sobą. Dzięki za odpowiedzi..
  11. Cześć, mam następujący problem. Używam w projekcie kilku expanderów PCF8574. Biblioteki pod np. RTC, DHT są napisane tak, że urządzenie podłączone jest do arduino i tworząc obiekt wpisujemy odpowiednie piny, do których podpięte jest urządzenie na arduino. Na przykład: Fragment z kodu dla RTC // DS1302 CLK/SCLK --> 5 // DS1302 DAT/IO --> 4 // DS1302 RST/CE --> 2 // DS1302 VCC --> 3.3v - 5v // DS1302 GND --> GND #include <ThreeWire.h> #include <RtcDS1302.h> ThreeWire myWire(4,5,2); // IO, SCLK, CE RtcDS1302<ThreeWire> Rtc(myWire); Fragment z kodu dla DHT #include "DHT.h" DHT dht; void setup() { dht.setup(2); // data pin 2 Nie wiem i proszę o wiedzę jak właściwie mam adresować porty na expanderze zaadresowanym np 0x20. //--------------------------------------------------expander 0x20------------------------------------------- #define rtc_CLK 0 #define rtc_DAT 1 #define rtc_RST 2 Co mam wpisać do dht.setup(???), ThreeWire myWire(????) i innych podobnych obiektów tworzonych do innych bibliotek czujników, etc.
  12. Dziękuję bardzo za ten artykuł. Jestem początkujący, zacząłem przygodę z Arduino od Waszego pierwszego kursu 🙂 Moim najbardziej skomplikowanym projektem jest alarm sterowany smsami i funkcja delay dała mi się we znaki. Teraz będę mógł to wszystko zwielowątkować 🙂 Z mojej strony prośba o więcej, częściej i jeszcze raz więcej takich dobrych artykułów o Arduino! Koniecznie zróbcie część III. Dzięki!
×
×
  • 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.