Hallo Ich habe folgendes Problem: Ich will mit Funk ein Netzwerk mit mehreren Avrs aufbaun. Jeder Avr soll natürlich eine andre Nummer(adresse haben) Natürlich wäre es möglich jedem eine Fixe adresse ein zuprogrammieren, die idee ist aber, bei jedem Avr die adresse extern ein zustellen...also irgendwie mit jumpern oder sowas in der art.... jetzt ist das problem das ich natürlich mit einem adressbyte die adressen einstellen könnte und dann einfach bei port B die pins einlesen.... ich brauch aber mehr als 255 adressen....also müssten es schon 2 byte sein da der tiny 2313 aber nicht viele ports hat und ich den rest der ports für andre sachen brauche, wollte ich fragen ob ihr eine idee habt, wie man bei jedem modul mit dem tiny drinnen die adresse einstellen kann und sie jederzeit auch wieder ändern.... (das ändern hat den sinn, das man jedes modul auf eine beliebige stelle stellen kann und dann einfach die richtige adresse einstellen) mfg Philipp
Multiplexen... Einfach die Schalter über zwei weitere Controllerpins mit Strom versorgen.
Kleines serielles EEPROM dran in dem die Adresse steht.Darin kann man dann auch gleich noch andere Settings sichern. Und geändert werden kann die Adresse dann per Software.Nachteil ist natürlich das der EEPROM zumindest 1x programmiert werden muss.Oder du opferst 2 Pins für eine Initial-Adresse (0x00..0x03) per Jumper und proggst dann wieder per Software die korrekte Adresse rein.
Hmmm Multiplexen hab ich mir schon überlegt.... wie würde das dann ausschaun....hab bei multiplexer in der schule irgendwie ausgeschaltet ^^ @ronny....wär schon gute idee....aber der sinn der sache is ja, dass man ohne pc einfach die adresse einstellen könne soll
Oder die DIP-Schalterchen an ein Schieberegister mit parallelen Eingängen anschließen und dann in einem Rutsch per SPI o.ä. auslesen. Man kann auch einen Pull-down an einen Port hängen. Wenn man dann den internen Pull-up aktiviert kann man sehen, ob das Pin seinen Wert ändert. Also eine Messung ohne internen Pull-up und eine mit. 1. Fall immer noch low -> wird per Schalter auf Masse gezogen 2. Fall Wert geändert -> Pin offen 3. Fall immer noch high -> wird per Schalter auf Vcc gezogen Damit kann man pro Port drei Zustände erkennen. 1 Pin -> 3 Zustände 2 Pin -> 9 Zustände 3 Pin -> 27 Zustände 4 Pin -> 81 Zustände 5 Pin -> 243 Zustände 6 Pin -> 729 Zustände Das steht auch in einer Appnote, ich glaube bei AVRfreaks. Rick
hmm...mit schiebe register wär auch eine gute idee mal schaun..... sonst noch jemand ideen?
wie oftmals beim DMX adressiert wird, mittels 3 Stück BCD-Schalter. Dann sind direkt 12 Portpins weg, gemultiplext dann nur noch 5 oder 6. der Einstellbereich ist dann zwischen 0 und 999. MW
7-Segment-Anzeige dran und up/down Tasten. Die 7-Segment blinkert dann nacheinander die Adresse durch, Beispiel 5-6-3-Pause-5-6-3-Pause... Das geht dann auch für 4 und mehrstelligere Adressen. Den up/down-Tasten ordnet man einen dynamischen Zähler zu, so daß man durch Festhalten der Tasten einen Weiterlauf erzielt, um nicht 1000mal drücken zu müssen. Läßt man die Tasten dann für mindestens 5 Sekunden unbetätigt, wird die aktuelle Adress im internen EEPROM 1x abgespeichert.
Hmmm ich werds jetzt mit einem 16Bit schift register machen Dann brauch ich genau 4 Pins zum Einlesen und steuern DAmit bin ich glücklich :D danke für eure Hilfe
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.