Forum: Mikrocontroller und Digitale Elektronik Bascom, at mega8 ausgänge sporadisch schalten.


von Christoph (Gast)


Lesenswert?

Hallo,

zu mein vorhaben ich möchte einen AT mega8 so programmieren das 5 
Ausgänge belibich und unregelmäßig schalten. damit möchte ich dann 
Lampen ansteuern die dann über die Nacht eine Anwesenheit  simulieren 
sollen. eine feste Abfolge ist ja nicht das Problem aber das jede Lampe 
mal angeht wie sie will und auch wieder aus und jede für sich unabhanig 
von den anderen habe ich nicht hin bekommen. selbst die suche ergab 
nicht wirklich etwas. geht das überhaupt oder gibts da Möglichkeiten. 
ich verwende bascom.

danke im vorraus

von Wolfgang (Gast)


Lesenswert?

Für eine echt zufällige Steuerung könnte man z.B. eine Zenerdiode als 
Rauschquelle verwenden und für den µC passend verstärken.
Zur ausreichend unregelmäßigen Schaltung der Beleichtung dürfte ein 
Pseudo-Zufallszahlengenerator ausreichen, der eine PRBS erzeugt.
http://www.scheidig.de/Deutsch/Projekte/Rauschgenerator/PrbsGenerator.htm

von Krapao (Gast)


Lesenswert?

Zufall kannst du mit der BASCOM-Funktion RND in dein Programm einbauen
http://avrhelp.mcselec.com/rnd.htm

Bei 5 Lampen EIN/AUS bieten sich 5 Bits als Schaltzustände an, d.h. die 
Ganzzahlwerte 0 bis 31. Über RND kannst du dir dann laufend neue 
Schaltzustände für die Lampen nehmen. Bei geschicktem Hardwaredesign 
kannst du die Schaltzustände 1:1 auf einen Ausgangsport geben.

Um das Ganze realistischer d.h. zufälliger zu machen, kannst du mit 
einem weiteren regelmäßigen RND Aufruf auch noch die Zeit zwischen dem 
Setzen der Schaltzustände verändern.

Um das Ganze noch realistischer d.h. zufälliger zu machen, kannst mit 
einem weiteren regelmäßgen RND Aufruf entscheiden, welche Lampen 
geschaltet werden dürfen.

Eine nette Idee habe ich mal in einem ähnlichen Projekt gesehen: Dort 
wurde das bläuliche Licht eines TV und das regelmäßig/unregelmäßige 
Helligkeitsschwanken bei Szenenwechseln simuliert. Von au0en sah das 
dann so aus, als ob die Hausbewohner TV schauen. Aufpassen, wenn jemand 
klingelt: Das könnte der GEZ-Scherge sein!

von Christoph (Gast)


Lesenswert?

hallo,

danke für die schnellen antworten.
hab mir jetzt die Vorschläge mal angesehen.
am besten gefällt mir der mit rnd.
könnt ihr mir nen kleinen tip geben wie ich es dann schreiben muss wie 
du es vorgeschlagen hast.
bin auf auf den Gebiet relative frisch.

danke bis den

von Profi (Gast)


Lesenswert?

Christoph schrieb:
> bin auf auf den Gebiet relative frisch.

Dann probier mal ein bisschen. Das übt.

von Christoph (Gast)


Lesenswert?

hallo,

gib mir dann wenigstens ein tip wie ich das von print in ein Ausgang 
wandeln kann.

mfg

von Krapao (Gast)


Lesenswert?

Dir fehlt scheinbar das ganze Wissen, wie man in BASCOM mit PORTS um 
geht.
http://avrhelp.mcselec.com/config_port.htm

Statt eine Variable mit PRINT auszugeben, kann man die auch einem 
Ausgangsport zuweisen. Wenn die Hardware am PORT sinnvoll ist und die 
Variable sauber DIMensioniert ist, kommt auch was sinnvolles raus.

von Profi (Gast)


Lesenswert?

