INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Ethernet- und Motor Shield mit Bipolarem Motor
02.04.2015, 01:23
Beitrag #1
Ethernet- und Motor Shield mit Bipolarem Motor
Das ist der Code um eine LED via der DomoticHome App an- und auszuschalten.
Aber was mus ich verändern/reinbringen damit ein bipolarer Motor (an den arduino angeschlossen über ein breadboard und darauf ein motorshield, die pins 5, 6, 7 vom uno zum 11, 12, 13 vom motorshield) an/aus geht, sprich sich nach rechts und/oder nach links dreht bei drücken vom jeweilligen "taster" in der App. Ich habe keinen blassen schimmer wie ich vorgehen sollHuh

hoffe auf eure HilfeBlush
Mfg

Code:
// ARDUINO 0021
//
//
#include <SPI.h>
#include <Ethernet.h>

#define action_none -1
#define action_out_all 0
#define action_on_light 1
#define action_off_light 2

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xBE }; //physical mac address
byte ip[] = { 178, 142, 113, 97 };            // ip address
byte gateway[] = { 192, 168, 178, 1 };            // internet access via router
byte subnet[] = { 255, 255, 255, 0 };             //subnet mask
EthernetServer server(80);                          //server port
String readString = String(30); //string for fetching data from address

// arduino out
int pinOutPlight = 4;


// incoming GET command
String r_pinOnLight = "GET /?out=4&status=1";
String r_pinOffLight = "GET /?out=4&status=0";
String r_out_all = "GET /?out=all";

// current action
int current_action;

void setup(){
  //start Ethernet
  Ethernet.begin(mac, ip, gateway, subnet);
  delay(1000);

  pinMode(pinOutPlight, OUTPUT);
  digitalWrite(pinOutPlight, LOW);
  //enable serial datada print
  Serial.begin(9600);
  current_action = -1;
}
void loop(){
  current_action = -1;

  // Create a client connection
  EthernetClient client = server.available();
    if (client) {
    while (client.connected()) {
     if (client.available()) {
      char c = client.read();
      //read char by char HTTP request
      if (readString.length() < 30)
      {
        //store characters to string
        readString = readString + c;
      }
      //output chars to serial port
      //Serial.print(c);
      //if HTTP request has ended
      if (c == '\n') {

       Serial.print(readString);
       // ****************************************************
        if(readString.startsWith(r_pinOnLight))
        {
        Serial.print("\n ON UP \n");
        current_action = action_on_light;
        }
        else if(readString.startsWith(r_pinOffLight))
        {
         Serial.print("\n OFF UP \n");
         current_action = action_off_light;
        }
        else if(readString.startsWith(r_out_all))
        {
        Serial.print("\n ALL\n");
        current_action = action_out_all;
        }
        else
        {
        Serial.print("\n None \n");
        current_action = action_none;
        }
       // ****************************************************
        // now output HTML data starting with standart header
        client.println("HTTP/1.1 200 OK");
        client.println("Content-Type: text/html");
        client.println();
       char buf[12];
       switch(current_action)
       {
       case action_out_all:
        client.print("{\"ip\" : \"192.168.1.222\", \"devices\" : [{ \"type\" : \"light\", \"name\" : \"LED\", \"out\" : \"");
        client.print(pinOutPlight);
        client.print("\"}");
        client.print("]}");
         break;
       case action_on_light:
         digitalWrite(pinOutPlight, HIGH);
         client.print("{\"status\" : \"1\" , \"out\" : \"");
         client.print(pinOutPlight);
         client.print("\"}");
         break;
       case action_off_light:
         digitalWrite(pinOutPlight, LOW);
         client.print("{\"status\" : \"0\" , \"out\" : \"");
         client.print(pinOutPlight);
         client.print("\"}");
         break;
       default:
         current_action = action_none;
       }


       // ****************************************************

        //clearing string for next read
        readString="";
        //stopping client
        client.stop();
      }
    }
    }
  }
}

