PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduino duemilanove und Blackberry Curve 8900



Sebastian Meyer
14.02.2012, 20:39
Hallo, würde gerne mit meinem Blackberry Curve 8900 und nem Arduino duemilanove 2 releis und nen Modellbaufahrtenregler (huricane Brushlessset von conrad) fernsteuern, was brauch ich noch dazu, empfehlungen? Am besten günstig, weil Schüler ;)

Vielen Dank im vorraus, Bashey :)

*edit ich hab keum Ahnung von programieren... :S
(bin noch nicht über digitalwrite(low/high) und delay hinausgekommen )

ePyx
14.02.2012, 20:40
Was haste denn bei dem Handy für Schnittstellen ? Sicherlich Blauzahn. Also entweder Bluetooth-Shield oder BTM222-Adapter.

Sebastian Meyer
14.02.2012, 21:03
Das Problem ist im Moment eigentlich, ich bin 15 und bringe mir gerade alles in sachen Microcontroller selbst bei, ich bin aber begeisterter Bastler und habe eine Menge Ideen und erfindungsreichtum, doch manachmal reicht mein bereits gesammeltes wissen eben nicht aus um alles umzusetzen, in meinem bekanntenkreis ist auch niemand der so etwas macht :S Und nunja, was mir fehlt ist eben ein Guru der mir Hilft...

ePyx
14.02.2012, 21:08
Na dann willkommen im Club, denn so hat jeder hier angefangen. Zu mindestens die, die das ernsthaft als Hobby betreiben und/oder das beruflich machen.

Ansonsten sind die beiden von mir genannten Varianten die einfachste und auch günstigste Möglichkeit damit zu kommunizieren. Beide arbeiten mit der seriellen Schnittstelle. Ist wesentlich leichter als USB oder WLAN.

021aet04
14.02.2012, 23:19
Das BB hat eine Wifi Schnittstelle (WLAN) und eine BT Schnittstelle die man nutzen kann. Am Einfachsten ist es wenn man, wie schon geschrieben wurde, BT verwendet. Die Auswertung und die Ansteuerung der Hardware übernimmt der µC.

MfG Hannes

Sebastian Meyer
15.02.2012, 08:28
Okay und was muss ich auf dem Blackberry instalieren?

PS: die Steuerung soll für einen ferngesteuerten rasenmäher sein ;)

PPS: also brauch ich 4 releis xD

PPPS: kann mir jemand ein Programm schreiben, ? das wäre super nett von euch :)

PPPPS: Wie muss ich das Blauzahn modul an meinen Arduino anschliesen?

021aet04
15.02.2012, 08:52
Dir wird zwar bei Problemen geholfen aber ein fertiges Programm/fertige Schaltung wird dir nicht gefertigt. Es gibt einige Rasenmäher hier im Forum. Da kannst du dich informieren (Suchen).
Für was willst du die Relais (nicht Releis) benutzen? Für Motoransteuerung ist das nicht geeignet (Motor dreht nicht oder mit maximaler Drehzahl => du musst die Drehzahl stufenlos regeln/steuern können). Dafür sind H-Brücken geeignet.
Für das BB wird es vermutlich kein fertiges Programm geben. Du wirst dafür ein eigenes Programm schreiben müssen. Du könntest eventuell am Roboter einen WLAN Router benutzen der eine eigene, selbst gefertigte Seite besitzt. Über das BB wählst du die IP des Routers mit dieser Seite. Dann wäre eine RS232 Schnittstelle am Router von Vorteil. An dieser kannst du dann deine Schaltung anschließen.

Wenn du BT benutzt musst du ein eigenes Programm schreiben. Module mit RS232 Schnittstelle findest du über Google. Mit BT habe ich leider keine Erfahrung, dadurch kann ich kein Modul empfehlen.

MfG Hannes

Sebastian Meyer
15.02.2012, 14:41
Okay, ich hab mich aber gerade vollkommen umentschieden xD

Ich hab aus nem Kinderspielzeug was Panzersteuerung hatte (2 reifen links ein motor, 2 reifen rechts einmotor) die Elektronik ausgebaut und die 2 kanäle des Empfängers hab ich jetzt an die Analogen pins gemacht...

So weit so gut, ein erster test: (da wo jetzt Led steht kommen die releis für die Motoren hin)

int led1 = 7;
int led2 = 5;
int led3 = 4;
int led4 = 2;
int kanal1 = A0;
int kanal2 = A1;
int kanal3 = A2;
int kanal4 = A3;

void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(kanal1, INPUT);
pinMode(kanal2, INPUT);
pinMode(kanal3, INPUT);
pinMode(kanal4, INPUT);
}

void loop() {
int val = analogRead(kanal1);
if (val == HIGH) {
digitalWrite(led1, HIGH);
}
else {
digitalWrite(led1, LOW);
}
}

So, die led leuchtet wenn ich den einen Hebel nach oben schiebe... aber dan hab ich das mit nem weiteren if else probiert... und das ging nicht... ich brauche Hilfe :S (das if else sollte paralel zum bereits vorhandenen laufen..)

Und kann mir noch jemand sagen, wie ich den den Fahrtenregler ansteuere?

PS: was soll so schlim daran sein, wenn ich nur volle Power oder keine Power bei meinen antriebsmotoren hab?

ePyx
15.02.2012, 14:47
*Kristallkugel such*


Wir sind nicht allwissend. Foto von Platine, Schaltung bzw. Aufbau kann und muss man deutlich präziser beschreiben. Sonst können wir dir absolut nicht helfen. Woher sollen wir denn wissen, was du da genau benutzt ?

Sebastian Meyer
15.02.2012, 15:00
Okay, sorry xD

Ich bin so der programier noob :S wie krieg ichs hin, das mehrere if.. else in void loop() kommen können, aber diese paralel und unabhängig voneinander laufen können... ich weiss nicht ob ihr viel auf Bildern erkennen würdet... aber ich versuchs mal ;)

21535
(es ist noch nicht fertig, das ist jetzt nur zum ausprobieren ;) )

Die Kanäle lassen sich jeweils umpolen ;)

ePyx
15.02.2012, 15:04
unabhängig von einander "parallel" :



void loop ( ) {

if ( Bedingung ) {
Aktion1
} else {
Aktion2
}

if ( Bedingung2 ) {
Aktion3
} else {
Aktion4
}


Parallel geht nicht, höchstens sequentiell. Die Bedingungen werden ja nicht gleichzeitig geprüft, sondern nacheinander.

Sebastian Meyer
15.02.2012, 15:55
Okay, Danke :) jetzt muss ich nurnoch wissen wie ich den Fahrtenregler ansteuere/anschliese und ich hab alles zusammen was ich brauch :D



void loop() {
int val = analogRead(kanal1);
if (val == HIGH) {
digitalWrite(led2, HIGH);
}
else {
digitalWrite(led2, LOW);
}
int val = analogRead(kanal2);
if (val == HIGH) {
digitalWrite(led1, HIGH);
}
else {
digitalWrite(led1, LOW);
}
}


Das hab aber dan kommt da:
Fernsteuerung.cpp: In function 'void loop()':
Fernsteuerung:29: error: redeclaration of 'int val'
Fernsteuerung:22: error: 'int val' previously declared here

Und was bedeuted diese ***** blinkende rote Led die mit "L" gekennzeichnet ist???

ePyx
15.02.2012, 16:21
du definierst val 2mal.




int val = analogRead(kanal2);


in




val = analogRead(kanal2);


Beim Arduino ist das dient die LED zum Testen und zum Anzeigen der Bootloader-Aktivitäten.

Sebastian Meyer
15.02.2012, 16:54
Und warum blinkt die die immer ? und dan geht erst mal nichts mehr und wenn sie aufgehört hat kann ich wieder was machen, das nervt!

21536

ePyx
15.02.2012, 16:56
Das kann die LED nicht sein. Welche meinst du denn ? Ist die auf dem Arduino drauf oder auf deinem Lochraster ?

Sebastian Meyer
15.02.2012, 17:04
Auf dem Arduino drauf, erst blinken ein par andere mit, aber nur kurz, und dan blinkt die "L"-Led ne kurze zeit lang (gefühlt ne ewigkeit ://) und dan hört sie auf und ich kann das Programm wieder verwenden...

Aber das hab ich jetzt gelöst, indem ich nicht mehr das USB Kabel als Stromzufuhr genommen hab ;)

Aber ich weiss immer noch nicht, wie ich jetzt meinen Fahrtenregler anteuern soll -,-

*edit:

ahhh, ich hab grad mal den Ton von meinem Pc angestellt und immer bevor er blinkt scheint sich die Verbindung zum PC zu trennen ;)

ePyx
15.02.2012, 17:22
Das Trennen ist aber nicht normal. Wenn die LED dauerhaft blinkt, kann es sein das du gerade flashen tust, oder aber der Port ist extern beschalten (D13).

Wenn du endlich sagst was es für ein Regler ist. Soll man dich bitten dir zu helfen ?

Sebastian Meyer
15.02.2012, 17:25
xD im allerersten Post satnds drin, egal :P So, ich hab ein Modellbau Fahrtenregler, um genau zu sein ein Modelcraft Bruschless-Set Hurricane 12T mit nem JR steck system (das was auch servos haben)

*edit:

Ich hab schon viel gegoogelt und die meinten alle, die dinger verhalten sich so wie servos... ich hatte aber mal das Excample Programm ausprobiert, das ging nicht...
Und selbst wenns mit der Servo Libary geht, i-wie werd ich aus den ganzen anleitungen nicht schlau, kann mir jemand helfen?

021aet04
15.02.2012, 23:28
Wie hast du den Regler angeschlossen? Normalerweise hat ein Fahrtregler einen Leistungsanschluss. Dieser kommt direkt an eine Versorgung wie z.B. Akku. Du darfst diesen auf keinen Fall an den USB Port hängen da sonst der USB Anschluss kaputt geht. Dann hat der Regler noch einen 3poligen Anschluss. An diesen musst du +5V, GND und das Signal (Impuls von 1-2ms je nach Geschwindigkeit und Richtung und eine Pause von ca. 20ms). Dann sollte es funktionieren.

MfG Hannes

Sebastian Meyer
16.02.2012, 16:50
Das klingt ja einfach, hab ich schon erwänt, das ich nich so gut Programieren kann? xD also, den einen Kontakt hab ich an den pin 9 gemacht, weil der ja PWM hat ;)

Hättest du mal einen einfachen beispielcode für mich?

ePyx
16.02.2012, 16:52
Wie wäre es mit selbst versuchen oder wenigstens selbst im Internet suchen ?

http://arduino.cc/it/Tutorial/PWM (http://arduino.cc/it/Tutorial/PWM)
http://arduino.cc/en/Reference/analogWrite
http://www.arcfn.com/2009/07/secrets-of-arduino-pwm.html

und so weiter und so weiter

Sebastian Meyer
16.02.2012, 23:49
Ja, im internet hab ich schon ewig gesucht, daraus bin ich aber überhaupt nicht schlau geworden ://

ePyx
17.02.2012, 07:04
Mehr als Links wirst du hier von niemanden bekommen. Wir versuchen dir zu helfen, aber werden dir keinen Code schreiben.