Hallo Leute,
ich hab ne Frage und zwar ich würde gerne einen ATtiny45 so
programmieren das er auf Knopfdruck eine Ausgabe(Text) über TX macht.
Das ganze soll erst dann wieder aufhöhren wenn ich den Taster loslasse,
bis dahin soll er solange den Befehl senden bis ich loslasse!
Könnte mir da bitte jemand helfen da ich in dem Bereich uC ein Neuling
bin.
Den Software UART konnte ich einrichten aber wie binde ich den Befehl so
ein das er beim drücken gesendet wird?
MfG Hans
[c]
#include <SoftwareSerial.h>
# define rxPin 3
# define txPin 4
SoftwareSerial _bluetoothSerial = SoftwareSerial(rxPin, txPin);
void setup() {
// initialize serial communications at 9600 bps:
_bluetoothSerial.begin(9600);
delay(100);
}
void loop() {
_bluetoothSerial.println("Hello Zero Tiny!");
// delay for 1 second
delay(1000);
}
Also wenn ich es mit Arduino überprüfe zeigt er mir Fehler an.
Ich bin echt ne Niete in so was!
kannste mir es bitte bitte so machen das es funktioniert. :)
mfg Hans
Hans85 schrieb:> Also wenn ich es mit Arduino überprüfe zeigt er mir Fehler an.> Ich bin echt ne Niete in so was!
Vor allem eine Niete, uns mal den Fehler mitzuteilen :-)
Oder hält er etwa ein Schild hoch, auf dem nur steht "Fehler"?
asdf schrieb:> Oder hält er etwa ein Schild hoch, auf dem nur steht "Fehler"?
Wieso? Das ist doch offensichtlich.
1
#define BUTTON_PIN 7
2
...
3
while(BUTTON_PIN)
Er sendet ohne Taste.
Hans85 schrieb:> kannste mir es bitte bitte so machen das es funktioniert.
Da steht es doch:
Matthias S. schrieb:> Du könntest in deine Arduino loop() einfach einewhile (Knopfdruck)> {> bluetoothblabla...> }einbasteln.> Den Knopfdruck wirst du wohl als DigitalInput(sowienoch) konfigurieren> müssen, wimre.
mfg.
Wollte grad noch fragen wieso er denn ohne Pin sendet, weil wird ja
definiert. Dann hab ich mir aber mal kurz das Arduino pinout zum Attiny
angeschaut. =)
Nein, das funktioniert nicht.
Das Ding sendet immer.
Obendrein hast Du eine Endlosschleife in loop() - die gehört da nicht
hin.
Du willst jetzt herausfinden, wie man auf einem Arduino einen Eingang
abfragt.
Derzeit rufst Du Deine print-Funktion auf, wenn der Wert 7 wahr ist. Da
in C-artigen Sprachen jeder Wert als wahr angesehen wird, der nicht 0
ist, ist das immer der Fall.
Hans85 schrieb:> kannste mir das mal schreiben wie das geht bitte?
Du siehst in die Dokumentation zum Thema Taster abfragen. Oder
siehst Dir eines der vermutlich zigtausend Youtube-Tutorials dazu an.
Könnte mir bitte jemand bei dem Code helfen und ihn so schreiben das
erpasst? ich blick hier net durch und ich brauch nur den Code.
Danke Leute schonmal für die nett und freundlich Hilfe hier!!!!
mfg Hans
Hans85 schrieb:> ich blick hier net durch und ich brauch nur den Code.Rufus Τ. F. schrieb:> Nein. So funktioniert das hier nicht.
Da packt mich die Wut.
Er braucht in seinem Leben wahrscheinlich nur dieses eine Programm
-sonst Nichts und nie wieder. Da stellt sich der Herr Moderator hin und
gibt den Oberlehrer. Kotz!
Leider kann ich mit der Arduino-Sprache und/oder C nicht um, sonst wäre
es mir ein Fest gewesen.
Ich hab null Ahnung von dem Programmieren und brauch wirklich nur das
eine Programm :)
Bis ich mich in die Materie eingelesen und verstanden habe bin ich alt
und grau :)
Für die Profis is es doch mit sicherheit ein Kinderspiel! Währe euch
sehr dankbar!!
mfg Hans
Damit Du nicht im Inhaltsverzeichnis nachsehen musst:
Lies hier:
http://funduino.de/index.php/3-programmieren/nr-5-tastendruck
Da ist ein kommentiertes Beispiel, wie ein Taster ausgewertet wird.
Das kannst Du übernehmen, Du musst nur anstelle des LED-Krams Deine
Ausgaben da einbauen.
Du hast jetzt bereits deutlich mehr Zeit damit vergeudet, hier um
"Hilfe" zu betteln, als es Dich gebraucht hätte, dem von mir geposteten
Link zu folgen und dort nachzulesen, und das dort geschriebene auf Dein
fast funktionierendes Progrämmchen anzuwenden.
Irgendwo hast Du das ja auch her, was Du Dir da zusammengereimt hast.
Lass dich nicht veräppeln.
Wenn man sich damit nicht auskennt, woher soll man wissen was man in dem
Beispiel an welcher Stelle ersetzen soll ?
while (digitalRead(BUTTON_PIN) == HIGH)
{
...
}
Allerdings wärst du wirklich durch eine kleine Internetrecherche bereits
fertig.
Holger L. schrieb:> Wenn man sich damit nicht auskennt, woher soll man wissen was man in dem> Beispiel an welcher Stelle ersetzen soll ?
Indem man liest und vergleicht.
Da stehen Kommentare, da ist ausführlichst beschrieben, wie so eine
Tasterauswertung funktioniert.
Das hat nichts mit "veräppeln" zu tun.
Also So? ihr wisst noch das ich kein plan davon habe!
Ich frage mich wo es im internet was gibt welches nur ansatzweiße mit
meinem Problem zu tun hat! Ich wollte euchg nicht belästigen mit meinen
Fragen aber ich habe nix gefunden was mit Software UART, Taster und
Print befehl ansatzweise zutun hat. Darum war meine letzte anlaufstelle
hier bei euch!
Hans85 schrieb:> Also So? ihr wisst noch das ich kein plan davon habe!
Warum greifst du dann zu einem Werkzeug, von dem du keinen Schimmer hast
und zudem du auch nicht bereit bist, dir die Grundlagen anzueignen, die
man beim Spielen mit den Beispielen normalerweise nach einem Nachmittag
drauf hat?
Hi
>Also So? ihr wisst noch das ich kein plan davon habe!
Ja, hast du oft genug betont.
Aber warum willst du etwas machen, wovon du keine Ahnung hast?
MfG Spess
spess53 schrieb:> Ja, hast du oft genug betont.>> Aber warum willst du etwas machen, wovon du keine Ahnung hast?
Warum versuchst Du, zu antworten, wenn Du nicht helfen kannst?
Langeweile? Geltungsdrang?
Da gab es mal Einen, der ein Auto kaufte. Er konnte mühelos damit
fahren, es aber nicht bis in's Kleinste durchschauen. Ja, das ist
verwerflich! Leute, die nicht mindestens ein Maschinenbau-Diplom ihr
Eigen nennen, sollten nur mit dem Holzroller fahren dürfen.
Rektal Invasiver schrieb:> Da gab es mal Einen, der ein Auto kaufte. Er konnte mühelos damit> fahren, es aber nicht bis in's Kleinste durchschauen. Ja, das ist> verwerflich!
Hier in diesem Fall geht es aber gar nicht darum, dass jemand mit dem
Auto fahren will. Er will sich ein Auto selber bauen, obwohl er es nicht
kann. Dieser Vergleich passt viel besser, stimmts?
Rektal Invasiver schrieb:> Warum versuchst Du, zu antworten, wenn Du nicht helfen kannst?> Langeweile? Geltungsdrang?
Nach aufmerksamen lesen deiner Beiträge sehe ich, dass du genau das
tust, worüber du dich aufregst.
Keinerlei Hilfe für unseren Hans85.
Wie war das noch gleich, mit dem Splitter im Auge des anderen und dem
Balken vor dem eigenen Schädel?
;-)
PS:
Kann den Widerstand gut verstehen....
Ich helfe auch nur lernwilligen.
Fässer ohne Boden werden nicht gefüllt.
Hans85 schrieb:> wie lange dauert das?
Hans, Rufus hat dir zwei Beiträge höher doch schon den genauen Code
gepostet. Brauchst du nur kopieren und nebenbei ist der schon fertig in
der Arduino IDE. Unter den Beispielen findest du den.
Ist schon ein bisschen her, seit ich zum letzten Mal die Arduino IDE
benutzt habe, aber das dürfte sich nicht geändert haben.
Stefan U. schrieb:> Übrigens hat der ATtiny45 ein serielles Interfaces. Kann Arduino das> etwa nicht nutzen?
Asynchrones UART übers Tiny25/45/85 USI ist schon etwas komplizierter.
Das Datenblatt verspricht zwar, das es etwas einfacher ist, als es
komplett in Software zu machen, aber die Soft-UART ist ja beim Arduino
SDK schon dabei (und läuft beim TE ja auch schon).
Ulrich F. schrieb:> PS:> Kann den Widerstand gut verstehen....> Ich helfe auch nur lernwilligen.> Fässer ohne Boden werden nicht gefüllt.
Das kommt dabei raus.
Ich hab noch per Email Kontakt zum TO. Inzwischen hat er weitere
Anforderungen an das Programm genannt. Ich fasse mal zusammen:
- Am µC sind zwei Taster angeschlossen
- Und ein Bluetooth Modul HM-10 BLE
- Ein Taster löst das Pairing zum Empfänger aus
- Der andere Taster sendet einen Befehl an den Empfänger, um dort einen
Ausgang auf High zu schalten
- Der Sender soll mit einer CR2032 Batterie betrieben werden- daraus
ergeben sich weitere Anforderungen zur Energieverwaltung
Was noch fehlt:
- Schaltplan
- Gewünschte Bitrate
- Nennung der Befehle und wie sie terminiert werden
- Timing zwischen den Befehlen
- Fehlerbehandlung
- Konfiguration des Pairings
- Genaue Anforderungen an die Energieverwaltung
- Vermutlich fehlt ein Taster oder Timer, der den Ausgang am Empfänger
zurück auf Low setzt.
- Fehlererkennung unf Fehlerbehandlung (z.B. wenn das Pairing
fehlschlägt)
- Bereitstellung eines Prototypen (Hardware) - denn Debugging per Email
oder Diskussionsforum scheint mir nicht ratsam.
Dass es mit 20 Euro nicht getan ist, habe ich ihm gerade geschrieben.
Aber vielleicht hat ja hier jemand Lust, das Projekt kostenlos
fortzuführen. Kommt ja gelegentlich vor. Ich helfe auch manchmal einfach
aus Spaß an der Herausforderung - heute allerdings nicht.
> Für die Profis is es doch mit sicherheit ein Kinderspiel!
Ganz Recht, aber erst, wenn die Anforderungen sauber formuliert sind und
nachdem die Machbarkeit geklärt ist.
Rufus Τ. F. schrieb:> Indem man liest und vergleicht.>> Da stehen Kommentare, da ist ausführlichst beschrieben, wie so eine> Tasterauswertung funktioniert.
Ja das ist klar. Aber wenn man komplett neu ist in dieser Welt, und man
erstmal ein Ergebnis sehen möchte das zeigt das es voran geht benötigt
man eben schnelle Hilfe ohne sich vorher zwei drei Wochen mit der
Materie auseinander zu setzen. Dafür gibt es doch solche Module.
Was wirklich nervt ist diese ständige herumnörgelei, das schlecht machen
anderer um sich selber auf ein Podest zu stellen.
Rufus Τ. F. schrieb:> Das hat nichts mit "veräppeln" zu tun.
Das bezog sich übrigens auf die bezahlte Hilfe, da der Beitragsersteller
darauf angesprungen ist. Ich war ein wenig schreibfaul, Samstagabend...
Holger L. schrieb:> Aber wenn man komplett neu ist in dieser Welt, und man erstmal ein> Ergebnis sehen möchte das zeigt das es voran geht
Dann arbeitet man so ein Tutorial durch, wie das, was ich verlinkt habe.
Dafür braucht man keine "zwei drei Wochen", das ist an einem Nachmittag
erledigt - das mit dem Taster ist schließlich schon der fünfte Schritt.
Rufus Τ. F. schrieb:> Dann arbeitet man so ein Tutorial durch, wie das, was ich verlinkt habe.> Dafür braucht man keine "zwei drei Wochen", das ist an einem Nachmittag> erledigt
Richtig. Hier sind solche Könner am Werk, die sich sogar ein Studium
sparen könnten:
Da arbeitet man mal schnell ein Tutorial durch und ist wahlweise
Informatiker oder E-Techniker -an einem Nachmittag.
Pass nur auf, daß Dir die Arroganz nicht die Hemdknöpfe über der
geschwellten Brust wegreißt!
Hallo Hans,
Dein letztes hier gepostetes Programm wird sich nicht kompilieren
lassen. In der Loop fehlt eine "geschweifte Klammer zu". Zur jeden
geöffneten Klammer muss es eine "schließende" Klammer geben.
Hier gibt es eine gute Erklärung zur Abfrage von Tastern:
http://starthardware.org/lektion-12-der-taster-und-if-abfrage/
Rektal Invasiver schrieb:> Da arbeitet man mal schnell ein Tutorial durch und ist wahlweise> Informatiker oder E-Techniker -an einem Nachmittag.
Schon wieder so ein hinkender Vergleich.
Meinst du, daß ein Informatiker nicht mehr können muß als einen Taster
abzufragen?