Go Down

Topic: Anslutning av diverse komponenter (Read 19 times) previous topic - next topic

freddehboy

#10
Sep 22, 2012, 04:05 pm Last Edit: Sep 22, 2012, 04:12 pm by freddehboy Reason: 1
Hej



1a.)
Jag tänker koppla GRD (Svart) så att det splittas ut till de olika komponenterna, nedan förklarar jag hur det ska kopplas:
1 - Från kortens grd kopplar jag en kabel (Solderless Breadboard Jumper Cables for Arduino Male - Male) till en sockerbit eller liknande!
2 - Från sockerbiten kopplar jag ut till splittdosor till projektets olika paneler där mina komponenter ska sitta på. Den största panelen består av ca 25  
    komponenter av olika dess slag
3 - Vid panelen ska en splitt dosa finnas dit jag kopplar alla mina 25 komponenter

Frågan är hur mycket är max för en kabel?

Jag menar "Solderless Breadboard Jumper Cables for Arduino Male - Male" från ebay måste ju klara allt mina komponenter eller 50% för det finns ju 2 grd portar!?

Man vill ju inte få rökta kablar hehe  8)


Det beror på om du har tänkt blanda in någon last. Du har inte visat något kopplingsschema så jag kan inte säga säkert.
Om de bara ska användas som analoga och digitala givare och kopplas direkt tillbaka till ingångar på en Arduino så har du inget last alls och du behöver inte bry dig om kablarnas kapacitet för då handlar det bara om signaler.
Potentiometrar, encoders och switchar förbrukar ingen ström och orsakar därför ingen belastning i sig själva.
Om du kopplar dem till någon komponent som förbrukar ström så är det en annan sak.


Projektet utgår från, som det är nu, enbart från "Potentiometrar, encoders och switchar" de ska bara hantera signaler och läsas av korten hur det olika står inställda. Dessa har inget som lyset m.m. så de förbrukar ingen ström !

Jag antar att det fungerar ungefär som nedan:
1 - Jag slår på ström för Arduino
2 - Beroende på hur jag kodar så börjar kortet läsa vad jag har inkopplat till ingångarna
3 - Det handlar om att få en signal att tas upp och brytas av pinen och kontrollen på kortet
4 - Signalerna sköter kortet och det är inte komponenterna i sig som hämtar signalen utan den fås av kortet (Komponenten förbrukar dvs. inte ström

Om jag kopplar in led lampor senare är det en helt annan sak men dem får man koppla för sig och programmera så att det fungerar hur jag nu vill det :?

Fördelen är ju att jag har Arduino så jag kan vara flexibel!
Quote


För fråga två får jag testa och se!

Jag återkommer och berättar hur det går :)

Tack för hjälpen. roligt snart kan man börja koda :) //
Mvh Fredrik

freddehboy

Tjena :)

Nu har jag börjat att labba med koden, se nedan:
/*
Denna kod tillhör "APU & GRD" på vänster panel (Mega2560 R3, kort 1).
Komponenterna är 5 st (mom/off/mom, L. Metall) vilket innebär att de tar upp 2 digitala pinnar styck, dessa är anslutna till D29 - D78 på Mega2560 R3, kort 1!

Se (Panelers positioner) i mappen (FSX panels bygge) för att se var panelen är belägen!

Se (FSX Panels - Elektronik mapp) i mappen (FSX panels bygge) för vad ID nr betyder!

Komponentens ID nr  Kompponenterns tillhörande pinne:
281VAGE             D29 & D30
291VAGE             D31 & D32
301VAGE             D33 & D34
311VAGE             D35 & D36
321VAGE             D37 & D38

Se (FSX Panels - Elektronik mapp) i mappen (FSX panels bygge) för vilken funktion ovan ID nr representerar!

Komponentens Pinne   ID nr i koden  Utskrivning till serial monitor
D29                  VAGE28A        buttonState28A
D30                  VAGE28B        buttonState28B
D31                  VAGE29A        buttonState29A
D32                  VAGE29B        buttonState29B
D33                  VAGE30A        buttonState30A
D34                  VAGE03B        buttonState30B
D35                  VAGE31A        buttonState31A
D36                  VAGE31B        buttonState31B
D37                  VAGE32A        buttonState32A
D38                  VAGE32B        buttonState32B
*/

