Skocz do zawartości

Bonkers

Użytkownicy
  • Zawartość

    35
  • Rejestracja

  • Ostatnio

Reputacja

2 Neutralna

O Bonkers

  • Ranga
    3/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Tychy
  • Zawód
    Student
  • Moje zainteresowania:
    motoryzacja, informatyka, elektronika

Ostatnio na profilu byli

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

  1. Udało mi się to uruchomić. Wszystko działa prawidłowo. Przy starcie I2C trzeba było przesunąć adres urządzenia o jeden bit w lewo a następnie zsumować logicznie z bajtem odpowiadającym za czytanie lub wpisywanie. Wystarczy zamienić poniższe linijki kodu: I2C_Start(QMC5883L_ADDR+I2C_WRITE); ... I2C_Start_Wait(QMC5883L_ADDR+I2C_WRITE); ... I2C_Repeated_Start(QMC5883L_ADDR+I2C_READ); na I2C_Start(((QMC5883L_ADDR)<<1) | I2C_WRITE); ... I2C_Start_Wait(((QMC5883L_ADDR)<<1) | I2C_WRITE); ... I2C_Repeated_Start(((QMC5883L_ADDR)<<1) | I2C_READ);
  2. Sprawdzałem, wszystko na sofcie Arduino działa poprawnie, sam projekt był pierwotnie uruchomiony na Arduino, a ja chce go teraz przerobić na C pod AVR. Z resztą ta ATmega jest na płytce Arduino. Sam program testowałem na dwóch bibliotekach do I2C, na jednej z nich zrobiłem obsługę wyświetlacza przez I2C więc raczej jest dobra, a druga to z tej strony do magnetometru HMC5883L.
  3. Tak, USART działa, gdy zakomentuje się linie odpowiadające za inicjalizacje magnetometru. Z tego co widzę to w tym temacie co napisałeś pojawia się problem dopiero po odczycie... a u mnie żaden odczyt nie następuje jak narazie.
  4. Witam, Mam problem z przeniesieniem projektu z Arduino na ATmega32. Póki co narazie próbuje obrobić pobieranie danych z czujnika magnetycznego QMC5883L oraz ich wyświetlanie po przez USART. Na podstawie kodu z tej strony https://www.electronicwings.com/avr-atmega/magnetometer-hmc5883l-interfacing-with-atmega16 ,dokumentacji czujnika QMC5883L, a także biblioteki Arduino próbuje przerobić powyższy kod z obsługi HMC5883L na QMC5883L. Niestety nie udaje mi się zainicjować w programie magnetometru. Poniżej przesyłam link do dokumentacji technicznej oraz kod programu. Proszę o pomoc. Doku
  5. Dziękuje wszystkim za tak ogromną reakcje na moją pytanie . Nie spodziewałem się, że wywiąże się z tego tak ciekawa dyskusja . Przy okazji bardzo ciekawe środowisko, bardziej rozbudowane niż Arduino IDE, może trochę mniej niż AS, ale daje rade. Poza tym bez debuggera, programatora to bardziej się opłaca z niego korzystać niż z AS. Postanowiłem, że póki co nadal będę pisał programy w C++ na Arduino, równocześnie ucząc się podstaw C na AVRy pisząc jakieś proste programy, do obsługi led'ów, wyświetlaczy, przycisków itd. Nadal uważam, że pisanie w C ma więcej plusów niż C++ jeśli cho
  6. No właśnie zazwyczaj żeby przerobić jedną bibliotekę, trzeba przerabiać następną, następną itd... Umożliwia, też próbowałem pisać w C++, ale tu z kolei, również trzeba przerabiać niektóre biblioteki, w tym główną "Arduino.h". Jeśli dobrze rozumiem nie ma innego sposobu, niż przerabianie bibliotek? Czy może jednak istnieje jakaś strona, która posiada biblioteki w C dla konkretnych urządzeń przeznaczonych do Arduino?
  7. Witam, W ostatnim czasie zacząłem interesować się programowaniem w Atmel Studio zamiast w Arduino IDE, ponieważ Atmel Studio ma więcej opcji niż IDE. Wiem, że istnieją takie opcje programowania Arduino po przez to środowisko za pomocą dodatku vMicro lub z poziomu tworzenia nowego projektu "Create Arduino Project from sketch". Jednak mnie najbardziej interesuje pisanie programów w "zwykłym C" tak jak dla innych avr'ów. I w związku z tym moje pytanie brzmi, czy da się w szybki sposób dodać lub przerobić biblioteki z Arduino do projektu, pisanym w języku C w Atmel Studio?
  8. Problem rozwiązany . Okazało się że główną przyczyną dlaczego to nie działało nie był kod, a zasilanie arduino. Dzięki @ethanak @krzychb za pomoc.
  9. @ethanak Poprawiłem i dalej nic if (cliente.connect("www.*******.cba.pl", 80)) { //Connecting at the IP address and port we saved before if(resume_disp == 1 || resume_disp == 2) { Serial.println("connected"); cliente.print("GET /wr_data.php?"); //Connecting and Sending values to database cliente.print("temperature="); cliente.print(tempG, 1); cliente.print("&humidity="); cliente.print(humG); cliente.print("&pressure="); cliente.print(pressG); cliente.print("&temperature_out=");
  10. Póki co, zrobiłem to w ten sposób i dalej nie działa if (cliente.connect("www.********.cba.pl", 80)) { //Connecting at the IP address and port we saved before if(resume_disp == 1 || resume_disp == 2) { Serial.println("connected"); cliente.print("GET /wr_data.php?"); //Connecting and Sending values to database cliente.print("temperature="); cliente.print(tempG, 1); cliente.print("&humidity="); cliente.print(humG); cliente.print("&pressure="); cliente.print(pressG); cliente.print("&
  11. Witam, Mam problem z przesyłaniem informacji do shostowanej bazy danych. Bazę danych uruchomiłem na hostingu cba.pl, wcześniej przesyłałem dane do lokalnego serwera postawionego na xamppie i nie było z tym problemu. Całą procedurę wykonałem na podstawie tego co jest napisane w tym poradniku: https://electronicshobbyists.com/logging-data-to-database-using-arduino-ethernet-shield/ . Czy w podobny sposób można wykonać zapisywanie informacji do bazy na stronie, bo nie umiem jakoś do tego dojść czy to może wogóle działać. Wszystkie pliki .php, które wrzuciłem na stronę działają prawidłowo
  12. Witam, Mam pewien problem z komunikacją pomiędzy dwoma mikrokontrolerami, z powodów finansowych określonych projekcie muszę wykonać go na klonach arduino. W tym celu podłączyłem do każdego arduino moduł sieciowy nRF24L01, zgodnie ze schematami występującymi na różnych tutorialach w necie. Tak aby z Nano zrobić nadajnik, a z Uno odbiornik. Do każdego z arduino wgrałem poniższe przykładowe programy, które zamieszczam poniżej. Niestety transmisja danych w tym kierunku nie zadziałała - nano wysyłało dane, natomiast uno nie chciało ich odbierać. W drugą stronę było już lepiej, uno zadziałało
  13. Ok jeszcze raz wielkie dzięki, program już działa poprawnie bo wcześniej zapomniałem jeszcze ustawić flagę na true przy odczycie temperatury i teraz wszystko jest ok
  14. No niestety ten twój program nie zadziałał, ale mimo to wielkie dzięki. I mam jeszcze 2 pytania: - czy żeby zrobić więcej progów to wystarczy większą tablice zrobić i dorobić pozostałe warunki takie same jak w tym programie? - i jaki obecnie największy wyświetlacz 4x20 można połączyć z arduino (najlepiej OLED), bo szukałem i największe to były chyba z 5,7 cali, a najlepiej jakby był jeszcze większy
  15. Teraz lepiej, bo już da się zmienić progi i nie miga już, tylko że da się zrobić to tylko raz bo potem przycisk ENTEXIT nie reaguje. #include <OneWire.h> #include <DS18B20.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> #define BACKLIGHT_PIN 3 //przyciski #define UP 4 #define DOWN 5 #define ENTER 6 #define ENTEXIT 10 #define LED 8 //Numer pinu do ktorego podlaczasz czujnik #define ONEWIRE_PIN 2 float temperatura = 0; float temp =0; float liczba[2] = {0,0}; //progi temperatur int prog = 0; //wartosc dla danego progu int entexit = 0; bool flaga = true; b
×
×
  • 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.