• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 1 głosów - średnia: 5
  • 1
  • 2
  • 3
  • 4
  • 5
Jak dodać kolejne kody do Arduino IDE
#1
Witam
Mam pytanie do bardziej doświadczonych użytkowników. Kupiłem Arduino , w internecie znalazłem jak podłaczyc czujniki ruchu wraz z kodem - wszystko działa pieknie ładnie , ale bym chciał teraz do swojego arduino podłączyć coś kolejnego. Moje pytanie i problem jest taki:
,że jak kopjuje gotowy kod od czujników ruchu do Arduino IDE to wszystko działa ale np. chce pózniej dodać kolejny kod do programu Arduino IDE przykładowo z czujnikiem temperatury (kopiuje i wklejam do Arduino IDE poniżej kodu z czujnikami ruchu) , to jak prawidłowo połączyć te 2 gotowe kody ze sobą żeby program Arduino IDE przepuścił je i wgrał do pamięci arduino. Generalnie tak, wgrywam pojedyńczo te skopiowane kody do programu Arduino IDE i je program wgrywa. A jak skopjuję 2 oddzielne kody to wyrzuca mi program błędy jakieś i nie chce się wgrać.
W ogóle czy mogę tak zrobić ? Żeby te kody jakos ze soba łączyć ? dodać jakiś znak ? 
Z góry dziekuje za odpowiedz.
 
#2
Witam
Jasne, że można. Musisz na początek zrozumieć z jakich sekcji składa się taki kod.
Więc na początku masz "podpinianie" potrzebnych bibliotek (np. do obsługi czujników właśnie), deklaracje wszystkich użytych w programie zmiennych, pinów Arduino, definicję wszystkich użytych nazw symbolicznych... itp.
Następnie masz sekcję (właściwie to funkcja jest) setup() { ... } To tutaj konfigurujesz potrzebne piny Arduino, powołujesz do życia obiekty, czyli czujniki na przykład, i robisz wszystko zanim uruchomi się program główny. Tutaj wszystko dzieje się tylko raz.
Następnie masz główną pętle programu loop() {....} gdzie wszystkie operacje wykonują się cyklicznie, bez końca (takie neverending story).
W każdym z Tych Twoich kodów masz właśnie te 3 sekcje. Aby połączyć to do kupy, musisz zadbać aby wszystko powkładać w odpowiednie miejsca, dbając o to aby:
- nie powtarzały się nazwy zmiennych;
- nie dublować użytych pinów Arduino;
Potem to kompilujesz i UWAŻNIE analizujesz błędy.
Po kilku ćwiczeniach z kodem dasz radę.
Pozdrawiam
 
#3
I pamiętaj ze jak wklejasz kod pod kodem to tworzysz void setup i void loop podwójnie tak nie można arduino nie posiada wielowątkowość pyzatym void setup i tak występował by tylko raz

z twojego postu rozumie ze zrobiłeś tak
Kod:
void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}
void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Ponad to wklej kod połączony przez ciebie i kody osobno zobaczymy co da się zrobić bo na tym etapie nie jesteśmy ci wstanie nic więcej pomóc.
 
#4
Witam, znalazłem kod na sterowanie Bluetooth. Chciałbym dodać jeszcze kilka funkcji do tego kodu na inne piny  ale jak kopiuje i wklejam polecenie to wywala mi błąd... Dlaczego? Jestem nowy i zielony dlatego wolę się dowiedzieć tutaj Smile

Kod:
int ledPin = 13;
String readString;

void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}

void loop() {
while (Serial.available()) {
  delay(3);  
  char c = Serial.read();
  readString += c;
}
if (readString.length() >0) {
  Serial.println(readString);
  if (readString == "on")    
  {
    digitalWrite(ledPin, HIGH);
  }
  if (readString == "off")
  {
    digitalWrite(ledPin, LOW);
  }
  readString="";
}
}


Tutaj link do screena:
http://zapodaj.net/3f66fa722dfe7.png.html
 
#5
Drugi raz definiowany jest "ledPin"
 
#6
u mnie kod się skompilował jakie masz arduino
 
#7
(10-03-2016, 17:40)-adamek napisał(a): Drugi raz definiowany jest "ledPin"
Nawet jsli usunę linijkę z "ledPin" to tak samo burzy się o następną linijkę. Jestem na prawdę zielony w tym.
 
#8
(10-03-2016, 23:41)adix napisał(a): u mnie kod się skompilował jakie masz arduino
Arguino Mega 2560
 
#9
To wklej całość coby nie wróżyć z kuli bo to co jest wyżej różni się od tego na obrazku .Powyższe oczywiście kompiluje się poprawnie
 
#10
Tak, powyzszy kod dziala u mnie też, ale nie wiem jak dodać kolejną funkcję. A to co jest na obrazku to skopiowalem i wkleilem x2 to samo i zmienilem "ledPin" na 12.
 
  


Skocz do:


Przeglądający: 1 gości