//Digital pinne 29 - 38 har en switch tillkopplat till sig, ge det ett namn:
int VAGE28A = 29;
int VAGE28B = 30;
/*int VAGE29A = 31;
int VAGE29B = 32;
int VAGE30A = 33;
int VAGE30B = 34;
int VAGE31A = 35;
int VAGE31B = 36;
int VAGE32A = 37;
int VAGE32B = 38;
*/

//Detta körs första gången du slår på strömmen eller resettar kortet:

void setup() {
//Initiserar serial kommunikation på 9600 bitar/sekund:

Serial.begin(9600);
// Sätter på "internal_pullup" motstånd på komponenternas pinnar:
pinMode(VAGE28A, INPUT_PULLUP);
//pinMode(VAGE28B, INPUT_PULLUP):
}
/*
pinMode(VAGE29A, INPUT_PULLUP);
pinMode(VAGE29B, INPUT_PULLUP);
pinMode(VAGE30A, INPUT_PULLUP);
pinMode(VAGE30B, INPUT_PULLUP);
pinMode(VAGE31A, INPUT_PULLUP);
pinMode(VAGE31B, INPUT_PULLUP);
pinMode(VAGE32A, INPUT_PULLUP);
pinMode(VAGE32B, INPUT_PULLUP);
*/
//loop rutinen körs kontinuerligt till du slår av strömmen:

void loop() {
// läser statusen på pinnarna:
int buttonState28A = digitalRead(VAGE28A);
  if (digitalRead(VAGE28A) == HIGH){Serial.print("0");} else{Serial.print("UP");}
  if (digitalRead(VAGE28B) == HIGH){Serial.print("0");} else{Serial.print("DN");}

/*
int buttonState28B = digitalRead(VAGE28B);
int buttonState29A = digitalRead(VAGE29A);
int buttonState29B = digitalRead(VAGE29B);
int buttonState30A = digitalRead(VAGE30A);
int buttonState30B = digitalRead(VAGE30B);
int buttonState31A = digitalRead(VAGE31A);
int buttonState31B = digitalRead(VAGE31B);
int buttonState32A = digitalRead(VAGE32A);
int buttonState32B = digitalRead(VAGE32B);
*/
// Skriver ut statusen av komponenten på serial monitor:
/*
Serial.println(buttonState28A);

/*
Serial.println(buttonState28B);
Serial.println(buttonState29A);
Serial.println(buttonState29B);
Serial.println(buttonState30A);
Serial.println(buttonState30B);
Serial.println(buttonState31A);
Serial.println(buttonState31B);
Serial.println(buttonState32A);
Serial.println(buttonState32B);
*/
delay(1000);
}

På serial monitor får jag detta nedan:
0DN0DN0000000000UPDN0DN0DN0DN0DN0000000DN00000DN0DN0DN0DN0DN0DN0DN0DN00000000000000000DN0DN0DN0DN0DN0DN0DN000000000DN0DN0DN

Fast jag inte trycker på switchen?

Mvh Fredrik

perhof

Den här raden är kommenterad. Därför "flyter" ingången
Code: [Select]
//pinMode(VAGE28B, INPUT_PULLUP):

Dessutom slutar den med kolon istället för semikolon vilket kommer generera ett felmeddelande om du tar bort kommenteringen.
Är det därför den är kommenterad?

freddehboy

Hej

Det är i sin ordning då jag testar och just den du pekar på ingår inte i koden. Jag tror jag vet varför den uppförde sig konstigt dvs. serial monitor gav så konstiga signaler, splittern jag har till GRD fungerar nog inte som tänkt?!

Mvh Fredrik

perhof

Vad är det då som ingår i koden och varför postar du en annan kod än den du kör?

Vi kommer inte att kunna hjälpa dig med dina kopplingarna eftersom du inte visat hur de ser ut men du kanske har löst problemet redan.

Go Up