Von BASCOM habe ich leider überhaupt keine Ahnung, aber Google findet 
z.B.
http://www.rn-wissen.de/index.php/Bascom#Einen_I.2FO_Port_umschalten. 
Mit den DDRx und Portx (Pseudo-)Variaben sollte da was zu machen sein.

Sonst guck einfach in dein BASCOM Anleitung.

von Christoph (Gast)


Lesenswert?

hallo,

was heißt genau Hardware sinnvoll.

nebenbei bemerkt ich möchte kein TV simulieren sonder eher die 
Beleuchtung in räumen.

an die Ausgänge soll eigendlich nur nen Transistor und nen Relais oder 
optokoppler und Relais oder direkt die LED straler an den Transistor.


ansonsten hab ich schon nen bissel was gemacht wie Eingänge Ausgänge LCD 
adc mit LCD.

bin halt noch beim lernen.

was würdet ihr mir empfelen um die LED`s an zu schalten. haben zwischen 
3 und 15 Watt bei 12volt

mfg

von Krapao (Gast)


Lesenswert?

Mit sinnvoll meine ich, dass

* die Bits in der Varaiblen sinnvoll den Bits am Ausgangsport und der 
angeschlossenen Hardware zugeordnet sind. Also z.B. alle an einem Port 
und nicht über mehrere Ports verteilt.

* die angeschlossene Hardware in einen Zustand fällt, wenn es Probleme 
mit deinem Programm oder der Steuerung geben sollte. Wenn der µC 
ausfällt sollten die Lampen aus sein. Das kann z.B. heissen, dass der 
Ausgangsport mit active-high Logik arbeitet und externe Pull-Down 
Widerstände vorhanden sind. Oder dass keine bistabilen Relais benutzt 
werden, sondern der µC den EIN Zustand aktiv aufrecht erhalten muss.

von Krapao (Gast)


Lesenswert?

> einen Zustand

einen harmlosen & stabilen Zustand

von Christoph (Gast)


Lesenswert?

Hallo,

ich hab mich jetzt mal versucht aber so wie ich es verstanden hab.
1
Ddrd = &B00000001
2
3
Dim I As Word       ' dim variable
4
5
Do
6
7
I = Rnd(1)       'get random number (0-1)
8
I = Portd.0       'print the value
9
10
Wait 1

nur es kommt nichts raus.


m
MFG

von Peter II (Gast)


Lesenswert?

Christoph schrieb:
> I = Portd.0       'print the value
> nur es kommt nichts raus.

was mich jetzt aber auch nicht wunder, ich kann zwar kein BASCOM aber 
ich denke hier wird auch nichts ausgegeben sonder nur eine Variabel 
doppelte beschrieben.

Sinnvoller sollte es so sein.

Portd.0 = I

von Christoph (Gast)


Lesenswert?

hab das jetzt auch versucht aber das bringt auch nichts

MFG

von spess53 (Gast)


Lesenswert?

Hi

>hab das jetzt auch versucht aber das bringt auch nichts

Und wo ist die Stelle, an der du Portd.0 als Ausgang konfigurierst?

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

Was bringt nichts?

(Gewöhn dir an: Solange du auf Einsteigerniveau arbeitest, zeige deinen 
Code. Immer! Bei jeder Änderung! Vollständig!)

Lass halt das RND als erstes mal weg. Sieh einfach nur zu, dass du einen 
Ausgang gezielt auf 0 bzw. 1 schalten kannst. Arbeite zb erst mal mit 
wait um dazwischen eine Pause einzulegen, damit du auch an einer LED 
siehst, dass sich was tut.

von Karl H. (kbuchegg)


Lesenswert?

Ich würde das ganze anders angehen.

Basis des ganzen ist eine Hauptschleife, die für 1 Durchlauf 1 Sekunde 
braucht

1
do
2
3
  ....
4
5
  wait 1
6
loop

für jede Lampe gibt es eine Variable, die angibt, wieviele Sekunden die 
Lampe noch in ihrem Zustand (brennt oder brennt nicht) bleiben soll. Mit 
jedem Durchlauf durch die Hauptschleife wird diese Variable um 1 
herunter gezählt und wenn sie 0 ist, wird die Lampe umgeschaltet und 
eine neue Zeitdauer bestimmt, wie lange sie in diesem Zustand bleiben 
soll.
1
..
2
Lampe1Dauer = 5 + RND( 4 )
3
Lampe2Dauer = 5 + RND( 4 )
4
...
5
do
6
7
  if Lampe1Dauer = 0 then
8
    Port.....   Lampe umschalten
9
    Lampe1Dauer = 5 + RND( 4 )
10
  end if
11
12
  if Lampe2Dauer = 0 then
13
    Port.....   Lampe umschalten
14
    Lampe2Dauer = 5 + RND( 4 )
15
  end if
16
17
  wait 1
18
19
  Lampe1Dauer = Lampe1Dauer - 1
20
  Lampe2Dauer = Lampe2Dauer - 1
21
loop

Das verallgemeinert jetzt schön auf beliebig viele Lampen. Wenn man 
will, kann man auch für die Ein-Dauer eine andere Zeit bestimmen als für 
die Aus-Dauer.

Und schau dir die BASCOM Online Hilfe an!
RND(x) liefert eine Zufallszahl in der Größenordung von 0 bis x-1. x 
selber wird nicht geliefert. RND(1) wird also niemals 1 liefern, sondern 
immer nur 0.
Wenn wir als Nicht-BASCOM Programmierer es schaffen, uns die 
Funktionsweise in der Online Hilfe nachzuschlagen und zu studieren, dann 
ist es wirklich nicht zuviel verlangt, dass du als BASCOM Programmierer 
das ebenfalls tust.

von Christoph (Gast)


Lesenswert?

hallo,

hab nen bissel lange weile geahbt und hab mir nen lauflicht gebaut.
das sieht bei mir so aus:
1
Ddrd = &B00111111
2
3
4
Do
5
6
Portd.3 = 1       
7
Waitms 300
8
Portd.2 = 1
9
Waitms 300
10
Portd.4 = 1       
11
Waitms 300
12
Portd.5 = 1
13
Waitms 300
14
Portd.1 = 1       
15
Waitms 300
16
Portd.0 = 1
17
waitms 300
18
Portd.0 = 0       
19
Waitms 300
20
Portd.1 = 0
21
waitms 300
22
Portd.5 = 0      
23
Waitms 300
24
Portd.4 = 0
25
waitms 300
26
Portd.2 = 0      
27
Waitms 300
28
Portd.3 = 0
29
Waitms 300
30
31
loop
32
33
end

das geht auch wunderschön

MGH

von Karl H. (kbuchegg)


Lesenswert?

Christoph schrieb:

> das geht auch wunderschön

Schon.
Aber jetzt geht es mit 'Programmieren' los!

Das was du da hast, ist der Versuch die Fläche eines Rechtecks mit 
Seitenlängen 3 und 5 zu berechnen, indem du rechnest

    3
    3
    3
    3
    3
  ----
   15

Also, in dem du 3 5-mal addierst, anstelle das du 3*5 rechnest.
Solange du dich daran festkrallst, dass du Multiplizieren nicht lernen 
musst, weil du ja ohnehin durch entsprechend oft Addieren das Ergebnis 
auch rauskriegst, wirst du bei 'komplexeren' Berechnungen unweigerlich 
Schiffbruch erleiden.

Und in der Programmierung ist es ebenso. Das was du da hast ist zwar ein 
Lauflicht. Aber es ist ein 'Additions'-Lauflicht. Bei mehr als, über den 
Daumen, 30 LED und komplizierteren Mustern, wirst du nicht mehr weiter 
kommen und auf 'Multiplikations'-Lauflicht umsatteln müssen.

Sieh dir mal den Vorschlag an, den ich dir gemacht habe für deine 
Problemstellung.

von Christoph (Gast)


Lesenswert?

hallo,

das ist zwar alles gut und schön aber ich kann mir under multiplikations 
lauflich nicht viel vorstellen und erst recht nicht wie man das in 
bascom umsetzen soll.

mfg

von Helmut L. (helmi1)


Lesenswert?

Christoph schrieb:
> das ist zwar alles gut und schön aber ich kann mir under multiplikations
> lauflich nicht viel vorstellen und erst recht nicht wie man das in
> bascom umsetzen soll.

Karl Heinz meint damit das du dein Lauflicht auch anders, kompakter 
schreiben kannst.

z.B. Kannst du dir fuer die auszugebenden Muster eine Tabelle erstellen 
und die in einer Schleife ausgeben. Das meint er mit Multiplikation.

in C z.B.

for(i=0;i < Anzahl;i++)
{
      PORTA = Muster[i];
      wait(xxx);
}

Muster ist dein Musterarray, und Anzahl die Anzahl deiner Muster im 
Array.

von Karl H. (kbuchegg)


Lesenswert?

Christoph schrieb:

> das ist zwar alles gut und schön aber ich kann mir under multiplikations
> lauflich nicht viel vorstellen und erst recht nicht wie man das in
> bascom umsetzen soll.


Worum gehts jetzt?
Um ein Lauflicht oder eine Abwesenheits-Lichtsteuerung?


Edit: Die Sacher mit Addition und Multiplikation war ja nur ein 
Beispiel, das aufzeigen soll, dass man sich nicht mit der erstbesten 
Lösung zufrieden geben soll. Nur weil etwas funktioniert, heißt das noch 
lange nicht, dass es gut ist.
In deinem Fall, wie Helmut völlig richtig vorgebracht hat, geht es 
darum, dass du dich mit Schleifen und Arrays vertraut machen musst. Wenn 
man 30 mal im Prinzip denselben Ablauf hat, dann ist es unsinnig einfach 
30 mal untereinander denselben Code nur mit anderen Zahlenwerten 
hinzuschreiben. Genau an dieser Stelle kommen Schleifen in den diversen 
Variationen ins Spiel.

von Christoph (Gast)


Lesenswert?

hallo,

ansich gehts um die Abwesenheits-Lichtsteuerung

nur da bin ich jetzt noch nicht wirklich weiter.

mfg

von Karl H. (kbuchegg)


Lesenswert?

Christoph schrieb:

> nur da bin ich jetzt noch nicht wirklich weiter.

Und welchen Teil von der 'Skizze' von weiter oben verstehst du nicht? 
Ich hab ihn bewusst so einfach wie nur möglich gehalten.

von Christoph (Gast)


Lesenswert?

hallo,

wenn ich das mache dann kommt immer error 31
1
$regfile = "m8def.dat"
2
$crystal = 1000000
3
$hwstack=40
4
$swstack=16
5
$framesize=32
6
7
8
Lampe1dauer = 5 + Rnd(4 )
9
Lampe2dauer = 5 + Rnd(4 )
10
11
do
12
13
  if Lampe1Dauer = 0 then
14
    Portd.0 Lampe Umschalten
15
    Lampe1Dauer = 5 + RND( 4 )
16
  end if
17
18
  if Lampe2Dauer = 0 then
19
    Portd.1 Lampe Umschalten
20
    Lampe2Dauer = 5 + RND( 4 )
21
  end if
22
23
  wait 1
24
25
  Lampe1Dauer = Lampe1Dauer - 1
26
  Lampe2Dauer = Lampe2Dauer - 1
27
loop

von Karl H. (kbuchegg)


Lesenswert?

Christoph schrieb:
> hallo,
>
> wenn ich das mache dann kommt immer error 31

Das war ja auch eine Skizze!

Die Details musst schon du einsetzen!

> $regfile = "m8def.dat"
> $crystal = 1000000
> $hwstack=40
> $swstack=16
> $framesize=32
>
>
> Lampe1dauer = 5 + Rnd(4 )
> Lampe2dauer = 5 + Rnd(4 )

Auch in BASCOM muss man meines Wissens Variablen erst mal definieren, 
damit klar ist, welche Datentypen im Spiel sind

>
> do
>
>   if Lampe1Dauer = 0 then
>     Portd.0 Lampe Umschalten

Das ist eine umgangssprachliche Beschreibung vor den Vorgang "schalte 
eine Lampe um". So viel BASCOM solltest du schon können, damit du weißt, 
wie das in korrekter Syntax aussehen muss.
Hinweis 1: Im Englischen nennt man so etwas: einen Pin 'toggeln'
Hinweis 2: Schau doch mal in die BASCOM Hilfe, was die zum Thema 
"TOGGLE" zu sagen hat.

Wo wird vereinbart, dass die Port-Ausgänge auch wirklich Ausgänge sind, 
etc. etc.

Die Skizze soll das vorgschlagene Vorgehen, das Prinzip des Codes 
verdeutlichen. Die Umsetzung in ein vollständiges Programm ist dein 
Bier. Sonst könnte ich dich ja gleich fragen an welchen Pins die Lampen 
hängen und dir das Programm fertig schreiben.

von Christoph (Gast)


Lesenswert?

hallo,

woher soll mann denn das alles wissen
die erklärungen die mann alle im internet findet versteht mann nur wenn 
man schon ahnung hat.

ach ja in der hilfe gibts keine treffer bei toggle

mfg

von Christoph (Gast)


Lesenswert?

hallo,

habs jetzt gefunden

von Karl H. (kbuchegg)


Lesenswert?

Christoph schrieb:
> hallo,
>
> woher soll mann denn das alles wissen


Das nennt man 'lernen'.

> die erklärungen die mann alle im internet findet versteht mann nur wenn
> man schon ahnung hat.

Ach komm.
Es gibt auch online ein paar BASCOM Tutorien, die einem die Basisdinge 
zeigen. Und es gibt jede Menge kleinere Programme, die man durchaus 
studieren kann und sich bei Dingen die einem neu sind, erst mal die 
Hilfe reinzieht.

Ein bischen ein Niveau muss man schon voraussetzen, wenn jemand ein 
Projekt wie deines machen will.

> ach ja in der hilfe gibts keine treffer bei toggle

Natürlich gibts da einen Treffer.
Auch das Benutzen der Hilfe will gelernt sein.

Mach die Hilfe auf
(online zb hier
http://avrhelp.mcselec.com/
du hast sie aber auch auf deinem Rechner)
mach den Unterpunkt "BASCOM Language Reference auf" und dann scroll 
runter bis TOGGLE

von Christoph (Gast)


Lesenswert?

hallo,

die hilfe ist nur dann eine hilfe wenn man auch versteht was die da von 
einen wollen. wenn die das mal für otto normalverbraucher schreiben 
würden dann ginge es.

egal was ich mit den toggle mache es kommen immer die gleichen errors

MFG

von Karl H. (kbuchegg)


Lesenswert?

Christoph schrieb:
> hallo,
>
> die hilfe ist nur dann eine hilfe wenn man auch versteht was die da von
> einen wollen. wenn die das mal für otto normalverbraucher schreiben
> würden dann ginge es.

Hoffe nicht auf Mitleid. Wir alle sind durch diese Schule gegangen. Und 
im Gegensatz zu unseren Poltikern sind die meisten hier der Meinung, 
dass Niveauabsenken nicht der richtige Weg ist. Wer etwas lernen will, 
der muss es lernen.

(Und konträr zu deiner Meinung: Die BASCOM Hilfetexte sind extrem simpel 
geschrieben. Da hast du noch nie richtige Manuals gesehen :-)

> egal was ich mit den toggle mache es kommen immer die gleichen errors

Dann musst du dir den Fehlertext ansehen, darüber nachdenken worüber der 
Fehlertext spricht, in deinem Code die entsprechende Zeile aufsuchen und 
versuchen den Fehlertext mit dem was du geschrieben hast in 
Übereinstimmung zu bringen.

von Christoph (Gast)


Lesenswert?

hallo,
1
Ddrd = &B00111111
2
3
Dim Lampe1dauer As Byte
4
Dim Lampe2dauer As Byte
5
6
Lampe1dauer = 5 + Rnd(4 )
7
Lampe2dauer = 5 + Rnd(4 )
8
9
do
10
11
  if Lampe1Dauer = 0 then
12
    Toggle Portd.0
13
    Lampe1Dauer = 5 + RND( 4 )
14
  end if
15
16
  if Lampe2Dauer = 0 then
17
    Toggle Portd.1
18
    Lampe2Dauer = 5 + RND( 4 )
19
  end if
20
21
  wait 1
22
23
  Lampe1Dauer = Lampe1Dauer - 1
24
  Lampe2Dauer = Lampe2Dauer - 1
25
Loop
26
End

jetzt gehen die leds zusammen an und nacheinander aus.
das komische ist nur als ich das vor 20 min versucht hab ging es nicht.
warum das jetzt passiert weis ich dennoch nicht

von Karl H. (kbuchegg)


Lesenswert?

Christoph schrieb:

> warum das jetzt passiert weis ich dennoch nicht

Was daran ist unklar?


Im Grunde ist es nichts anderes als das bestimmen einer 'zufälligen 
Anzahl von Sekunden', wann die nächste Aktion bei einer Lampe 
passieren soll
1
   Lampe1dauer = 5 + Rnd(4 )
und diese Zeit wird innerhalb der Schleife
1
do
2
3
  ....
4
5
Loop
die das Programm ständig durchläuft, und die für einen Durchlauf durch 
die Schleife 1 Sekunde
1
  wait 1
benötigt bei jedem Durchlauf um 1 verringert
1
   Lampe1Dauer = Lampe1Dauer - 1

Im Prinzip ist Lampe1Dauer also einfach nur eine 'Uhr', die von einem 
bestimmten Wert ausgehend runterzählt (und zwar um 1 pro Sekunde), und 
wenn diese 'Uhr' dann irgendwann bei 0 angelangt ist
1
  if Lampe1Dauer = 0 then
dann passiert etwas. Nämlich was?
Die Lampe wird umgeschaltet
1
    Toggle Portd.0
und es wird eine neue Zeitdauer bestimmt
1
    Lampe1Dauer = 5 + RND( 4 )
von der die 'Uhr' wieder herunterzählen soll um dann bei 0 die nächste 
Aktion auszuführen.


Der 'Trick' besteht also darin, nicht für 1 Lampe die komplette 
Zeitdauer abzuwarten, sondern in 1 Sekunden Abständen alle Lampen zu 
untersuchen, ob ihre jeweilige Leucht/Pausen-Zeit abgelaufen ist und 
dann jeweils etwas zu unternehmen.

von chtistoph (Gast)


Lesenswert?

Hallo.

für was steht aber nun die 4 wenn ich die Brüdern zahlen ändere dann 
gehen sie unterschiedlich an und dann wieder das gleiche wie vorher 
zusammen an nacheinander aus

mfg

von Karl H. (kbuchegg)


Lesenswert?

chtistoph schrieb:
> Hallo.
>
> für was steht aber nun die 4

Die 4 sind das Argument an RND.
Und RND liefert eine Zufallszahl zwischen 0 und dem Wert dem du ihm 
übergibst. Also liefert RND eine zufällige 0, 1, 2 oder 3


Wenn du dann noch 5 dazuzählst, kriegst du daher zufällige Zahlen 5, 6, 
7, 8

D.h. in diesem Zusammenhang, dass die Leuchtzeiten (oder Pausenzeiten) 
zufällig 5, 6, 7 oder 8 Sekunden lang sind.

Willst du Zeiten beispielsweise zwischen 32 und 49 Sekunden, dann musst 
du das daher wie abändern?

49 - 32 ergibt 17
Du brauchst daher Zufallszahlen zwichen 0 und 17  -> RND(17)
und dann noch 32 dazu, liefert daher Zufallszahlen zwischen 32 und 49

   Lampe1Dauer = 32 + RND( 17 )

von Christoph (Gast)


Lesenswert?

Hallo,

egal wie ich diese zahlen verändere zum schluss gehen beide zusammen an 
und nacheinander wieder aus.

das ist doch dann auch nicht so wie es soll.

MFG

von Karl H. (kbuchegg)


Lesenswert?

Christoph schrieb:

> das ist doch dann auch nicht so wie es soll.

Ähm.
Wenn in einer Wohnung Lichter zufällig an ausgehen sollen, dann ist es 
nicht sehr wahrscheinlich, dass sie gemeinsam ausgehen.

Genau das sollen sie ja NICHT tun!

Lass das doch mal weiterlaufen.
Nachdem sie hintereinander ausgehen, geht irgendwann eine wieder an, 
dann geht vielleicht die andere wieder an, die eine aus, an, etc.

Beide Lampen schalten sich unabhängig voneinander ein/aus.

Du möchtest das jetzt wahrscheinlich noch weiter entwickeln. So dass du 
zb für jede Lampe die Leuchtzeit und die Dunkelzeit getrennt einstellen 
kannst. Zb wird die Toilette in der Nacht eher das Muster haben: lange 
Dunkelzeiten unterbrochen von kurzen Hellzeiten.
Dafür wird in der Küche eher das umgekehrte Schema vorliegen: längere 
Hellzeiten gefolgt von kürzeren Dunkelpausen.
Denkbar wäre auch, das Schema im Laufe der Nacht zu verändern und so die 
Küche nach 23 Uhr auf "Der Hausbesitzer plündert den Kühlschrank" 
umzustellen.

Der Fantasie sind keine Grenzen gesetzt.
Aber erst mal musst du die einfachen Sachen hinkriegen und verstehen:
Lampen die voneinander unabhängig sich nach zufälligem Muster 
ein/aussschalten.

von Helmut L. (helmi1)


Lesenswert?

Christoph schrieb:
> die hilfe ist nur dann eine hilfe wenn man auch versteht was die da von
> einen wollen. wenn die das mal für otto normalverbraucher schreiben
> würden dann ginge es.

Ach komm, du kennst die Anfänge dir Mikrocontrollerei am Ende der 70 
Jahre nicht. Da gab es kein Internet und keine Foren wo man fragen 
konnte. Kaum einer kannte sich damit aus. Es gab ein paar einfache 
Bücher und den Intel-Katalog. Damit musste man klar kommen. Und wir sind 
damit klar gekommen weil wir uns hingesetzt haben und die Sachen 
ausprobiert haben und unsere Fehler gefunden haben. Da gab es kaum 
irgendwelche Entwicklungstools da wurde noch mit der Hand assembliert. 
Da kannte man die Hexcodes der Controllers auswendig.

von Norbert S. (norberts)


Lesenswert?

Helmut Lenzen schrieb:
> Christoph schrieb:
>> die hilfe ist nur dann eine hilfe wenn man auch versteht was die da von
>> einen wollen. wenn die das mal für otto normalverbraucher schreiben
>> würden dann ginge es.
>
> Ach komm, du kennst die Anfänge dir Mikrocontrollerei am Ende der 70
> Jahre nicht. Da

Hi,

da haben wir die beiden Extreme zusammen, beide total daneben.
Die 70er sind schon etwas länger vorbei.
Allerdings ist das Programmieren von µC auch nicht für 
Ottonormalverbraucher gedacht sondern eben für Programmierer von µC.
Bascom macht den Einstieg zwar sehr einfach aber eine AI ist das nun 
auch wieder nicht.
Man muß schon mindestens die Syntax lernen und sich zuerst an der 
Befehlsreferenz entlanghangeln. Das Datenblatt des µC sollte man auch zu 
Rate ziehen.
Von daher ist Deine Fragerei hier nicht unbedingt dreist sondern einfach 
nur naiv.
Das ist nicht Lego Mindstorm oder sowas, Du musst schon etwas mehr lesen 
und selbst verstehen.
Also wenn Du mit Bascom und den entsprechenden Quellen dazu nicht 
klarkommst, dann suche Dir bitte ein anderes Hobby. Sonst verfestigt 
sich nur das Vorurteil, daß nur Vollpfosten Bascom nutzen (was absolut 
nicht stimmt).

Gruß,
Norbert

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.