Ein 8 Tasten-Modul für eine RC-Fernsteuerung und ein Attiny44 RC-Empfänger-Modul

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Ein 8 Tasten-Modul für eine RC-Fernsteuerung und ein Attiny44 RC-Empfänger-Modul

      Mahlzeit, nachdem hier die Bastelumgebung endlich Fehlerfrei und präzise funktioniert (nochmal ein großes DANKE an Pluto25) kann gebastelt werden.

      Wie der Titel erahnen lässt geht es um RC-Basteleien, in diesem Fall wurde bei einer Futaba beim öffnen des Gehäuse ein 5ter nicht angeschlossener Kanal entdeckt a_64_3a718cae . O.K. den kann man gebrauchen und etwas basteln, z.B. ein Tastenfeld welches feste Werte bei Tastendruck liefert. Damit Ungenauigkeiten der Bauteile, RC-Anlage... nicht zum tragen kommen habe ich mich für 8 Tasten entschieden, die Futaba liefert auf dem Kanal 5 mit einem 10k Poti Werte von ca. 93 - 214 was doch schon brauchbar ist. Also ran ans Werk und mit 8 470Ohm Widerständen 8 Tastern und einem 2k5 Poti für die Mittelstellung ein Modul für den Sender gebastelt, dann noch ein Attiny44 der am Empfänger die Signale auswertet und etwas schaltet...

      Der Stromlaufplan für das Sender-Modul ist so einfach das er im Programm mit Zeichen dargestellt werden kann :-), der Attiny44 macht nix besonderes nur eine LED an wenn ein Signal kommt. Im Moment gibt es 1 RC-Modell bei dem eine Taste eine Hupe ansteuert und eine Taste einen DFPlayer ein/aus schaltet, mal sehen was mir sonst noch so einfällt.

      Programm um die Werte zu ermitteln:

      BASCOM-Quellcode

      1. ' Compiler: Bascom 2.0.7.5
      2. ' Dateiname: RC-Signal-Tester A44.avr
      3. ' Funktion: mit einem ATtiny44 die Werte eines RC-Kanal auf einem Display anzeigen
      4. ' Datum: Start 02.02.2020, Stand 03.02.2020
      5. ' Von: Naubaddi
      6. ' --- Mikrocontroler Daten... ----------------------------------------------------------------------------------
      7. $regfile = "attiny44.dat"
      8. $crystal = 8000000
      9. $hwstack = 30
      10. $swstack = 30
      11. $framesize = 30
      12. ' &HFF, &H62, &HDF, &HFF ' 1MHz
      13. $PROG &HFF, &HE2, &HDF, &HFF ' 8MHz
      14. ' --- Deklarationen... -----------------------------------------------------------------------------------------
      15. config lcdpin = pin , Db4 = porta.2 , Db5 = porta.3 , Db6 = porta.4 , Db7 = porta.5 , E = porta.0 , Rs = porta.1
      16. config lcd = 16 * 2
      17. config porta = output
      18. cursor off
      19. cls
      20. config pina.6 = input
      21. ' --- Variablen... ---------------------------------------------------------------------------------------------
      22. dim Signal as byte
      23. dim Signal_alt as byte
      24. ' --- Vorbelegung der Variablen... -----------------------------------------------------------------------------
      25. Signal = 0
      26. Signal_alt = 0
      27. locate 1,1
      28. lcd "Signal: 0"
      29. ' --- Programm Anfang ------------------------------------------------------------------------------------------
      30. do
      31. pulsein Signal , pina , 6 , 1 ' Signal vom RC- Empfänger auslesen
      32. if Signal <> Signal_alt then
      33. Signal_alt = Signal
      34. locate 1,9
      35. lcd Signal ; " " ' den Signal-Wert auf dem Display anzeigen
      36. endif
      37. loop
      38. ' --- Programm Ende --------------------------------------------------------------------------------------------
      39. end
      40. ' --------------------------------------------------------------------------------------------------------------
      Alles anzeigen


      Programm für das Attiny44 Empfänger-Modul:

      BASCOM-Quellcode

      1. ' Compiler: Bascom 2.0.7.5
      2. ' Dateiname: 8 Taster Futaba.avr
      3. ' Funktion: mit einem ATtiny44 die Werte eines RC-Kanal auswerten und etwas schalten
      4. ' Datum: Start 10.12.2019, Stand 02.03.2020 (10.12.2019 für PICAXE 14M2, 02.03.2020 für Attiny44)
      5. ' Von: Naubaddi
      6. '
      7. ' ATtiny44 (B.3 RESET)
      8. '
      9. ' +----v----+
      10. ' VCC | 1 14| GND
      11. ' PCINT8/XTAL1 B.0 | 2 13| A.0 ADC0/AREF/PCINT0
      12. ' PCINT9/XTAL2 B.1 | 3 12| A.1 ADC1/AIN0/PCINT1
      13. ' PCINT11/RESET/dW B.3 | 4 11| A.2 ADC2/AIN2/PCINT2
      14. ' PCINT10/INT0/OC0A/CKOUT B.2 | 5 10| A.3 ADC3/T0/PCINT3
      15. ' PCINT7/ICP/OC0B/ADC7 A.7 | 6 9| A.4 ADC4/USCK/SCL/T1/PCINT4
      16. ' PCINT6/OC1A/SDA/MOSI/ADC6 A.6 | 7 8| A.5 ADC5/DO/MISO/OC1B/PCINT5
      17. ' +---------+
      18. '
      19. '
      20. ' Tastenmodul für den RC-Kanal 5 der Futaba
      21. '
      22. ' ----------470-------470-------470-------470------> schwarz/links
      23. ' | | | | |
      24. ' | Taster Taster Taster Taster
      25. ' | | | | |
      26. ' Poti 2K5-----------------------------------------------> rot/Mitte
      27. ' | | | | |
      28. ' | Taster Taster Taster Taster
      29. ' | | | | |
      30. ' ----------470-------470-------470-------470------> orange/rechts
      31. '
      32. ' --- Mikrocontroler Daten... ----------------------------------------------------------------------------------
      33. $regfile = "attiny44.dat"
      34. $crystal = 8000000
      35. $hwstack = 30
      36. $swstack = 30
      37. $framesize = 30
      38. ' &HFF, &H62, &HDF, &HFF ' 1MHz
      39. $PROG &HFF, &HE2, &HDF, &HFF ' 8MHz
      40. ' --- Deklarationen... -----------------------------------------------------------------------------------------
      41. config pinb.2 = input ' Eingang für das RC-Signal
      42. config portb.1 = output ' Ausgang für Taste 1
      43. config portb.0 = output ' Ausgang für Taste 2
      44. config porta = output ' Ausgang für Taste 3 - 8 und keine Taste
      45. ' --- Variablen, Alias -----------------------------------------------------------------------------------------
      46. dim Signal as byte
      47. dim Signal_alt as byte
      48. Ausgang_1 alias portb.1
      49. Ausgang_2 alias portb.0
      50. Ausgang_3 alias porta.0
      51. Ausgang_4 alias porta.1
      52. Mitte alias porta.7
      53. Ausgang_5 alias porta.2
      54. Ausgang_6 alias porta.3
      55. Ausgang_7 alias porta.4
      56. Ausgang_8 alias porta.5
      57. ' --- Vorbelegung der Variablen und Alias ----------------------------------------------------------------------
      58. Signal = 0
      59. Signal_alt = 0
      60. ' --- Programm Anfang ------------------------------------------------------------------------------------------
      61. do
      62. pulsein Signal , pina , 6 , 1 ' Signal vom RC- Empfänger abfragen
      63. if Signal <> Signal_alt then ' nur wenn ein neues Signal anliegt auswerten
      64. Mitte = 0
      65. Select case Signal
      66. case 109 to 113
      67. Ausgang_1 = 1
      68. case 121 to 125
      69. Ausgang_2 = 1
      70. case 128 to 132
      71. Ausgang_3 = 1
      72. case 134 to 138
      73. Ausgang_4 = 1
      74. case 148 to 152
      75. Mitte = 1
      76. Ausgang_1 = 0
      77. Ausgang_2 = 0
      78. Ausgang_3 = 0
      79. Ausgang_4 = 0
      80. Ausgang_5 = 0
      81. Ausgang_6 = 0
      82. Ausgang_7 = 0
      83. Ausgang_8 = 0
      84. case 157 to 161
      85. Ausgang_5 = 1
      86. case 165 to 169
      87. Ausgang_6 = 1
      88. case 176 to 180
      89. Ausgang_7 = 1
      90. case 191 to 195
      91. Ausgang_8 = 1
      92. end select
      93. Signal_alt = Signal
      94. endif
      95. loop
      96. ' --- Programm Ende --------------------------------------------------------------------------------------------
      97. end
      98. ' --- Prozeduren, Funktionen... --------------------------------------------------------------------------------
      99. ' --- Data Reihen... -------------------------------------------------------------------------------------------
      100. ' --------------------------------------------------------------------------------------------------------------
      Alles anzeigen

      8 Tasten Sender-Modul::
      Tasten-Modul.jpg

      Empfänger-Modul mit 9 LEDs:
      Empfänger-Modul mit LEDs.jpg

      Grüßle, Naubadd
    • Ein schönes Projekt, gut als Beispiel für die Verwendung von Pulsein.
      Hast du bedacht, dass die LEDs nicht aus gehen, wenn du beim Umschalten nie eine Taste loslässt?
      Andersherum: Wenn im Sender ein Poti als Eingabegerät (statt 8 Taster) benutzt wird, dann gehen die eingeschalteten LEDs nicht aus, wenn nicht die Mitte überfahren wird.

      Gruß, Michael
    • Morjen, ja das ist im Moment so, es ist so eine Art Testprogramm um zu sehen was passiert. Man kann es so auch schon einsetzen für einfache Funktionen die nur ein/aus benötigen, alles weitere wird sich ergeben. Habe im Moment noch keine genaue Vorstellung was da noch kommt, es reicht erst mal 8 Tasten für 8 Funktionen zu haben.

      Für ein Poti oder irgendwas Anderes am Kanal 5 kann man mit dem Programm "RC-Signal-Tester A44.avr" auf einem Display sehen was so passiert, und dann entscheiden was das Programm machen soll...

      Da hier noch der Attiny44 mit angelöteten Bauteilen zur Fehlersuche rumlag wurde er weiter verwertet, jetzt ist er ein 8 Tasten Empfänger-Modul.

      Das Modul so klein wie möglich und ein paar LEDs zum Testen:
      Attiny44-8-Tasten.jpg

      Grüßle, Naubaddi
    • Nett gemacht. Wenn die Ausgänge toggle Funktion hätten wäre es sogar schon richtig gut.
      Im RC-Line Forum gab es vor Jahren mal einen Einsteigerkurs mit BASCOM. Da wurde u.a. ein Mehrkanaldecoder vorgestellt, der mit dem originalen Graupner Sendemodul lief: rclineforum.de/forum/board72-e…ung-f%C3%BCr-einsteiger/?
      Ich hab das mal etwas abgespeckt, geht ganz gut: rc-sub.de/diverse-elektronik/6…-decoder-nach-gietenbruch
    • Für eine toggle Funktion habe ich im Moment keine Verwendung, getoggelt wird bei den Empfänger-Modulen die so gebastelt werden ;-).

      Da der Quelltext oben steht kann Jeder der mag ihn Seinen Wünschen anpassen, mir fällt im Moment nix ein wofür toggle bei meinen Modellen zu gebrauchen wäre.

      Grüßle, Naubaddi