Forum: Mikrocontroller und Digitale Elektronik Möchte Arduino mit RFM70-S verbinden!?


von Ich m. (ich_m)


Lesenswert?

Hi all,

dies ist mein erster Beitrag, deshalb wenn ich hier was falsch mache, 
nur sagen!

Ich hab zwei Arduinos und vier RFM70-S (Sende-/Empfangsmodul)! Ich habe 
an die Module schon die Kabel angelötet und schon etwas ausprobiert; 
weit gekommen bin ich aber leider nicht! ;-(

Ich hab noch keine Ahnung, wie des mit den ganzen Registern und dem 
SPI-Bus funktioniert! Es wäre nett, wenn ihr mir helfen könnt, 
gutefrage.net und Google konnetnt nicht helfen. Ich hab eine 
interessante PDF-Datei (http://www.ne555.at/images/ne555/RFM70.pdf) 
gefunden, wo viel darüber drin steht, aber leider nur in Englisch!

Ich programmiere in der neusten ArduinoSoftware (1.0)! Ich hab zwar auch 
schon einige Beispiele gefunden, aber nicht für die ArduinoSoftware!

Danke im voraus, die mir das gut erklären können (dazu gehören auch 
Link)!

von Hans (Gast)


Lesenswert?

Und wo ist jetzt deine Frage? Hilfe alles klappt nicht ist keine Frage. 
Geh alles Schritt für Schritt durch und stell dann hier KONKRETE Fragen. 
Dann wird dir auch geholfen.

Und Englisch wirst du wohl lernen müssen. Datenblätter (da steht 
eigentlich immer alles drinn was man wissen muss) gibts nur auf 
Englisch.

von Ich m. (ich_m)


Lesenswert?

Ich hab keine genaue Frage, ich möchte nur, dass mir jemand das was oben 
steht erklärt. Also wie des mit dem SPI funktioniert, wie ich das Modul 
zu verbinden habe, was ich programmieren muss, ... Ich verstehe von dem 
SPI halt noch fast nichts und deshalb wollte ich, dass es mir jemand 
erklärt!

Des wegen Englisch was du gesagt hast:
Ich lerne Englisch, kann aber noch net so viel (7. Klasse)!
Und:
In diesem Datenblatt steht, z.B. nicht drin, welche Funktionen ich zum 
Programmieren brauch. Das ist mir zwar klar, dass es nicht drin steht,
trotzdem hilft es mir dann nur ein wenig weiter!

Fürs nächste mal:
Antworte auf des, was da steht! Da steht ja, was ich noch net kann, und 
was ich erklärt haben wollte!

von Tom (Gast)


Lesenswert?

Und in der 7. Klasse hast Du noch nicht gelernt korrektes Deutsch zu 
schreiben, kannst die lokale Suche nicht bedienen und kennst auch Google 
nicht?

http://www.mikrocontroller.net/articles/Serial_Peripheral_Interface

http://kner.at/home/news.avr.rfm70.html

von Fox Mulder (Gast)


Lesenswert?

Ich m. schrieb:
> Fürs nächste mal:
> Antworte auf des, was da steht! Da steht ja, was ich noch net kann, und
> was ich erklärt haben wollte!

http://www.gutefrage.net/frage/arduino-uno-mit-dem-sende-empfangsmodul-rfm70-s-verbinden

> Ich hätte gerne Schaltpläne und ein passendes Programm!

> Die hilfreichste Antwort bekommt natürlich den Titel 'Hilfreichste
> Antwort' von mir! ;-)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ich m. schrieb:
> Ich hab keine genaue Frage, ich möchte nur, dass mir jemand das was oben
> steht erklärt. Also wie des mit dem SPI funktioniert, wie ich das Modul
> zu verbinden habe, was ich programmieren muss, ... Ich verstehe von dem
> SPI halt noch fast nichts und deshalb wollte ich, dass es mir jemand
> erklärt!

So funktioniert das nicht. Zerlege Dein Problem in Teile (wie 
programmiert man Deinen µC, was ist SPI, wie steuert man SPI mit Deinem 
µC an, wie funktioniert der RFM70, wie ist das alles miteinander zu 
verbinden) und fang an, diese Teile nacheinander abzuarbeiten.

Dich an die Hand nehmen und Dir alles Erklären wird hier niemand. Du 
kannst, darfst und sollst hier jederzeit Fragen stellen, aber das nur 
dann, wenn Du erkennen lässt, daß Du selber versucht hast, etwas 
herauszufinden.

Eine Frage wie "Was ist SPI" lässt das nicht erahnen, aber eine Frage 
wie "Wofür ist die Taktpolarität bei SPI da, und was passiert, wenn sie 
falsch eingestellt ist?" schon eher.

von Ich m. (ich_m)


Lesenswert?

@Tom:
Ich kann Google benutzen, und war auch schon auf einem der Links (auf 
dem zweiten)! Nur der Code der da steht ist nicht, wie ich es habe 
wollte für die StandartArduinoSoftware von adruino.cc!

@Fox Mulder:
Dein Link ist auch eine Frage von mir! Ich frag halt überall, dass ich 
so schenll wie möglich zu einer Antwort komme!

@All:
Ich hab des mit dem SPI schon angeguckt, weiß, dass es MISO und MOSI SCK 
und SS gibt und wofür diese sind! Nur an meinem Sende-/Empfangmodul 
(RFM70-S) sind noch weitere anschlüsse, wo ich keine Ahnung habe, wie 
ich diese anschlißen muss!
Die Programmierung hab ich mir auch schon angeguckt, also SS zuerst auf 
LOW setzen, danach mit 'SPI.transfer (int daten)' die Daten übertragen 
und zum Schluss SS wieder auf HIGH setzen! Aber das Modul hat noch zwei 
weitere Anschlüsse, bei denen ich mir net ganz sicher bin. Diese sind 
IRQ vom Typ DO (Digital Output) und die Funkzion ist 'Maskable interrupt 
pin (active low)'. Jetzt eine konkrte Frage (wie ihr es wollt):
Aber was macht dieser Anschluss (IRQ)?

von Ich m. (ich_m)


Lesenswert?

Nochmal:
Falls ihr denkt ich hab mit dem Arduino noch nichts gemacht, dann ist 
das falsch! Ich hab 2 Arduinos, 1 EthernetShield, 1 DisplayShield und 
einen selbstgemachtn 3x3x3 LED Würfel! Von der Programmierung hab ich es 
schon geschafft, den Arduino mit dem EthernetShield als WebServer und 
als WebClient laufen zu lassen! Den 3x3x3 LED Würfel hab ich auch mit 
meinem Programmierten Muster zum Leuchten gebracht!
Jetzt versuch ich halt was neues und brauche Hilfe! Trotzdem danke für 
eure Tipps z.B., dass ich konkrete Fragen stellen soll, usw.!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ich m. schrieb:
> Jetzt eine konkrte Frage (wie ihr es wollt):
> Aber was macht dieser Anschluss (IRQ)?

Gegenfrage: Was ist ein Interrupt?

von Ich m. (ich_m)


Lesenswert?

Keine Ahnung was ein Interrupt ist. Das wird meine Nächste Frage.
Und was heisst das, wenn rechts neben dem Autor in Klammern Moderator 
steht?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ich m. schrieb:
> Keine Ahnung was ein Interrupt ist. Das wird meine Nächste Frage.

Falsche Antwort. Recherchiere selbst.

> Und was heisst das, wenn rechts neben dem Autor in Klammern Moderator
> steht?

Daß der (hier also ich) einer ist. Davon gibt es hier mehrere, es gibt 
aber auch einen, bei dem "Administrator" steht. Das ist dann Andreas, 
der Forenbetreiber.

von Grml (Gast)


Lesenswert?

Tja daran sieht man mal wieder, auch wenn jemand schon "einiges" mit 
Arduino gemacht hat, zum richtigen Entwicklen und Verstehen hat es dann 
noch nicht gereicht. Man kann halt nicht alles haben, entweder man will 
einfach, schnell und ohne Wissen was zusammenstöpseln, dann nimmt man 
Arduino. Oder man möchte sich auch mal Zeit nehmen wirklich zu Verstehen 
was da so abläuft, dann braucht man diesen Quatsch nicht.
DU hast dich halt für einfach und schnell entschieden, nun Ernte die 
Früchte deiner Entscheidung.

von Grml (Gast)


Lesenswert?

Oh ich möchte auch noch was konstruktives Beitragen:

Es ist ja noch nicht zu spät für dich, schnapp dir deinen AVR 
Controller, ja ganz nackt, ohne ArduinoBoard, Bootloader, Shield oder 
sonst was, das dazugehörige Datenblatt, installier dir AVR Studio und 
fang an das Ding ordentlich in C zu programmieren. Ohne Arduino, ohne 
spezielle APIs (ja ich weiß du weißt nicht was eine API ist), einfach so 
mit den Wekzeugen welche dir WinAVR bzw. AVR-GCC/AVR-LIBC bieten. Und du 
wirst sehen, ein paar Tage (oder Wochen) experimentieren und 
Datenblätter lesen und schon gehts besser. Und dann kannst du dich auch 
mal an die RFMs ranwagen und weißt vielleicht auch was ein Interrupt 
ist. Gib dich nicht auf, lern richtig Entwicklen.

von Ich m. (ich_m)


Lesenswert?

Könnt ihr mal 'dumme' Kommentare lassen!? Wie z.B. der von Grml!
Ich versuche es zu verstehen und wollte es ja auch erklärt haben, nur 
das Ich hab mal nachgeguckt, was Interrupt heißt (kurze Unterbrechung um 
kurze Sachen zu machen), aber was sagt mir dieser Anschluss mir über das 
Modul? Heißst, dass, wenn der Anschluss gerade auf (active LOW) LOW ist, 
dass dann gerade ein Interrupt ist und dass das Modul gerade keine 
'Befehle' aufnehmen kann?

von Ich m. (ich_m)


Lesenswert?

Hab was veressen wegzumachen, also nochmal richtig:

Könnt ihr mal 'dumme' Kommentare lassen!? Wie z.B. der von Grml!
Ich versuche es zu verstehen und wollte es ja auch erklärt haben, nur
das wollt ihr ja nicht!

Ich hab mal nachgeguckt, was Interrupt heißt (kurze Unterbrechung um 
kurz etwas zu machen), aber was sagt mir dieser Anschluss mir über das
Modul? Heißst, dass, wenn der Anschluss gerade auf (active LOW) LOW ist,
dass dann gerade ein Interrupt ist und dass das Modul gerade keine 
'Befehle' aufnehmen kann?

von Hans (Gast)


Lesenswert?

"Gib dich nicht auf, lern richtig Entwicklen."

Eben, das ist halt das Problem am Arduino. Gibts für irgendwas keine 
Library sind die Leute am Ende. Klar, mann kann schnelle Erfolge 
erziehlen (z.b. den LED Cube...wobei ich bezweifel, dass Ich m. den Code 
selbst geschrieben hat...) aber man stößt halt auch schnell an die 
Grenzen. Und wenn man dann ohne Library da steht kann man auch gleich C 
oder ASM nehmen....

von Grml (Gast)


Lesenswert?

"Dumme Kommentare"?

Hast du "schlaule" mal in dein verlinktes Datenblatt geguckt? Da steht 
genau was wann IRQ warum macht:

> IRQ  Digital Output    Maskable interrupt pin, Active low

> After transmission, if the PTX packet has the NO_ACK flag set, RFM70 sets > 
TX_DS and gives an active low interrupt IRQ to MCU. If the PTX is ACK
> packet, the PTX needs receive ACK from the PRX and then asserts the TX_DS > IRQ.

> The receiver automatically validates and disassembles received packet, if > 
there is a valid packet within the new payload, it will write the payload > into 
RX FIFO, set RX_DR and give an active low interrupt IRQ to MCU.

> In RFM70 there is an active low interrupt (IRQ) pin, which is activated
> when TX_DS IRQ, RX_DR IRQ or MAX_RT IRQ are set high by the state machine
> in the STATUS register. The IRQ pin resets when MCU writes
> '1' to the IRQ source bit in the STATUS
> register.

Und du wagst es MICH oder meine Kommentare als dumm zu bezeichnen?
Junge, wenn du keine Datenblätter auf Englisch lesen kannst, dann lern 
das erstmal. Dies ist notwendig und zwar absolut. Da führt kein Weg dran 
vorbei.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ich m. schrieb:
> Heißst, dass, wenn der Anschluss gerade auf (active LOW) LOW ist,
> dass dann gerade ein Interrupt ist und dass das Modul gerade keine
> 'Befehle' aufnehmen kann?

Nein. Das heißt, daß gerade etwas passiert ist und das Modul dies dem µC 
mitteilen will, dieser also schleunigst per SPI mal den Status abfragen 
soll, um herauszufinden, was jetzt passiert ist.

von Ich m. (ich_m)


Lesenswert?

@Grml:
Ich bezeichne dich nicht als dumm. Ansonsten trotztdem auch danke für 
deine zweite Antwort, denn die war hilfreich (genau wie die von rufus)!

Noch eine Frage (hab ich im Datenblatt nicht gefunden):
Welchen SPI-Modus muss ich wählen?

von Hans (Gast)


Lesenswert?

Schau mal in den Wikipedia Artikel über SPI. Da sind die Modi 
aufgeführt. Dann schaust du in die timing Diagramme in dem Datenblatt 
des RFM70. Und schon weißt du bescheid.

von Ich m. (ich_m)


Lesenswert?

Ok. Ich guck mal!

von g457 (Gast)


Lesenswert?

> Noch eine Frage (hab ich im Datenblatt nicht gefunden):
> Welchen SPI-Modus muss ich wählen?

Im Datenplatt vom RFM70 Kapitel 6.3 'SPI Interface', im Speziellen 6.3.1 
'SPI Command' und 6.3.2 'SPI Timing'.

HTH

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

(offtopic an)

Es gab mal eine Zeit, da beschäftigten sich nur diejenigen mit 
bestimmten Themen, die sich dafür auch ernsthaft interessierten und in 
denen eine gesunde Neugier steckte und auch der Antrieb, selbst etwas 
darüber herauszufinden und dabei zu lernen. Lange ist´s her...

(offtopic aus)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

(ot-FUP)
Das ist heute auch nicht anders, nur ist die Aufmerksamkeitsspanne und 
das Wissen ob der Möglichkeiten zur Informationsbeschaffung stark 
geschrumpft.
(/ot-FUP)

von Ich m. (ich_m)


Lesenswert?

An alle, die es noch nicht wahrgenommen haben:
Ich interressiere mich dafür, sonst würde ich hier ja nicht frage, wie 
das funktioniert!

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ich m. schrieb:
> Ich interressiere mich dafür

OK.

Ich m. schrieb:
> sonst würde ich hier ja nicht frage, wie
> das funktioniert!

Naja. Eigentlich funktioniert das anders. Ein Arduino besteht aus einem 
Controller, ein paar nützlichen Bauteilen und etwas Hühnerfutter. Das 
erste, was es zu ergründen gilt, ist der Controller. Auf diesem 
aufgedruckt ist eine Nummer. Diese, im Internet eingegeben, führt nach 
sehr kurzer Zeit zum Hersteller. Der Hersteller vergibt kostenfrei 
Datenblätter und Programmiersoftware. Lediglich den Programmer muss man 
kaufen (die des Herstellers sind empfohlen) oder bauen (eher was für 
Fortgeschrittene). Neben der Programmiersoftware gibt es auch 
kostenfreie Compiler, wenn man in Hochsprachen programmieren möchte. 
Dazu gibt es hunderte Foren, in denen man lesen und die Zusammenhänge 
ergründen kann. Man kann aber auch eine fertige Kiste auf den Tisch 
stellen, den Rechner anknipsen und ohne besondere Vorkenntnisse wild 
drauflosfragen. Nur: Das kommt bei den Communities (aus gutem Grund) 
nicht so gut an.

http://www.mikrocontroller.net/articles/Netiquette

von Ich m. (ich_m)


Lesenswert?

Kann mal irgendwer sagen, wie das ablaufen muss?
Also was ich zuerst sende/umschalte?
Ich propiere schon die ganze Zeit aus, aber es funtzt nicht! :(

von Grml (Gast)


Lesenswert?

Ich m. schrieb:
> Kann mal irgendwer sagen, wie das ablaufen muss?
> Also was ich zuerst sende/umschalte?
> Ich propiere schon die ganze Zeit aus, aber es funtzt nicht! :(

Steht alles im Datenblatt. Wenn du dort eine Stelle nicht verstehst, 
poste sie und frag nach.

von g457 (Gast)


Lesenswert?

> Kann mal irgendwer sagen, wie das ablaufen muss?
> Also was ich zuerst sende/umschalte?

Datenplatt vom RFM70, grob die Kapitel 4 'State Control' und 5 'Packet 
Processing', zweckmäßigerweise auch 6 'Data and Control Interface'.

HTH

von Ich m. (ich_m)


Lesenswert?

Wie soll man diese Bilder mit den Pfeilen drin verstehne? Passiert nur 
dann was, wenn das was am Pfeil steht erfüllt wird?

von Grml (Gast)


Lesenswert?


von g457 (Gast)


Lesenswert?

> Passiert nur dann was, wenn das was am Pfeil steht erfüllt wird?

Ja.

von Ich m. (ich_m)


Lesenswert?

OK.

von Ich m. (ich_m)


Lesenswert?

Da steht über all TX FIFO und RX FIFO. Aber was heißt FIFO?

von Grml (Gast)


Lesenswert?


von Ich m. (ich_m)


Lesenswert?

Und welches dieser zwei Bilder soll ich nehmen? Unter denen steht 
PRIM_RX. Einmal mit '=0' und einmal mit '=1' hintendran! Und Wozu gibt 
es PRIM_RX und das RX und PRIM_?

von Hans (Gast)


Lesenswert?

Das eine zeigt das Senden das andere den Empfang. Was welches ist darfst 
du selbst rausfinden.

von Ich m. (ich_m)


Lesenswert?

Ich bin mir gerade nicht sicher, ob ich richtig da dran gehe. Also:
Wie gehe ich am besten dran? Was sollte ich als erstes tun?

von Ich m. (ich_m)


Lesenswert?

Is dann '=0' Empfangen und '=1' Senden?

von Grml (Gast)


Lesenswert?

Ich m. schrieb:
> Ich bin mir gerade nicht sicher, ob ich richtig da dran gehe. Also:
> Wie gehe ich am besten dran? Was sollte ich als erstes tun?

Datenblatt lesen und versuchen zu verstehen wie das Ding angesteuert 
werden will. Lesen und Verstehen. Eventuell ist dir diese 
herangehensweise neu aber so läuft das für gewöhnlich.
Erstmal läuft da fast alles über SPI, weißt du wirklich was SPI ist? 
Dann stehen da Kommandos, die man per SPI sendet. Es steht für jedes 
Kommando was es tut und welche Bits in den Parametern der Kommandos was 
bewirken.

Eventuell musst du dich auch mal fragen, ob dein bisheriges Wissen und 
deine Erfahrung ausreichen um das RFM70 anzusteuern? Vielleicht 
verschiebst du das ein wenig bis du allgemein etwas erfahrener bist.

von Hans (Gast)


Lesenswert?

http://www.pollin.de/shop/downloads/D810149S.ZIP

Da, runterladen. Beispielcode des Herstellers.

von Grml (Gast)


Lesenswert?

Weißt du was ein Register ist?
Weißt du dass einzelne Bits in so einem Register spezielle Funktionen 
und Namen haben? (PRIM_RX z.B.).
Im Datenblatt steht was diese Bits bewirken.
Im Datenblatt steht wie man die Register schreibt und liest
Im Datenblatt steht welche Register es gibt und welche Bits welchen 
Namen haben.

von Ich m. (ich_m)


Lesenswert?

Gut dass du das so sagst. Deswegen eine Frage:
Was sind Register? Im Datenblatt stehen zwei Register Bänke drinnen mit 
einer entsprechenden Adresse. Heißt das, dass das wie ein Speicherblock 
ist, wo für mein Sende-/Empfangmodul die Frequenz und die Daten, die ich 
senden/empfangen will, gespeichert sind?

von Grml (Gast)


Lesenswert?

Register sind Speicherbereiche über die das Modul konfiguriert wird.
Also keine Daten die du senden willst sondern Einstellungen fürs Modul.
Diese Einstellungen müssen zu Beginn erstmal durchgeführt werden, dazu 
gehört eben auch das Einschalten der benötigten Dinge z.B. den Sender.
In der Register Map stehen alle Register, und für jeden Register stehen 
drunter eine Reihe von Bits. Im Datenblatt weiter oben sollte zu jedem 
Bit was schlaues stehen.

von Ich m. (ich_m)


Lesenswert?

Und wie setze ich jetzt bestimmte Register? Wie muss ich das senden, 
dass es erstens an die richtige Adresse geht und zweitens, dass die Bits 
dort auch ankommen?

von Grml (Gast)


Lesenswert?

Was hast du denn bisher so gemacht? Du kannst doch nicht von 0 auf 100 
sowas anfangen. Mit Registern kommt man schon in Kontakt wenn man nur 
ein paar I2C Bausteine ansteuern will. Dort lernt man auch gleich wie 
Bits seriell übertragen werden und weiß dann gleich wie SPI im Grunde 
funktioniert.
Was waren denn bisherigen Projekte welche du ohne vorgefertigt Libs 
realisiert hast?

von Grml (Gast)


Lesenswert?

Ich m. schrieb:
> Und wie setze ich jetzt bestimmte Register? Wie muss ich das senden,
> dass es erstens an die richtige Adresse geht und zweitens, dass die Bits
> dort auch ankommen?

Sorry ich bin raus, guck ins Datenblatt. Wie oft noch? Das bringt so 
nix.
Nimm dir die Tipps zu Herzen und probier was einfacheres.

von Ich m. (ich_m)


Lesenswert?

1.) Bewegtes 3D Muster in 3x3x3 LED-Würfel
2.) keine Ahnung (hab aber noch was gemacht)
3.) Das was ich bisher gemacht habe, hatte ich in weniger als einer 
Stunde fertig. Das war also langweilig. Deshalb wollte ich mal was 
machen, was ich nicht in einer Stunde fertig hab UND, es sollte mal was 
sein, was nützlich ist!

von Cyblord -. (cyblord)


Lesenswert?

Ich m. schrieb:

> einen selbstgemachtn 3x3x3 LED Würfel!
> Von der Programmierung hab ich es
> schon geschafft, den Arduino mit dem EthernetShield als WebServer und
> als WebClient laufen zu lassen!
> Den 3x3x3 LED Würfel hab ich auch mit
> meinem Programmierten Muster zum Leuchten gebracht!

> Keine Ahnung was ein Interrupt ist.

Keine weiteren Fragen. Du hast nicht nur keine Ahnung du lügst auch noch 
dreist.
Das passt absolut nicht zusammen, die angesprochenen Dinge sind nicht 
ohne, und mit deinem Wissen absolut nicht zu machen.


> Das was ich bisher gemacht habe, hatte ich in weniger als einer
> Stunde fertig.

Glaub ich dir sofort. Es wird immer lustiger.

gruß cyblord

von Ich m. (ich_m)


Angehängte Dateien:

Lesenswert?

Ich hab net gelogen. Siehe Bild! Hab grad nur net angeschlossen!

von Cyblord -. (cyblord)


Lesenswert?

Oh ich glaube dir schon dass du diese Würfel hast, nur hat die Software 
dafür jemand anders geschrieben, jemand der weiß was ein Interrupt ist.

gruß cyblord

von Ich m. (ich_m)


Lesenswert?

Und des, dass ich net wusste was ein Interrput ist, des ist, weil ich 
mich mit Datenübertragung und demZeugs noch nie beschfäftigt habe!

von Eumel (Gast)


Lesenswert?

Tu dir den Gefallen und lern ASM, da wirst du gezwungen zu verstehen was 
du machst.

von Ich m. (ich_m)


Lesenswert?

1
boolean myCube[4][3][3][3] = {
2
  { 
3
    {
4
      {0, 0, 0},
5
      {1, 1, 1},
6
      {0, 0, 0}
7
    },  
8
    
9
    {
10
      {0, 0, 0},
11
      {1, 1, 1},
12
      {0, 0, 0}
13
    },  
14
    
15
    {
16
      {0, 0, 0},
17
      {1, 1, 1},
18
      {0, 0, 0}
19
    }
20
  },
21
  
22
  { 
23
    {
24
      {1, 0, 0},
25
      {0, 1, 0},
26
      {0, 0, 1}
27
    },  
28
    
29
    {
30
      {1, 0, 0},
31
      {0, 1, 0},
32
      {0, 0, 1}
33
    },  
34
    
35
    {
36
      {1, 0, 0},
37
      {0, 1, 0},
38
      {0, 0, 1}
39
    }
40
  },
41
  
42
  { 
43
    {
44
      {0, 1, 0},
45
      {0, 1, 0},
46
      {0, 1, 0}
47
    },  
48
    
49
    {
50
      {0, 1, 0},
51
      {0, 1, 0},
52
      {0, 1, 0}
53
    },  
54
    
55
    {
56
      {0, 1, 0},
57
      {0, 1, 0},
58
      {0, 1, 0}
59
    }
60
  },
61
  
62
  { 
63
    {
64
      {0, 0, 1},
65
      {0, 1, 0},
66
      {1, 0, 0}
67
    },  
68
    
69
    {
70
      {0, 0, 1},
71
      {0, 1, 0},
72
      {1, 0, 0}
73
    },  
74
    
75
    {
76
      {0, 0, 1},
77
      {0, 1, 0},
78
      {1, 0, 0}
79
    }
80
  }
81
};
82
83
void setup () {
84
  for (int i=0; i<12; i++) {
85
    pinMode (i, OUTPUT);
86
    
87
    if (i < 9)
88
      digitalWrite (i, LOW);
89
    else
90
      digitalWrite (i, HIGH);
91
  }
92
  
93
  /*
94
  for (int x=0; x<3; x++) {
95
    for (int y=0; y<3; y++) {
96
      for (int z=0; z<3; z++) {
97
        myCube[x][y][z] = 0;
98
      }
99
    }
100
  }
101
  /**/
102
}
103
104
void loop () {
105
  for (int c=0; c<4; c++) {
106
    for (int a=0; a<10; a++) {
107
      for (int i=0; i<3; i++) {
108
        digitalWrite (i+9, LOW);
109
        
110
        int myCounter = 0;
111
        for (int j=0; j<3; j++) {
112
          for (int k=0; k<3; k++) {
113
            digitalWrite (myCounter, myCube[c][i][j][k]);
114
            myCounter++;
115
          }
116
        }
117
        delay (8);
118
        
119
        digitalWrite (i+9, HIGH);
120
      }
121
    }
122
  }
123
}

Die Software ist von mir! Ich kann das, was man da sieht! Ich 
programmiere ausserdem auch in PHP und C++!

von Holger W. (holgerw)


Lesenswert?

das reicht aber nicht.
Nimm mal den Delay da raus und mach es mit Timer.
Dann weisst du auch was ein Interrupt ist.

von Ich m. (ich_m)


Lesenswert?

Ja. Ich hab ja auch schon nachgeguckt was das ist, aber könnt ihr mal 
auf das Antworten, was ich Frage?

von Ich m. (ich_m)


Lesenswert?

Wenn ich einen Register beschreiben möchte, wann muss ich dann was 
senden?
Ich habe die Adresse und die Daten, aber wie soll ich diese kombinieren?

Und jetzt nochmal: Antworten! Nicht Fragen!

von Holger W. (holgerw)


Lesenswert?

dir fehlen einfach Grundlagen. Die muss man erst lernen.
Man programmiert eben nicht mal eben sowas in einer Stunde.
Oder du suchst dir was fertiges im Netz.

von Ich m. (ich_m)


Lesenswert?

Nein suche ich nicht! Und liest du das, was ich vorher alles eschrieben 
habe?
Da hab ich geschrieben, dass ich für einen 3x3x3 LED-Würfel 
programmieren weniger als 1 Stunde brauche und dass ich mal was machen 
wollte, was man nicht mal so in einer Stunde macht!

von Ich m. (ich_m)


Lesenswert?

Welche Grundlagen fehlen mir? Wenn du sagst welche, dann kann ich es mir 
nochmal angucken!

von Ich m. (ich_m)


Lesenswert?

Wenn ich das gerade richtig gelesen habe, dann muss ich zuerst ein 
CommandByte senden und dann ein Byte mit meinen Daten. Ist das so 
richtig?

von Holger W. (holgerw)


Lesenswert?

wurde schon genannt: Interrupt, FIFO, SPI, Assembler, Timer, Datenblatt 
lesen
ich bin auch raus ...

von Ich m. (ich_m)


Lesenswert?

Kannst du wenigsten noch sagen, ob das richtig ist?

von Eumel (Gast)


Lesenswert?

Du suchst keine Hilfe du suchst Arbeitssklaven. Kannst dich wieder 
melden wenn du den Unterschied begriffen hast.

von Ich m. (ich_m)


Lesenswert?

Das stimmt nicht! Ich suche Hilfe! Ich frag was und bekomm keine 
Antwort! Und das in einem Forum, das so gemacht ist, dass man was fragt 
und die anderen Antworten und keine schlauen Sprüche hinlegen!

von Ich m. (ich_m)


Lesenswert?

Es stimmt zwar dass ich die Grundlagen lernen soll. Die kann ich auch 
jetzt schon ein bisschen, das ist aber trotztdem kein Grund dumme 
Kommentare abzugeben!

von Zeigefinger (Gast)


Lesenswert?

@Ich m. (ich_m)
Ich lese hier schon eine Weile im Stillen mit und muss, ehrlich gesagt, 
alle für ihre Geduld und Nerven bewundern die Dir (überhaupt noch) zu 
antworten.
Ich möchte Dir dringend bitten Deinen Ton zu mäßigen und die 
wohlgemeinten Ratschläge der Anderen zu beherzigen und ggf. auch zu 
würdigen.
Auch hier vom mir noch einmal die beiden wichtigsten Artikel hier für 
Deine Probleme und Fragen:
http://www.mikrocontroller.net/articles/Netiquette
http://www.mikrocontroller.net/articles/AVR-Tutorial
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Trotz allem, viel Erfolg.

von Cyblord -. (cyblord)


Lesenswert?

Was stimmt eigentlich mit dem Link von Tom nicht?

http://kner.at/home/news.avr.rfm70.html

Da steht doch alles drinn sogar "Arduino Code". Wobei das einfach nur C 
ist und man sich schon fragt wozu dann Arduino includes müssen nur 
damits ein Arduino irgendwas shield ist..., aber egal ich schweife ab.

von Ich m. (ich_m)


Lesenswert?

Hab ich diese Seite auch schon gefunden und den Code ausprobiert! Hab 
gedacht der Code funtzt net, weil void setup () und void loop () fehlen!
Ich hab ihn aber dann angepasst, weil es ein haufen CompilerFehler gab, 
aber es hat trotzdem nicht funktioniert!

von Cyblord -. (cyblord)


Lesenswert?

Ich m. schrieb:
> Hab ich diese Seite auch schon gefunden und den Code ausprobiert! Hab
> gedacht der Code funtzt net, weil void setup () und void loop () fehlen!
> Ich hab ihn aber dann angepasst, weil es ein haufen CompilerFehler gab,
> aber es hat trotzdem nicht funktioniert!

Das mag jetzt abwegig klingen, aber hast du mal versucht den Code zu 
lesen und zu verstehen was er tut? Und warum er was tut? Am besten mit 
dem Datenblatt nebendran?

von Hans (Gast)


Lesenswert?

Das Code so 1:1 funktioniert ist auch eher die Ausnahme. Aber man kann 
daran schön deine "Arbeitsweise" sehen. Kopieren, geht nicht, heulen.
Vielleicht wäre es sinnvoller den Code aus dem Link Stück für Stück 
durchzugehen, sich genau zu überlegen was gerade warum gemacht wird und 
parallel dazu das ganze mit dem Datenplatt des RFM70 zu vergleichen? Das 
dauert natürlich ein bisschen. Aber du hast ja gesagt, dass es nicht, 
wie sonst bei dir üblich, in einer Stunde fertig sein muss. Also lass 
dir ruhig Zeit.

von Hans (Gast)


Lesenswert?

Ach, der Cyberlord war schneller ;)

