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
Twitter & WiFly anstatt Ethernet Shield
31.05.2014, 00:50
Beitrag #9
RE: Twitter & WiFly anstatt Ethernet Shield
ja du hast Recht, das Forum war leider "offline"… Sad

Vielen Dank ,
so lässt sich auch in meiner IDE alles ohne Fehler kompilieren.

Aber leider hatte ich Recht mit meiner "Befürchtung" bezüglich der SPI und der seriellen Verbindung.

In diesem Sketch wird das WiFly Modul über die SPI angesprochen.

Ich verwende jedoch die serielle Schnittstelle.

Das heißt der Code lässt sich zwar ohne Fehler kompilieren aber funktionieren wird es für meine Anwendung leider nicht. Ich werde mal versuchen den Code auf die serielle umzuschreiben.

Gruß Marc Smile

Shy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.05.2014, 08:45 (Dieser Beitrag wurde zuletzt bearbeitet: 31.05.2014 08:46 von rkuehle.)
Beitrag #10
RE: Twitter & WiFly anstatt Ethernet Shield
Moin Marc,

was dir da wohl helfen könnte, steht (glaube ich) hier:
http://cairohackerspace.blogspot.de/2011...g-and.html
Über die WiFlySerial - und die NewSoftSerial - Lib wird die Steuerung des Shield ohne SPI auf wahlfreien RX/TX-Pins des Arduino realisiert.

Hope it helps!

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.05.2014, 10:15
Beitrag #11
RE: Twitter & WiFly anstatt Ethernet Shield
Morgen Ricardo Smile

Danke für den Link aber mein Problem liegt woanders Wink

Ich versuche es mal zu erklären:

Ich habe ein WiFly RN-171 Modul ohne Platine (also nur das reine Modul),
dieses habe ich auf eine Lochrasterplatine gelötet und folgende Pin´s angeschlossen.

1.) VCC 3,3V
2.) GND
3.) uart rx
4.) uart tx
5.) Status Led GPIO
6.) GPIO 9 ( wenn dieser Pin auf 3,3v liegt Ad-Hoc Mode / Recovery Mode.

Dann habe ich mir folgende Library installiert: WiFlyHQ.h

Und diesen Code geschrieben:

Code:
// WiFly RN-171 / Verbindungsaufbau zu einem Router (SSID, Passwort), nach erfolgreichem Aufbau der Verbindung wird über die serielle Schnittstelle die Mac & die IP Adresse ausgegeben.
// Marc Rudorfer 1.2

#include <WiFlyHQ.h>                                                    // librarys.
#include <SoftwareSerial.h>                                             // librarys.

#include <Wire.h>                                                       // I2C Library
#include <LiquidCrystal_I2C.h>                                          // I2C LCD DISPLAY Library

LiquidCrystal_I2C lcd(0x20,16,2);                                       // I2C Adresse des Displays, Displayart in unserem Fall 16,2 Zeichen.


SoftwareSerial wifiSerial(2,3);                                         // Pin an dem die serielle Schnitstelle des WiFly RN-171 angeschlossen ist (Rx,TX).


WiFly wifly;                                                            // WiFly = wifly // bezüglich der GROß - kleinschreibung.



const char mySSID[] = "Homecontrolserver";                              // Hier die SSID eintragen (hinter den Anführungszeichen).
const char myPassword[] = "****************";                 // Hier das Passwort eintragen (hinter den Anführungszeichen).
        


char buf[80];                                                           // Speicher (Größe).




void setup() {

        lcd.init();                                                     // LCD DISPLAY initialisieren
        lcd.backlight();                                                // Hintergrundbeleuchtung des LCD DISPLAYS
        lcd.setCursor(1, 0);                                            // festlegen der Position des Textes.      
        lcd.print("WiFly Net INFO");                                    // Text anzeigen.
  
  
        Serial.begin(9600);                                             // Serielle Schnittstelle mit 9600 Baud starten.                
  
        wifiSerial.begin(9600);                                         // Serielle Schnittstelle des WiFly mit 9600 Baud starten.
    
        Serial.println("        ");                                     // Ausgabe auf der seriellen Schnittstelle (zeigt dort "xxxxxxxx" an).
        delay(2000);                                                    // Pause.
        Serial.println("Startet");                                      // Ausgabe auf der seriellen Schnittstelle (zeigt dort "xxxxxxxx" an).
        lcd.setCursor(4, 1);
        lcd.println("Startet         ");
        delay(1500);
        Serial.println("bitte warten bis eine Verbindung besteht.");
        lcd.setCursor(3, 1);
        lcd.println("verbinden.      ");
        delay(1000);
        lcd.setCursor(3, 1);
        lcd.println("verbinden..     ");
        Serial.println("*");
        delay(1000);
        Serial.println("**");
        delay(1000);
        lcd.setCursor(3, 1);
        lcd.println("verbinden...    ");
        Serial.println("***");
        delay(1000);
        Serial.println("****");
        delay(1000);
        Serial.println("*****");
        delay(500);
        Serial.println(":)");
         lcd.setCursor(3, 1);
        lcd.println("verbinden....   ");
        delay(500);



    if (!wifly.begin(&wifiSerial)) {                                    // -> original (!wifly.begin(&wifiSerial, &Serial)).          
      
        Serial.println("Failed to start wifly");
    }
    

    if (!wifly.isAssociated()) {                                        // Wenn WiFly verbunden ist dann....(siehe die nächsten code-Zeilen).            
      
    Serial.println("Joining network");                              // Text Ausgabe auf der seriellen Schnittstelle.
        lcd.setCursor(0, 1);
        lcd.println("Joining Network");
    wifly.setSSID(mySSID);                                          // SSID festlegen nach angegebener (SSID siehe oben im code).
    wifly.setPassphrase(myPassword);                                // Passwort festlegen nach angegebenem (Passwort siehe oben im code).
    wifly.enableDHCP();                                             // DHCP einschalten.
    wifly.save();                                                   // alles speichern.

    if (wifly.join()) {                                                 // Wenn WiFly sich mit dem angegebenen (SSID) Netzwerk verbunden hat.....
      
    Serial.println("Joined wifi network");                          // wenn "verbunden" dann Ausgabe über die serielle Schnittstelle -> "xxxxxxxxxx".
    lcd.setCursor(0, 1);
        lcd.println("Joined Wifi Network");
        }
        else {                                                          // ansonsten (falls nicht verbunden).
          
     Serial.println("Failed to join wifi network");                 // dann Ausgabe über die serielle Schnittstelle -> "xxxxxxxxxx".
    }

      } else {
        
        Serial.println("verbunden");                                    // Ausgabe des Textes "xxxxxxxxx" über die serielle Schnitstelle.
        Serial.println("eigene Mac & IP Adresse");                      // Ausgabe des Textes "xxxxxxxxx" über die serielle Schnitstelle.

        lcd.setCursor(0, 1);
        lcd.println("  verbunden :)  ");
        }


        Serial.print("MAC: ");                                          // MAC-Adresse über die serielle Schnittstelle ausgeben.
        Serial.println(wifly.getMAC(buf, sizeof(buf)));
        delay(1000);
        Serial.print("IP: ");                                           // IP-Adresse  über die serielle Schnittstelle ausgeben.
        Serial.println(wifly.getIP(buf, sizeof(buf)));
        delay(1000);
        lcd.clear();
        lcd.setCursor(1, 0);
        lcd.println("zugewiesene IP ");
        delay(1000);
        lcd.setCursor(3, 1);
        lcd.println(wifly.getIP(buf, sizeof(buf)));
        
        


    }

  

void loop() {                                                           // Programmschleife (loop).
  
    
}                                                                       // Programm Ende.

Das WiFly verbindet sich sehr schnell und einwandfrei mit meinem Router und gibt die Mac und Ip Adresse über I2C-LCD und die serielle Schnittstelle aus.

Dann habe ich den nächsten Sketch geschrieben weil ich die Ausgänge ansprechen wollte und mir eine Temperatur anzeigen wollte:

Code:
// Programm erkennt ob eine Verbindung zwischen dem WiFly Rn-171 und einem Endgerät besteht und schaltet dementsprechend einen Ausgang (Bsp. Led) an oder aus. Marc Rudorfer Version 1.0
// Ausgabe der Temperatur bei Zeichen "t" , sowie umschalten von 2 Ausgängen ( mit "a" oder "b"). Pin 8 / 9.
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 10

OneWire ourWire(ONE_WIRE_BUS);

DallasTemperature sensors(&ourWire);

#include <WiFlyHQ.h>                                                    // librarys.
#include <SoftwareSerial.h>                                             // librarys.

#include <Wire.h>                                                       // I2C Library
#include <LiquidCrystal_I2C.h>                                          // I2C LCD DISPLAY Library

LiquidCrystal_I2C lcd(0x20,16,2);                                       // I2C Adresse des Displays, Displayart in unserem Fall 16,2 Zeichen.


SoftwareSerial wifiSerial(2,3);                                         // Pin an dem die serielle Schnitstelle des WiFly RN-171 angeschlossen ist (Rx,TX).

WiFly wifly;                                                            // WiFly = wifly // bezüglich der GROß - kleinschreibung.


int data;

const int connected = 5;
const int test_a = 8;
const int test_b = 9;



  void setup()
   {
     sensors.begin();

     Serial.begin(9600);
     wifiSerial.begin(9600);                                               // Serielle Schnittstelle des WiFly mit 9600 Baud starten.
     lcd.init();                                                           // LCD DISPLAY initialisieren
     lcd.backlight();                                                      // Hintergrundbeleuchtung des LCD DISPLAYS
     lcd.setCursor(2, 0);                                                  // festlegen der Position des Textes.      
     lcd.print("WiFly Remote");                                         // Text anzeigen.

     pinMode(connected, OUTPUT);
     pinMode(test_a, OUTPUT);
     pinMode(test_b, OUTPUT);

     while (!Serial) {
     }



   wifiSerial.begin(9600);
   }

  void loop()
  {
    sensors.requestTemperatures(); // Temperatur abfragen

  
    if (wifiSerial.available() > 0) {

    data = wifiSerial.read();
    
    switch (data);
    
    if (data == 'o') {
       lcd.clear();
       lcd.setCursor(3, 0);                                                  // festlegen der Position des Textes.      
       lcd.print("Terminal        ");                                         // Text anzeigen.
        lcd.setCursor(1, 1);                                                  // festlegen der Position des Textes.      
       lcd.print("aktuell aktiv   ");                                         // Text anzeigen.

       digitalWrite(connected, HIGH);
     }
    
    if (data == 'c') {
        lcd.clear();
        lcd.setCursor(2, 0);                                                  // festlegen der Position des Textes.      
        lcd.print("WiFly Remote");                                         // Text anzeigen.
        digitalWrite(connected, LOW);
     }
    
    
    if (data == 'a') {
       lcd.clear();
       lcd.setCursor(0, 0);                                                  // festlegen der Position des Textes.      
       lcd.print("Empfangen a");                                         // Text anzeigen.
       digitalWrite(test_a, HIGH);
       digitalWrite(test_b, LOW);
       delay(2500);
       lcd.clear();
       lcd.setCursor(2, 0);                                                  // festlegen der Position des Textes.      
       lcd.print("WiFly Remote");                                         // Text anzeigen.
      }
    
    
    if (data == 'b') {
       lcd.clear();
       lcd.setCursor(0, 0);                                                  // festlegen der Position des Textes.      
       lcd.print("Empfangen b");                                         // Text anzeigen.
       digitalWrite(test_a, LOW);
       digitalWrite(test_b, HIGH);
       delay(2500);
       lcd.clear();
       lcd.setCursor(2, 0);                                                  // festlegen der Position des Textes.      
       lcd.print("WiFly Remote");                                         // Text anzeigen.
      
     }
    
     if (data == 't') {
       lcd.clear();
       lcd.setCursor(0, 0);                                                  // festlegen der Position des Textes.      
       lcd.print("Empfangen t");                                            // Text anzeigen.
       sensors.requestTemperatures();                                       // Temp abfragen      
       wifiSerial.print(sensors.getTempCByIndex(0) );
       wifiSerial.print(" Grad Celsius");
       delay(2500);
       lcd.clear();
       lcd.setCursor(2, 0);                                                  // festlegen der Position des Textes.      
       lcd.print("WiFly Remote");                                         // Text anzeigen.
      
     }
    
    
   }
  }


Auch das klappt super Smile

Dann bin ich Irgendwie auf diesen Code im Internet gekommen und wollte diesen testen :

Code:
// (Based on Ethernet's Twitter Example)
// Replace ssid and passphrase with appropriate info.
//twitterUsername is now set to "arduino", but can be changed to any other username.
//enjoy! :D
//

#include "WiFly.h"

String twitterUsername = "xxxxxx"; //set the twitter user you'd like to get here.



char ssid[] = "";  //enter your ssid here.
char passphrase[] = ""; //enter your passphrase here.

const unsigned long requestInterval = 60000;  // delay between requests
boolean requested;                   // whether you've made a request since connecting
unsigned long lastAttemptTime = 0;            // last time you connected to the server, in milliseconds

String currentLine = "";            // string to hold the text from server
String tweet = "";                  // string to hold the tweet
boolean readingTweet = false;       // if you're currently reading the tweet


Client client("api.twitter.com", 80);

void setup() {
  currentLine.reserve(256);
  tweet.reserve(150);
  
  
  Serial.begin(9600);

  WiFly.begin();
  
  if (!WiFly.join(ssid,passphrase)) {
    Serial.println("Association failed.");
    while (1) {
      // Hang on failure.
    }
  }  

  Serial.println("connecting...");

}

void loop() {
  if(client.connected()){
    if (client.available()) {
      char inChar = client.read();
      
      // add incoming byte to end of line:
      currentLine += inChar;

      // if you get a newline, clear the line:
      if (inChar == '\n') {
        currentLine = "";
      }
      
      if ( currentLine.endsWith("<text>")) {
        // tweet is beginning. Clear the tweet string:
        readingTweet = true;
        tweet = "";
      }
      // if you're currently reading the bytes of a tweet,
      // add them to the tweet String:
      if (readingTweet) {
        if (inChar != '<') {
          tweet += inChar;
        }
        else {
          // if you got a "<" character,
          // you've reached the end of the tweet:
          readingTweet = false;
          Serial.println(tweet);  
          // close the connection to the server:
          client.stop();
        }
    
      }
    }
  }
  else if (millis() - lastAttemptTime > requestInterval) {
    // if you're not connected, and two minutes have passed since
    // your last connection, then attempt to connect again:
  connectToServer();
  }
}

void connectToServer() {
  // attempt to connect, and wait a millisecond:
  Serial.println("connecting to server...");
  if (client.connect()) {
    Serial.println("making HTTP request...");
    // make HTTP GET request to twitter:
    client.println("GET /1/statuses/user_timeline.xml?screen_name="
    +twitterUsername + "&count=1 HTTP/1.1");
    client.println("HOST: api.twitter.com");
    client.println();
  }
  // note the time of this connect attempt:
  lastAttemptTime = millis();
}

Also brauchte ich die WiFly.h Library da in der WiFlyHQ.h andere Bezeichnet und Werte usw. stehen. Nun gut die WiFly.h runtergelassen und Installiert (in einem neuen Verzeichnis).

sobald ich den code kompilieren will wird diese Zeile markiert (Auszug aus dem code):

Client client("api.twitter.com", 80); // (ORANGE MAKIERT) <---

Folgene Fehlermeldung:

Arduino: 1.5.6-r2 (Mac OS X), Board: "Arduino Uno"

arduino_wifly_twitter:26: error: 'Client' does not name a type
arduino_wifly_twitter.ino: In function 'void loop()':
arduino_wifly_twitter:49: error: 'client' was not declared in this scope
arduino_wifly_twitter.ino: In function 'void connectToServer()':
arduino_wifly_twitter:94: error: 'client' was not declared in this scope

Ich habe also jetzt insgesamt noch 3 große Probleme:

1.) Die beiden Librarys stören sich aber ich kann ja praktisch auf keine verzichten wegen der unterschiedlichen Programme…

2.) Immer dieser doofe Fehler mit den "clients" egal ob es um einen WiFly - code oder diesen mode light code geht überall wo irgendwas mit client im code steht geht nichts mehr -.-

3.) Das WiFly funktioniert in meinen beiden Sketchen super ( mit router verbinden , und der zum Temperatur und Ausgänge schalten). ÜBER UART (serielle Schnittstelle).
aber solbad ich einen code habe der zb für die SPI Ansteuerung des WiFly Wlan Moduls gedacht und verfasst ist bin ich leider aktuell nicht fähig den so anzupassen das dieser code dann anstatt spi mit uart die Verbindung aufnimmt.

an meine aktuellen Hardware kann es ja nicht liegen da diese (siehe meine 2 code´s ) ja super funktioniert.

Ich hoffe das war deutlicher Wink

Ps. sorry für den langen Text.

Bin für Anregungen und jeder Art von Hilfe sehr dankbar Smile

Gruß Marc

Shy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.05.2014, 11:49
Beitrag #12
RE: Twitter & WiFly anstatt Ethernet Shield
Hallo Marc,

danke für die ausführliche Erklärung.
Ich habe nun folgende Schritte gemacht um beide Libs (WiFly und WiFlyHQ) parallel installieren zu können.
1. in der Datei WiFlyHQ.h muß die Zeile
Code:
typedef const char PROGMEM prog_char;
auskommentiert werden.
Sonst gibt es Deklarationskonflikte für die Variable "prog_char", da diese auch in der pgmspace.h im Core der IDE deklariert wird.
Damit laufen die Sketche 1 und 2 mit installierter WiFly und WiFlyHQ Lib.

2. Im Sketch Nummer 3 muß die SPI.h included werden. Theoretisch könnten zwar die sonst fehlenden Deklarationen aus der SPI Lib in die WiFly Lib geschrieben werden, ich würde davon aber abraten ExclamationExclamationExclamation
Ebenso muß aus der Zeile
Code:
Client client("api.twitter.com", 80);
noch
Code:
WiFlyClient client("api.twitter.com", 80);
gemacht werden.
So laufen alle 3 Sketche bei Installation beider Libraries.

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.05.2014, 12:12
Beitrag #13
RE: Twitter & WiFly anstatt Ethernet Shield
Hey Ricardo,
danke für deine Bemühungen mir bei meinen Problemen weiter zu helfen Wink

Der Sketch lies sich jetzt kompilieren, aber ich musste ja nun die Ansteuerung des Wlan Moduls von der SPI auf die serielle Anpassen und dabei stören sich leider wiedereinmal die Librarys und die unterschiedlichen ansprech Varianten.

Ich glaube m besten wäre es wenn ich das WiFly einfach nochmal zerlege und die SPI Schnittstelle mit anlöte um diese für diese Art von Programmen zu nutzen dann erspare ich mir diese unnötigen Fehler und das code geschnipsel Big Grin

Was meinst du?

Gruß Marc

Shy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.05.2014, 12:19
Beitrag #14
RE: Twitter & WiFly anstatt Ethernet Shield
Zitat:Ich glaube m besten wäre es wenn ich das WiFly einfach nochmal zerlege und die SPI Schnittstelle mit anlöte um diese für diese Art von Programmen zu nutzen dann erspare ich mir diese unnötigen Fehler und das code geschnipsel Big Grin
Sicher der bessere Weg.
Naja, und über die WiFlyHQ - Lib sage ich jetzt mal: Man kann durchaus mehr Sorgfalt beim Programmieren walten lassen Smile

Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.05.2014, 12:21 (Dieser Beitrag wurde zuletzt bearbeitet: 31.05.2014 12:25 von Marc2014.)
Beitrag #15
RE: Twitter & WiFly anstatt Ethernet Shield
Ok gut, dann mache ich mich an die Arbeit Wink

INFOS folgen ->

haha Big Grin

Smile

Gruß Marc

Hört sich so an als sollte man das nicht anrühren ?


2.2 SPI Master Interface
The RN171 module contains a master SPI interface (SPI_CS, SPI_CLK, SPI_MISO, and SPI_MOSI) that is connected to an internal Flash memory. Do not connect these pins on the host PCB.
2.3 SDIO Client Interface
The RN171 modules contain an SDIO client with SD- SPI mode and interface (SD_CLK/SCLK, SD_D3/SS, SD-D2, SD_D1/INT, SD_D0/MISO, and SD_CMD/ MOSI). This interface is not currently implemented in the WiFly command reference.
2.4 In-System Programming (ISP)
The ISP_TX, ISP_RX, and other pins allow in-system programming of the module. The module’s firmware can be upgraded via ISP using a *.bin file.
Though it is optional, it is recommended to place the ISP header on the host PCB to facilitate firmware upgrades during development and manufacturing. The header is two row by 8-pin with 0.050 inch space and pitch (Samtech P/N FTSH-108-01-F-DV-K). Refer to Figure 3-3 for information about connecting to the mod- ule for ISP. The RN-ISP in-system programming inter- face connects to the module for ISP. Refer to the RN- ISP product page on the Microchip web site for more information.

Shy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.05.2014, 14:23
Beitrag #16
RE: Twitter & WiFly anstatt Ethernet Shield
Ich habe gerade gelesen, daß
- der "Normalbetrieb" des RN171 ausschließlich über RX/TX erfolgt
- SPI nur intern benutzt wird. Zum einen als "Schnittestelle" zwischen dem UART Chip und dem RN171 Chip und zum zweiten wenn die Firmware des RN171 geflasht wird (ist aber nochmal eine ganz eigene Kiste)
Irgendwo stand auch, dass jemand den WiFly-SPI auf den Controller verbunden hat und danach das Shield wegschmeißen durfte (also Finger weg).
Laut Hersteller kann die RN171 nicht per SPI gesteuert werden. Somit bleibt nur die Steuerung über RX/TX.
Daher auch mein Verweis auf http://cairohackerspace.blogspot.de/2011...g-and.html Die machen das genau so!

Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  CP2102 und USB Host Shield ?? DL1AKP 0 53 01.12.2016 08:55
Letzter Beitrag: DL1AKP
  Arduino UNO und Ethernet Shield 2 POE und Fritzbox 3272 tr3 2 168 19.11.2016 10:46
Letzter Beitrag: tr3
  Kommunikation über das WiFi-Shield Flap 3 235 07.11.2016 20:20
Letzter Beitrag: hotsystems
  Ethernet Modul Enc28j60 Pin13 LED Schalten BennIY 16 522 27.09.2016 20:30
Letzter Beitrag: BennIY
  Arduino Lan Shield - Visual Basic ZackiE 6 218 20.09.2016 19:26
Letzter Beitrag: ZackiE
  adafruit V2.3 Shield Hangloose 6 298 08.09.2016 17:13
Letzter Beitrag: rpt007
  Can-Bus Shield ok, aber keine Daten Clubsport 38 1.546 01.09.2016 14:17
Letzter Beitrag: Clubsport
  Arduino mega 2560 mit TFT LCD Touch Shield V1 Clemens55555 17 947 02.08.2016 20:51
Letzter Beitrag: Clemens55555
  SainSmart 3.2 TFT + 5" TFT/SD Shield + Due SAM3X8E ARM (Arduino Due) Techniker_UE 13 3.243 24.07.2016 14:34
Letzter Beitrag: Eichner
  PWM-Lüfter mit Adafruit Motor-Shield steuern? phischmi 9 468 22.07.2016 18:06
Letzter Beitrag: phischmi

Gehe zu:


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