Ihr seid alle Super RolleyesHeart
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.04.2015, 12:48
Beitrag #2
RE: Ethernet- und Motor Shield mit Bipolarem Motor
(02.04.2015 08:27)t.a.f.k.a.Z. schrieb:  das Lesen und Interpretieren von Beschreibungen zu Pin-Belegungen ist für mich schwierig,
wie sieht die Schaltung aus - Schaltbild, Fritzing, etc. - Huh
(und ggf. die Links zu den Komponenten - es gibt diverse Motorshield's und zahlreiche bipolare Motoren)

Also dass mit den Pins ist doch vorerst unwichtig, ich möchte ja den Programmiercode
von dem Motor in die besagte App (der Code den ich am Anfang zeigte) einbinden. Ich habe bloß keine Ahnung wie, wo ich den Einbinden muss:/

- Schrittmotor: Bipolar, 200 Steps/Rev, 35x28mm, 10V, 500mA
- L293D Motor Shield Antriebs Schild Modul IC-Vorstand für Arduino Mega 3230

Ihr seid alle Super RolleyesHeart
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.04.2015, 12:18
Beitrag #3
RE: Ethernet- und Motor Shield mit Bipolarem Motor
(02.04.2015 16:55)t.a.f.k.a.Z. schrieb:  welchen Programmcode willst Du für den Stepper verwenden ? und welchen Code für die H-Bridge ?
auch hier gibt es einige Varianten

z.B.:
http://42bots.com/tutorials/bipolar-step...-h-bridge/

Dein Link ist super, Danke!
Ich denke das zweite Beispiel passt am besten. Nun, wenn ich das in den App-Code eingebastelt bekommen würde, dann könnte ich ja den Code vom stepper so funktionalisieren, dass der Motor entweder per (app)-Knopfdruck/touch eine bestimmte drehzahl nach rechts dreht und dann stoppt das gleiche anders herrum auf dem anderen Knopf, oder eben auf Knopfdruck so lange dreht bis man den selben wieder betätigt. So mein Ziel.

Hier der Link zu dem Hauseigenen Tutorial meiner genannten App.
Dort ist eine Anleitung zur erstellung des Codes. Ich bin allerdings noch Anfänger genug um daraus nicht schlau zu werden, wie man daraus noch etwas anderes als eine LED zum leuchten bringen herrausfiltern zu könnte. Um möglicherweise einen Stepper manuell steuern zu könnenSmile
Also vielleicht hilt das ja:/

http://www.domotichome.net/tutorials/2-h...ublic_show
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  motor shield hankewitz 2 199 24.11.2016 08:11
Letzter Beitrag: Binatone
  Arduino+Ethernet+RFID+MySQL RonSH 12 651 13.10.2016 22:32
Letzter Beitrag: Tommy56
  Arduino mit DFRobot DMX Shield - Wer hilft mir auf die Sprünge??? colmans 1 622 11.01.2016 20:23
Letzter Beitrag: fraju
  Motor-Parameter-TFT im Auto ChristianK 10 1.959 22.12.2015 11:44
Letzter Beitrag: aef
Thumbs Up Facebook LCD (Like Crystal Display) mit Ethernet Shield Wampo 0 984 02.12.2015 23:05
Letzter Beitrag: Wampo
  Ferngesteuerter Motor Kreativlos 3 1.541 27.11.2015 22:22
Letzter Beitrag: hotsystems
Bug Segway / Self Balancing Robot DIY mit Gyro, Accel, Sabertooth 2x60 und My1020z2 Motor Wampo 17 17.302 30.10.2015 16:46
Letzter Beitrag: wsm
  Arduino Ethernet Kamera 4711engel 3 2.507 03.06.2015 16:23
Letzter Beitrag: 4711engel
  Arduino GSM Shield Anruf mit "Knopfdruck" tätigen prinzpi 1 2.069 14.05.2015 12:52
Letzter Beitrag: hackbarth
  Projekt Check: 2 Schrittmotoren + Motor Shiled + 3x NeoPixelRing paq 7 3.550 05.05.2015 20:42
Letzter Beitrag: paq

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste