Wie letztes Post, noch am Anfang. :-(
Weiter Verkabel und erstmal den Mega 2560 genau anschauen. Die digital Ausgänge 22 bis 53 kann ich nehmen oder für die 18 Signale?
Druckbare Version
Wie letztes Post, noch am Anfang. :-(
Weiter Verkabel und erstmal den Mega 2560 genau anschauen. Die digital Ausgänge 22 bis 53 kann ich nehmen oder für die 18 Signale?
Ich verwende maximal den Arduino UNO. Ich besitze keinen Mega2560. Aber für die Arduinos gilt immer:
- es gibt I/O-Ports, die können PWM
- es gibt Ports, die können Digital
- es gibt Ports, die können Analog
- es gibt Ports, die können einen Interrupt auslösen, wenn am Eingang ein entsprechendes Signal anliegt
Welche Ports das sind, steht z.B. auf Arduino.cc. Dort ist, meist bei den Funktionen, eine Liste, welche Pins / Ports der Arduino Boards verwendet werden können und welche Besonderheiten es gibt.
So zum Beispiel für:
- analogWrite() / PWM: https://www.arduino.cc/reference/en/...o/analogwrite/
- attachInterrupt() / interruptfähige Eingänge: https://www.arduino.cc/reference/en/...tachinterrupt/
Außerdem sind bei den Boards die Pins beschriftet mit ihrer Funktion: Digital, Power, Analog-In, PWM usw. So, wie hier: https://www.circuitstoday.com/arduin...out-schematics
Da der Mega genügend Pins hat, solltest Du keine Probleme haben, welche auszusuchen. Musst nur auf die Funktion achten.
MfG
Also soweit ist das Verstanden habe, kann ich die Digital Ports nehmen beim MEGA 2560. Ich habe mal grob aufgeschrieben welche ich dafür nehmen würde (siehe Bild)Anhang 35324.
Die In/Out Ports kann ich ja nehmen oder?
Programm für erstmal ein Motor testen würde so aussehen:
//Variable deklarieren+++++++++++++++++++++++++++++++++++++++ ++++++++++
//IC1.............
//1.Motor
int 1MotorEin=22;
int 1MotorOut1=24;
int 1MotorOut2=26;
//2.Motor
int 2MotorOut3=28;
int 2MotorOut4=30;
int 2MotorEin=32;
//IC2.............
//3.Motor
int 3MotorEin=34;
int 3MotorOut1=36;
int 3MotorOut2=38;
//4.Motor
int 4MotorOut3=40;
int 4MotorOut4=42;
int 4MotorEin=44;
//IC3.............
//5.Motor
int 5MotorEin=46;
int 5MotorOut1=48;
int 5MotorOut2=50;
//Taster
//1.Motor
int Button1MotorRechts=31;
int Button1MotorLinks=33;
//Hardware Ein-/Ausgänge setzen++++++++++++++++++++++++++++++++++++++++++
void setup() {
pinMode(Button1MotorRechts, INPUT); // Port als Eingang schalten für 1 Motor Rechts Test
pinMode(Button1MotorLinks, INPUT); // Port als Eingang schalten für 1 Motor Links Test
pinMode(1MotorEin, OUTPUT); // Port als Ausgang schalten
pinMode(1MotorOut1, OUTPUT); // Port als Ausgang schalten
pinMode(1MotorOut2, OUTPUT); // Port als Ausgang schalten
pinMode(2MotorEin, OUTPUT); // Port als Ausgang schalten
pinMode(2MotorOut3, OUTPUT); // Port als Ausgang schalten
pinMode(2MotorOut4, OUTPUT); // Port als Ausgang schalten
pinMode(3MotorEin, OUTPUT); // Port als Ausgang schalten
pinMode(3MotorOut1, OUTPUT); // Port als Ausgang schalten
pinMode(3MotorOut2, OUTPUT); // Port als Ausgang schalten
pinMode(4MotorEin, OUTPUT); // Port als Ausgang schalten
pinMode(4MotorOut3, OUTPUT); // Port als Ausgang schalten
pinMode(4MotorOut4, OUTPUT); // Port als Ausgang schalten
pinMode(5MotorEin, OUTPUT); // Port als Ausgang schalten
pinMode(5MotorOut1, OUTPUT); // Port als Ausgang schalten
pinMode(5MotorOut2, OUTPUT); // Port als Ausgang schalten
}
void loop() {
if ((digitalRead(Button1MotorRechts)==HIGH) && (digitalRead(Button1MotorLinks)==LOW)) {
//1 Motor Drehrichtung Rechts
digitalWrite(1MotorEin, HIGH);
digitalWrite(1MotorOut1, HIGH);
digitalWrite(1MotorOut2, LOW);
} else {
//1Motor steht
digitalWrite(1MotorOut1, LOW);
digitalWrite(1MotorOut2, LOW);
}
delay(10); // Kleine Pause
if ((digitalRead(Button1MotorRechts)==LOW) && (digitalRead(Button1MotorLinks)==HIGH)) {
//1Motor Drehrichtung Links
digitalWrite(1MotorEin, HIGH);
digitalWrite(1MotorOut1, LOW);
digitalWrite(1MotorOut2, HIGH);
} else {
//1Motor steht
digitalWrite(1MotorOut1, LOW);
digitalWrite(1MotorOut2, LOW);
}
delay(10); // Kleine Pause
}
Frage: Benutze ich PWM? Mit PWM kann ich Motoren ansteuern (Umdrehungszahl). Einen Motor kann ich auch ohne PWM steuern, nur per Schalter.
Benutze ich kein PWM, dann stehen mir alle Digitalausgänge inkl. der PWM-Pins zur Verfügung.
"Die In/Out Ports kann ich ja nehmen oder?"
Nimm ein Steckbrett, stecke einen 330 Ohm-Widerstand darauf, stecke an den Widerstand eine große LED (~5mm Durchmesser) und das andere Bein gegen GND (ich meine das müsste das kürzere Bein sein). Das noch offene Ende vom Widerstand verbindest Du mit einem I/O-Pin am Arduino-Board. Beschreibe den Port mit "digitalWrite(Pin, HIGH)", nachdem Du "pinMode(Pin, OUTPUT)" ausgeführt hast. Wenn die LED hell aufleuchtet, kannst Du diesen Pin nehmen. Weil a) fungiert er dann als Digital-Pin und b) ist er hardwaretechnisch auch i.O.
Auf blauen Dunst ein Programm schreiben, würde ich nicht empfehlen. Es sei denn, Du hast schon viel Erfahrung damit. Denn funktioniert der doch schon recht große Programmcode dann nicht, fängt die Sucherei an. Daher würde ich empfehlen, Schritt für Schritt vorzugehen. Nicht einen riesen Schritt vor und 10 Kleine zurück. Also: Pin ausprobieren, wenn funktioniert notieren. Hast Du genügend Pins zusammen, eine Tabelle aufstellen, welcher Pin welche Funktion haben soll. Pin und Port haben beim Arduino übrigens unterschiedliche Bedeutungen. Ein Port (A,B,C,D ...) "beinhaltet" mehrere I/O-Pins. Dann nach den Notizen die Verkabelung durchführen und das Programm schreiben. Beim Verkabeln auch Schritt für Schritt vorgehen. Immer eine Sache anschließen und mit ein paar Codezeilen ausprobieren, wenn funktioniert, nächste Sache anschließen usw.
MfG
Step b step sicher... aber erstmal das Bord verbinden... Im Gerätemanager fehlen die 2.0 USB Treiber, ich finde leider noch kein passenden für win10
Die USB-Treiber sollten beim Motherboard dabei sein, auf einer CD. Kann man installieren.
War keine bei oder hab ich nicht mehr...ist ja fast 2 Jahre her...
Da sollte ein Standardtreiber drauf sein. Bei den Originalen sind FTDI Treiber und bei den Klonen meist CH340 Treiber verbaut.
Das sind normale USB/UART Wandler.
PS: Code bitte in Code-Tags schreiben (#-Symbol bzw zwischen [ code ] und [ /code ] ohne Leerzeichen). Dann ist es leichter lesbar und schaut so aus.
Edit: Habe mich vertan, dachte es seinen die USB/UART Treiber, es fehlen aber die USB Treiber.Code:Hier steht dein Code
MfG Hannes
Ich habe noch CDs von Boards, die ich schon lange nicht mehr habe. :)
Mal im Netz suchen. Computer selbst gebaut? Mainboard-Bezeichnung aufschreiben. Auf Herstellerseite gehen, meist gibt es dort einen Button Support -> Treiber ... und eine Suche. Dort nach dem Mainboard suchen und Treiber herunter laden.
Wenn es ein gekaufter Computer ist, im Internet nach Modellbezeichnung suchen, um auf diesem Weg irgendwo an die Treiber zu kommen. Evtl. auf dem Computer irgendwo was finden (Hardware ....) wo eine Mainboardbezeichnung steht oder eine genaue Bezeichnung / Typ des Computers. Dann beim Hersteller auf die Webseite gehen und dort danach suchen.
MfG
https://www.ebay.de/itm/MEGA-2560-R3...72.m2749.l2649
Diesen hier habe ich...