Arduino Q&A

Es gibt 439 Antworten in diesem Thema. Der letzte Beitrag () ist von gfcwfzkm.

    Hi,

    Ich habe nun wieder eine Frage:
    Ich habe mittlerweile noch einen LDR aufgetrieben und möchte wenn mein Zimmer dunkel wird den PC auf Standby schalten. Wenn das Zimmer hell wird soll der PC angehen. Das Messen der Helligkeit an sich ist kein Problem aber ich habe bisher keinen Trick gefunden wie ich den PC "sleepen"/"waken" lasse. Ich habe rausgefunden, dass der Arduino als Tastatur agieren kann und man damit z.B. Makros senden kann. Wenn der PC jedoch schläft reagiert er nicht mehr auf den Tastaturanschlag. Gibt es eine Lösung die funktioniert ohne dass ich mein Notebook auseinander bauen muss um hinter dem Einschalter noch was zwischen zu schalten oder einen Servor über die Tastatur hänge?

    Ein Danke an die die mir hilfreiche Antworten geben und sich durch den Text geqäult haben :thumbsup:

    8-) faxe1008 8-)
    @Nitro-X:
    Rumgespiele an dem BIOS mit dem Arduino wenn er läuft und ich ihn nicht mehr kontrollieren kann ist mir ein wenig zu riskant.

    @Manawyrm:
    An sich auch ne Idee, habe aber kein Ethernet Shield für den Leonardo. Außerdem steht unser Router 1 Stockwerk tiefer und ich glaube es entfacht nicht gerade helle Begeisterung wenn ich durch die Wohnung geschätzte 30 Meter LAN Kabel verlege ^^

    8-) faxe1008 8-)
    @faxe1008: Nitro-X meint damit, dass du JETZT einmal in die BIOS-Einstellungen gehen solltest, und dort die Option "Power on Keyboard/Keypress" anschalten sollst. Danach sollst du den Arduino anschließen. Jetzt kannst du den PC aufwecken, indem du mit dem Arduino einen Tastendruck an den PC sendest - dabei greifst du nicht mit dem Arduino auf das BIOS zu.

    FlashTek schrieb:

    JETZT einmal in die BIOS-Einstellungen gehen solltest, und dort die Option "Power on Keyboard/Keypress" anschalten sollst. Danach sollst du den Arduino anschließen.

    Richtig, danke @FlashTek. Seit wann kann man mit nem Arduino überhaupt aufs BIOS von einem Rechner zugreifen?!?!
    M.f.G. Nitro-X
    Gute Spieler cheaten schlecht! 8-)

    Button1.Visible = False
    If Button1.Click then Shell ("C:\brain.exe")
    end if
    Danke habe das mit dem WakeON hingekriegt ^^. Heute sind die Sensoren gekommen und ich würde gerne meine Fernsehfernbedienung nutzen um den IR Sensor anzusteuern, allerdings habe ich keine Ahnung wie ich das Ding anschließen muss ?( (Es lag kein Datenblatt dabei). Im Internet habe ich schon zich Tutorials dazu gesehen, aber entweder hat man es nicht aufgrund der Kameraführung sehen können oder die Aufbaue waren grundverschieden voneinander. Teilweise hatten die das Ding sogar ohne Vorwiederstand angeschlossen 8| . Ich wäre froh wenn es mir jemand erklären beziehungweise eine Zeichnung dessen anfertigen könnte bevor ich meinen Arduino samt IR-Sensor grille.

    Außerdem im Netz habe ich schon oft von der IRremote Lib gehört - brauch man diese Wirklich um zum Beispiel herauszufinden welcher Knopf gedrückt wurde?

    Danke für eure Hilfe :thumbup:

    8-) faxe1008 8-)
    @Myrax: Habe es nun so aufgebaut wie du angegeben hast mit folgendem Code:


    VB.NET-Quellcode

    1. int Sensorwert = 0;
    2. void setup(){
    3. Serial.begin(9600);
    4. }
    5. int bl = 2342805;
    6. void loop(){
    7. Sensorwert = analogRead(A0);
    8. if (bl != Sensorwert){
    9. delay(200);
    10. Serial.println(Sensorwert);
    11. bl = Sensorwert;
    12. }
    13. }

    Allerdings wenn ich die Fernbedienung nehme ist es egal bei welcher Taste immer 0. Was muss ich ändern? Wenn es hilft: Ich verwende den originalen Arduino Leonardo (R3 glaube ich).

    8-) faxe1008 8-)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „faxe1008“ ()

    @Myrax:
    Also ich glaub allmählich es läuft irgendwas falsch ?(

    Wenn ich es so anschließe wie du es gezeigt hast und das hier verwende:

    Quellcode

    1. int Sensorwert = 0;
    2. void setup(){
    3. Serial.begin(9600);
    4. }
    5. void loop(){
    6. Sensorwert = digitalRead(11);
    7. delay(200);
    8. Serial.println(Sensorwert);
    9. }


    Dann gibt er nur 0 oder 1 aus ?(

    Außerdem: ich habe einen Temperatursensor so ähnlich angeschlossen und das Ding wird glühend heiß - ich hab mir den Finger dran verbrannt. Ist das normal?

    8-) faxe1008 8-)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „faxe1008“ ()

    Sorry für den TrippelPost.

    Ich habe es geschafft das Ganze mit der IRremote Lib zum laufen gebracht zumindest fast:

    Quellcode

    1. #include <IRremote.h>
    2. int RECV_PIN = 11;
    3. IRrecv irrecv(RECV_PIN);
    4. decode_results results;
    5. void setup()
    6. {
    7. Serial.begin(9600);
    8. irrecv.enableIRIn(); // Start the receiver
    9. }
    10. void loop() {
    11. if (irrecv.decode(&results)) {
    12. Serial.println(results.value, HEX);
    13. irrecv.resume(); // Receive the next value
    14. }
    15. }


    Hier die Ausgabe:

    VB.NET-Quellcode

    1. 288.00
    2. 288.00
    3. 276.00
    4. 276.00
    5. 220.00
    6. 220.00
    7. 282.00
    8. 282.00
    9. 229.00
    10. 229.00
    11. 291.00
    12. 291.00
    13. 259.00
    14. 259.00
    15. 295.00
    16. 295.00
    17. 212.00
    18. 212.00
    19. 286.00
    20. 286.00
    21. 271.00
    22. 271.00
    23. 274.00
    24. 274.00
    25. 286.00


    Ich habe die ganze Zeit wie ein bekloppter auf die selbe Taste gedrückt saß genau davor, aber die Werte wechseln bei gleicher Taste :?: . Hätte jemand die Güte mir bei dem ewigen Rätselraten auf die Sprünge zu helfen ;(

    8-) faxe1008 8-)
    Das mit dem Infrarot und Arduino habe ich schon hinbekommen. Es ist bei vielen Fernbedienungen, das sie 2 Werte pro Taste anzeigen, also jedesmal wenn man drückt, wechselt der wert.

    Bei deinen Werten, erkenne ich jetzt aber kein System.

    Verwende mal dieses Programm, und sie dir die Ausgaben genau an.

    Spoiler anzeigen

    C-Quellcode

    1. /*
    2. * IRremote: IRrecvDump - dump details of IR codes with IRrecv
    3. * An IR detector/demodulator must be connected to the input RECV_PIN.
    4. * Version 0.1 July, 2009
    5. * Copyright 2009 Ken Shirriff
    6. * http://arcfn.com
    7. * JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post)
    8. */
    9. #include <IRremote.h>
    10. int RECV_PIN = 11;
    11. IRrecv irrecv(RECV_PIN);
    12. decode_results results;
    13. void setup()
    14. {
    15. Serial.begin(9600);
    16. irrecv.enableIRIn(); // Start the receiver
    17. }
    18. // Dumps out the decode_results structure.
    19. // Call this after IRrecv::decode()
    20. // void * to work around compiler issue
    21. //void dump(void *v) {
    22. // decode_results *results = (decode_results *)v
    23. void dump(decode_results *results) {
    24. int count = results->rawlen;
    25. if (results->decode_type == UNKNOWN) {
    26. Serial.print("Unknown encoding: ");
    27. }
    28. else if (results->decode_type == NEC) {
    29. Serial.print("Decoded NEC: ");
    30. }
    31. else if (results->decode_type == SONY) {
    32. Serial.print("Decoded SONY: ");
    33. }
    34. else if (results->decode_type == RC5) {
    35. Serial.print("Decoded RC5: ");
    36. }
    37. else if (results->decode_type == RC6) {
    38. Serial.print("Decoded RC6: ");
    39. }
    40. else if (results->decode_type == PANASONIC) {
    41. Serial.print("Decoded PANASONIC - Address: ");
    42. Serial.print(results->panasonicAddress,HEX);
    43. Serial.print(" Value: ");
    44. }
    45. else if (results->decode_type == JVC) {
    46. Serial.print("Decoded JVC: ");
    47. }
    48. Serial.print(results->value, HEX);
    49. Serial.print(" (");
    50. Serial.print(results->bits, DEC);
    51. Serial.println(" bits)");
    52. Serial.print("Raw (");
    53. Serial.print(count, DEC);
    54. Serial.print("): ");
    55. for (int i = 0; i < count; i++) {
    56. if ((i % 2) == 1) {
    57. Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
    58. }
    59. else {
    60. Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC);
    61. }
    62. Serial.print(" ");
    63. }
    64. Serial.println("");
    65. }
    66. void loop() {
    67. if (irrecv.decode(&results)) {
    68. Serial.println(results.value, HEX);
    69. dump(&results);
    70. irrecv.resume(); // Receive the next value
    71. }
    72. }



    mfg Ebrithil
    Mein Erstes Tutorial: Erweitertes Arduino Tutorial

    Simpler D&D FTP Uploader: Edge-Load
    Heyyo, habe mir gerade mal im Thread der ganzen Projekte mit den Adruinos, alles angeguckt und ich fands sehr interresant. Habe mich nun dazu entschlossen auch einmal mit sowas anzufangen. Nur meine Frage ist jetzt, könnt ihr mir dort vieleicht mal Tipps geben, was mann zum anfang hin alles haben sollte um es einigermaßen gut lernen zu können?
    Kostengrenze liegt bei rund 60€. Meine andere Frage wäre jetzt, kann ich diese dann mit Vb.net programieren oder c++/C# ?
    Schoneinmal vielen Dank im vorraus.
    mfg Splash