Skocz do zawartości

NeghMC

Użytkownicy
  • Zawartość

    37
  • Rejestracja

  • Ostatnio

Informacje

  • Płeć
    Mężczyzna
  • Moje zainteresowania:
    Elektronika, muzyka

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 NeghMC

Wynalazca

Wynalazca (6/19)

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

Odznaki

0

Reputacja

  1. Czyli czy mogę coś zrobić aby uniknąć takiej sytuacji?
  2. Przeczytałem, ale rozumiem tyle że ta funkcja przysyła zero tylko gdy nie znajdzie żadnej liczby. Nadal nie rozumiem czemu wo znalezieniu jakiejś liczby, funkcja jakimś magicznym trafem odpala się po raz drugi i wysyła 0 za port. Jeśli wiesz dla czego to proszę, wytłumacz mi.
  3. Tak, ale ja wywołuję funkcję tylko raz, a ona uruchamia się jakby dwa razy
  4. Witam, napisałem sobie taki kod używający serwomechanizmu: #include <Servo.h> Servo servo; long pozycja = 15; void setup() { Serial.begin(9600); servo.attach(9); } void loop() { if (Serial.available()) { pozycja = Serial.parseInt(); } if ((pozycja >= 15) && (pozycja <= 180)) servo.write(pozycja); else Serial.println("zla komenda"); } Problem jest z funkcją Serial.parseInt(), po odczytaniu wartości typu int wystawia ona na port znak "0", co powoduje wyświetlanie się masowej ilości komunikatów "zla komenda". Trochę czasu poświęciłem na znalezienie przyczyny i nie udało mi się tego zrobić. Ma ktoś pomysł co co się dzieje? PS. najmniejsza pozycja nie wynosi 0 ponieważ mój silnik jest trochę wadliwy i przy takim ułożeniu zacina się. Dziękuje z góry za odpowiedzi 🙂 PS2. czy dałoby się używać cyfry typu int a nie typu long?
  5. Lukaszm, no z sekunde, do dwóch, to jest dość długi czas jak na taktowanie 8Mhz
  6. Zrobiłem zadanie z gwiazdką, czy można tutaj coś ulepszyć? #define zielona 5 #define czerwona 6 void setup() { Serial.begin(9600); pinMode(zielona, OUTPUT); pinMode(czerwona, OUTPUT); //ustawiamy odpowiednie piny jako wyjścia } void loop() { static String od = ""; static boolean stanCz = 0; static boolean stanZ = 0; //tworzymy zmienne statyczne if(Serial.available() > 0) { od = Serial.readStringUntil('\n'); if(od == "zielona") stanZ = !stanZ; //zmieniamy stan na przeciwny else if(od == "czerwona") stanCz = !stanCz; //tak samo jak wyżej else Serial.println("nieznana komenda"); //jak sie wpisze głupotę, to program reaguje } if(stanZ > 0) digitalWrite(zielona, HIGH); //w zależności od stanu else //zapalamy bądź gasimy diody digitalWrite(zielona, LOW); if(stanCz > 0) digitalWrite(czerwona, HIGH); else digitalWrite(czerwona, LOW); } EDIT Zmieniłem, jest trochę krótszy. Mam pytanie, po wpisaniu komendy trzeba stosunkowo długo poczekać zanim zapali się odpowiednia dioda, które operacje zajmują kontrolerowi najwięcej czasu? #define zielona 5 #define czerwona 6 void setup() { Serial.begin(9600); pinMode(zielona, OUTPUT); pinMode(czerwona, OUTPUT); } void loop() { static String od = ""; static boolean stanCz = 0; static boolean stanZ = 0; if(Serial.available() > 0) { od = Serial.readStringUntil('\n'); if(od == "zielona") { stanZ = !stanZ; digitalWrite(zielona, stanZ); } else if(od == "czerwona") { stanCz = !stanCz; digitalWrite(czerwona, stanCz); } else Serial.println("nieznana komenda"); } }
  7. Sprawdziłęm wielokrotnie to połączenie gdyż też miałem wątpliwości, jednak za każdym razem działało, jednak spróbuję coś z tym zrobić [ Dodano: 28-12-2016, 23:26 ] Sprawdziłem płytkę kilkakrotnie, nie wiem gdzie jest błąd, podejrzewam że karta może być przyczyną, jak tylko znajdę inną to na niej wypróbuję
  8. Na obrazku odłączyłem na chwilę zasilanie, plus znajduje się przed kartą, minus za kartą. Nie wiem co tu więcej opisać. To takie zlutowane na płytce to ten stabilizatorek 3.3v, od niego idzie do vcc karty. Pin ss jest podłączony do 3ciej nóżki mikrokontrolera. Rezystory są dzielnikami napięć dla wejść Mosi, sck i ss.
  9. Tutaj jest problem ze zdjęciem, ponieważ maksymalny rozmiar zdjęcia wynosi 1 Mb, to co wysłałem jest na granicy, moge jedynie opisać co tam sie dziej [ Dodano: 28-12-2016, 19:47 ] Właśnie przyszedł listonosz i przyniósł mi konwerter usb-uart, moge spróbować za pomocą niego zaprogramować kontroler
  10. Też nie działa, nie mam pojęcia co robić, chyba zostało mi tylko czekać aż przyjdzie zamówiony konwerter usb UART i za jego pomocą coś zrobić
  11. Zrobiłem z diody zenera 3.9 i tranzystora npn taki jakby regulator napiecia, daje 3,27 na wyjściu, przy podłączeniu obciążenia 100 ohm, napięcie spada do 3.2
×
×
  • 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.