Pisze program w arduino ide i mam takie coś:

if (digitalRead(BUTTON) == HIGH ) {
Serial.println("Klawisz!");
}

I nawet jak klawisza nie naciskam widzę w serialu ze niby się naciska ( ͡° ʖ
  • 21
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Rexikon: INPUT_PULLUP czyli normalnie jest stan wysoki jak nie naciskasz klawisza? Ma byc odwrotnie lub zmien na if (digitalRead(BUTTON) == LOW )
  • Odpowiedz
@Rexikon: kontakt fizyczny dwóch styków w przełączniku nie jest idealny, a procesor Arduino z ludzkiej perspektywy działa bardzo szybko. Dlatego jedno wciśnięcie może zostać odczytane nawet jak kilkanaście-kilkadziesiąt wciśnięć.

Jeśli masz luźny wieczorek to polecam ten filmik, bardzo dobrze pokazuje całe zagadnienie bouncingu przełączników.

Debouncing to albo program, albo rozwiązanie sprzętowe (albo jedno i drugie) na wyeliminowanie tego zjawiska - tak aby wciśnięcie guzika było rejestrowane tylko raz
FLAC - @Rexikon: kontakt fizyczny dwóch styków w przełączniku nie jest idealny, a pro...
  • Odpowiedz
Dopiero zaczynam się bawić Arduino, parę dni temu przyszły mi podstawowe elementy. Korzystam z kolna Atmegi 2560. Po wgraniu standardowego kodu wyświetlacz jedynie zostaje podświetlony, lecz nie wyświetla się na nim żaden tekst.
Wygląda to tak jak na załączonym zdjęciu.
Nie posiadam do niego jakiegoś osobnego potencjonometra (tak jak to zazwyczaj widziałem w różnych poradnikach), aby móc ustawić kontrast (przypuszczam, że to właśnie w kontraście leży wina dlaczego nie pokazuje mi tekstu). Jest
dawid110d - Dopiero zaczynam się bawić Arduino, parę dni temu przyszły mi podstawowe ...

źródło: comment_h66RqS9rm5dyMZbs5Y5AyfkKydMRUZr2.jpg

Pobierz
  • 21
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@dawid110d aa dopiero przeczytałem resztę a jak kręcisz tym potencjometrem to widać jakby klocki na ekranie zmienia się coś w ogóle? Bo powinnin się zmieniać trochę obraz jak cały czas tak samo to coś jebnięte. Daj nazwę tego modułu albo link to coś spróbuję ogarnąć
  • Odpowiedz
Bawię się właśnie Atmegą328P i próbuję zrobić klawiaturkę matrycową na przerwaniach.
Czy można zdefiniować przez #define Bajt złożony z konkretnych pinów?

Tak aby np. #define KEYB był złożony z 0x(PC0..PC5,PD0,PD1).
Proszę o pomoc, bo nigdzie nie mogłem znaleźć takiego rozwiązania (o ile istnienie).

#atmega #arduino #programowanie #elektronika
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#jezykc #programowanie a tak na prawdę to nie programowanie tylko edycja tekstu, bo preprocesor , więc wołam ludzi obserwujących taki #define #ifdef #endif #include. Nie wołam ludzi obserwujących pragma. ( ͡° ʖ̯ ͡°)
Zapomniałem i nie mogę znaleźć w googlu jak się sklejało makra.
Mam sobie plik nagłówkowy w którym są przykładowo:

#define GPIO_PinSource0 ((uint8_t)0x00)
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kiciek: z głowy czy;li z niczego (jak powiedział kiedyś klasyk),

#define twojanazwa GPIO_PinSource##USED_PIN
Jeśli rzeczywiście oczywiście dobrze zrozumiałem Twoje intencje
  • Odpowiedz
#arduino
mireczki, bo ja nie mam pojęcia, co się zepsuło w kodzie

Mam trzy diody sterowane z laptoka, pierwsza druga i trzecia z komentarzem w konsoli (świecą odpowiednio na polecenie uno, dos i tres)
Dodałem polecenie mix i mox, żeby sobie migały, ale jak zacznie jedną z tych pętli to nie chce przestać (nie mogę przełączyć na pojedynczą diodę, zatrzymać poleceniem "stop", ani zmienić pętli na drugą).

Ja
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Sihill_pl: Meh, słaby jestem w Arduino, ale strzelam, że po wpisaniu np. "mix" zostaje w pętli (odebranedane == "mix") i wartość odebranedane nigdy się już nie jest w stanie zmienić (nie dochodzi do kolejnego wywołania void loop())
  • Odpowiedz
@Sihill_pl: Weź zrób jakąś metodę do której przekazuejsz tablicę ze stanami logicznymi na diodach, ten kod powinien 3x mniejszy xD

Po drugie zastanów się co się dzieje po wejściu tu:

while (odebranedane == "mix") {
  • Odpowiedz
Pewnym fenomenem jest popularność #arduino, kto z Was jednak interesował się jak przebieg proces kompilacji programu oraz gdzie są "ukryte" te wszystkie superwygodne polecenia języka? Okazuje się, że sprawa jest dość prosta, nie ma tam żadnej magii. Wszystko opiera się o plik Arduino.h - jego zawartość może zaskakiwać...

Przykładowo sposób, w jaki zrealizowano obsługę liczb binarnych:

#define B1 1
#define B01
Forbot - Pewnym fenomenem jest popularność #arduino, kto z Was jednak interesował się...

źródło: comment_alBcxc6bkjk45oMDDDP9FWvd0cA6uduC.jpg

Pobierz
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Wszystko opiera się o plik Arduino.h


@Forbot: I ten kawałek softu sprawił, że ludzie to kupują. Tylko i wyłącznie to. Ktoś musiał wpaść na pomysł, żeby na przekór elektrodowym ekspertom ułatwić ludziom życie i zebrać dokumentację do kupy w "gotowe biblioteki". Pamiętam, że mikrokontrolery zostały mi skutecznie obrzydzone właśnie przez durną babraninę w dokumentacji i szukanie pół dnia odpowiednich rejestrów i przepisywanie flag do programu.
  • Odpowiedz
A co ze zintrgrowanym na plytce programatorem i wieloma innymi ulatwieniami?


@Golomp: To tylko mały plusik. Ten kawałek softu to jest to, co zadecydowało. Dzięki temu można ruszyć z programem w parę minut, a nie babrać się z kodem tygodniami.
Programator? To nie jest wielki problem, kupujesz, podłączasz i wrzucasz program ( ͡° ͜ʖ ͡°). Inne ułatwienia? Chodzi o shieldy? Być może to też miało jakiś
  • Odpowiedz
Kolega, który też programuje i dłużej w tym siedzi niż ja, dał mi wyzwanie na zrobienie tego programu. Program ten wyciąga łańcuchy znakowe z pliku. Ciekawe daje wyniki po operacji na plikach *.exe. Program wywołuje się z wiersza poleceń. Jak chcesz zapisać wynik pracy programu do pliku tekstowego, to piszesz:

ten_program plik_źródłowy>plik_z_wynikami.txt
Może komuś się przyda ten program ;)
BTW. W stałych MIN i MAX jest zapisana minimalna i maksymalna długość łańcucha. Domyślny zakres to
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Wiem, że nie będę informatykiem, ale niestety trzeba zaliczyć ten przedmiot.
Nie wiem sam co źle robię, wiem natomiast, że 2 i 3 zadanie w ogóle nie działa. Będę bardzo wdzięczny za pomoc ( ͡° ͜ʖ ͡°)

#include
#include
#
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach