DLL um einen Arduino zu Kontrollieren

    • Beta
    • Open Source

    Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von 00yoshi.

      DLL um einen Arduino zu Kontrollieren

      Das Programm an sich heißt ArduinoControl und ist als Wrapper für einen Arduino gedacht, damit ihr ihn mit VB2010 kontrollieren könnt.
      Ihr könnt alle Ports kontrollieren, mitsamt Einlesen und Pull-Up Widerstand und AnalogRead(leider nur 8 bits)
      Ich habe dafür Microsoft Visual Basic 2010 Express verwendet.
      Systemanforderungen: Arduino, einen freien USB-Port und die Arduino-IDE.
      Es verändert nichts am System.
      Screenshots im Anhang (Dateigrößen auch :) ).
      Benötigt .NET Client Profile Framework 4.0

      Code für den Arduino:
      Spoiler anzeigen

      C-Quellcode

      1. byte Buffer[2];
      2. void setup() {
      3. Serial.begin(115200);
      4. }
      5. void loop() {
      6. if (Serial.available()) {
      7. Buffer[0] = Serial.read();
      8. Buffer[1] = Serial.read();
      9. Buffer[2] = Serial.read();
      10. switch (Buffer[0]) {
      11. //Set Pin Modes
      12. case 1:
      13. switch (Buffer[1]) {
      14. case 1:
      15. pinMode(Buffer[2], OUTPUT);
      16. break;
      17. case 2:
      18. pinMode(Buffer[2], INPUT);
      19. break;
      20. case 3:
      21. pinMode(Buffer[2], INPUT_PULLUP);
      22. break;
      23. };
      24. break;
      25. //Set Digital Outputs
      26. case 2:
      27. switch(Buffer[1]) {
      28. case 1:
      29. digitalWrite(Buffer[2], LOW);
      30. break;
      31. case 2:
      32. digitalWrite(Buffer[2], HIGH);
      33. break;
      34. };
      35. break;
      36. //Set Analog Outputs
      37. case 3:
      38. analogWrite(Buffer[2], Buffer[1]);
      39. break;
      40. //Read Digital Inputs
      41. case 4:
      42. if (digitalRead(Buffer[2])) {
      43. Serial.write(2);
      44. break;
      45. }
      46. else {
      47. Serial.write(1);
      48. break;
      49. }
      50. //Read Analog Inputs
      51. break;
      52. case 5:
      53. Serial.write((byte)(analogRead(Buffer[2])/4));
      54. break;
      55. };
      56. };
      57. }

      Changelog
      Spoiler anzeigen

      0.1A Release

      Bilder
      • Control 12.12.2014 19.56.27.png

        5,45 kB, 174×209, 1.080 mal angesehen
      Dateien

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „00yoshi“ ()

      Da der TE noch nicht antworten kann mach ich es schonmal.
      Ein Arduino ist ein Mikrocontroller und hat eher weniger mit einem Raspberry Pi zu tun.
      Das "Standard" Board (Arduino Uno) hat folgende Daten:
      Spoiler anzeigen

      Microcontroller: ATmega328
      Operating Voltage: 5V
      Input Voltage: (recommended)7-12V
      Input Voltage: (limits)6-20V
      Digital I/O Pins: 14 (of which 6 provide PWM output)
      Analog Input Pins: 6
      DC Current per I/O Pin: 40 mA
      DCurrent for 3.3V Pin 50 mA
      Flash Memory: 32 KB (ATmega328) of which 0.5 KB used by bootloader
      SRAM: 2 KB (ATmega328)
      EEPROM: 1 KB (ATmega328)
      Clock Speed: 16 MHz
      Length: 68.6 mm
      Width: 53.4 mm
      Weight: 25 g

      Quelle: arduino.cc/en/pmwiki.php?n=Main/arduinoBoardUno


      Wie du siehst gibt es dabei kein Video Ausgang (wie z.B. HDMI oder AV) und auch sonnst eigentlich nur Die Digitalen und Analogen Pins. Wobei Analog nur Eingang ist.
      Dazu gibt es noch allerlei "Shields" für das Board wie z.B. Ethernet, LCD Screen, Servo Controller... : arduino.cc/en/Main/Products

      Hierbei läuft auf einem Arduino an sich kein eigenes "OS" wie z.B. Raspbian auf einem Raspberry Pi sondern eigentlich lediglich der Bootloader.
      Man selbst kann dabei die Auszuführenden Programme selber in C bzw. Processing schreiben. Mit der Arduino IDE: arduino.cc/en/Main/Software

      Hoffe das war hilfreich ;)

      LG