von Ich m. (ich_m)


Lesenswert?

Versucht ja, zumindest in der mainDatei, also nicht in der LIB, denn die 
LIB hab ich fast garnet verstanden. Außerdem ist der Code auch ein 
bisschen alt!

von Cyblord -. (cyblord)


Lesenswert?

Ich m. schrieb:
> Versucht ja, zumindest in der mainDatei, also nicht in der LIB, denn die
> LIB hab ich fast garnet verstanden. Außerdem ist der Code auch ein
> bisschen alt!

Du bist ein hoffnungsloser Fall, tut mir leid das so sagen zu müssen. 
Dir fehlt einfach die Vorstellung was "verstehen" heist und wie man es 
erlangt. Eventuell bist du auch einfach nur zu jung dafür.

von Ich m. (ich_m)


Lesenswert?

Vielleicht bin ich zu jung, aber ich gebe nicht auf und versuche weiter. 
Dann halt ohne Hilfe anderer!

von Ich m. (ich_m)


Lesenswert?

Ich hab grad ein Tutorial gefunden 
(http://tronixstuff.wordpress.com/2011/05/13/tutorial-arduino-and-the-spi-bus/). 
Vielleicht hilft des mir weiter!

von Holger W. (holgerw)


Lesenswert?

Du sollst ja auch nicht aufgeben. Versuche zu verstehen was der Code in 
dem Link tut, was der Arduino tut und das RFM70 erwartet.

von beeindruckt (Gast)


Lesenswert?

Als Anfänger innerhalb einer Stunde Code zu schreiben, bei dem Boolesche 
und Integer-Datentypen (und sogar noch an den passenden Stellen) 
verwendet werden, zeugt doch von einer gewissen Lernbereitschaft. Auch 
englische Variablennamen (trotz eingeschränkter Englischkenntnisse), 
eine schöne Codeformatierung zur besseren Lesbarkeit und die Fähigkeit, 
Kommentarblöcke zu benutzen, kann sich sehen lassen.

Deine Fragen kannst du dir sicher in wenigen Minuten selber beantworten. 
Also weiterlesen, lesen, lesen, lesen ...

Und nicht aufgeben!

von Ich m. (ich_m)


Lesenswert?

Ich hab grad noch ne LIB gefunden, die mir auf anhieb ertsmal keine 
CompilerFehler ausspuckt. Ich guck mir jetzt mal an, wie diese LIB 
aufgebaut ist und wie sie funktioniert! Diese hat dazu noch drei 
'schwierigkeitsstufen': 'Beginner', 'Advanced', 'Expert'!
Ich versuch mich mal durch den 'Beginner'-Teil durchzukämpfen!

Link zur LIB:
http://code.google.com/p/odobot1/source/browse/libraries/rfm70/

von Ich m. (ich_m)


Lesenswert?

Mit dieser LIB kommt auf jeden Fall schon was auf der anderen Seite an! 
Ich probiere weiter, dass es genauso rauskommt, wie ich es möchte, aber 
es kommt was an, wenn ich den Befehl 'senden' sage! Wenn des funtzt, 
versuche ich die LIB zu verstehen!

von Ich m. (ich_m)


Lesenswert?

Habs geschafft (mit den BeginnerFunktionen)! Jetzt guck ich, wie des 
funktioniert!

von hmpf (Gast)


Lesenswert?

Ich hasse das... ich wünschte mir mehr understatement und Demut. Hoppla 
hier komm ich und wer's nicht weiß ich bin ganz toll das ist der Trend.

Ich hatte beim lesen des threads großes Mitgefühl mit dem TO und mir 
vorgenommen irgendwie weiter zu helfen. In der 7. Klasse kann man nicht 
viel wissen das ist zwangsläufig so. Die Erkenntnis, daß man aber eben 
fast nichts weiß in der 7. Klasse sollte man aber auch haben. Was ist 
denn so schlimm daran, sich und anderen einzugestehen, daß man eben ganz 
ganz am Anfang ist und irgendwie gar keine Ahnung hat, was da im Arduino 
überhaupt passiert?
Dies Gepolter und vor allem 'net'=='nicht' Slang hat mir die Lust 
verdorben.

Die innere Haltung mit steigendem Wissen zu erfahren, daß man immer zu 
wenig weiß geht den Bach runter.

von Lukas (Gast)


Lesenswert?

Dazu 2 Gedanken:

Ich weiß das ich nichts weis
(Sokrates)

und

Cynismus, manchmal die einzigmöglische Lebenshaltung in der modernen 
Geselschaft
(Unbekannt)

Der thread war extem hilfreich, ein große Lob an dieses Forum und seine 
Benutzer, und amüsant.

PS: Ich bin in der 6.Klasse und

"Die innere Haltung mit steigendem Wissen zu erfahren, daß man immer zu
wenig weiß geht den Bach runter."

leider kann ich diesen Satz nur bestätigen obwohl er doch nur logisch 
ist in Anbetracht der Tatsache das sich der mensch nicht einmal die 
Anzahl der werte die zwischen 1 und 2 liegen vorstellen kann.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.