Forum: Mikrocontroller und Digitale Elektronik Led soll im dunkeln leuchten


von Rhino (Gast)


Lesenswert?

Hallo,

ich bin noch relativ neu in dem Gebiet der Mikrocontroller. Habe mir das 
Paket von Franzis und das Buch von Dr. Günter Spanner gekauft.
Jedoch sind dort die Quelltexte wenig, bis schlecht beschrieben und mir 
fehlt noch der Code zu meinem Versuch.
Als Microcontroller verwende ich den ATTiny13.

Ich würde mir gerne eine Platine mit verschiedenen LED's löten, welche 
bei Dunkelheit angesteuert werden. Sprich der Microcontroller soll z.b. 
PB3 schalten wenn der Phototransistor eine Spannung von ca. 1 Volt 
durchlässt.
Wie soll ich da vorgehen? Mit dem AD-Wandler?
Habe leider keine bis minimale Programmierkentnisse. Wäre vielleicht 
jemand bereit mir einen Quelltext in C# zu schreiben und ihn evtl zu 
erklären?

Vielen Dank im Vorraus.

Gruß
Rhino

von U.R. Schmitt (Gast)


Lesenswert?

Rhino schrieb:
> Habe leider keine bis minimale Programmierkentnisse. Wäre vielleicht
> jemand bereit mir einen Quelltext in C# zu schreiben und ihn evtl zu
> erklären?
Von Code schreiben lassen lernt man nichts. Programmieren lernt man 
durch probieren und lesen.
C# gibt es nicht für Mikrocontroller. Wenn, dann C oder Assembler.
Les dir hier im Forum die Tutorials durch und probiere sie aus.
Wenn du C programmierst dann brauchst du ein gutes Buch. Referenz ist 
hier immer noch der Kerningham Ritchie

Hier: Artikelübersicht

Viel Erfolg

von noips (Gast)


Lesenswert?

> Als Microcontroller verwende ich den ATTiny13.

Datenblatt besorgen und benutzen.


> Ich würde mir gerne eine Platine mit verschiedenen LED's löten, welche
> bei Dunkelheit angesteuert werden. Sprich der Microcontroller soll z.b.
> PB3 schalten wenn der Phototransistor eine Spannung von ca. 1 Volt
> durchlässt.

Ein Fall für den internen Comparator:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#AC_.28Analog_Comparator.29

Rhino schrieb:
> Habe leider keine bis minimale Programmierkentnisse.

Na dann ganz von Anfang anfangen und immer weiter:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Einf.C3.BChrungsbeispiel

Und hier findest du die Übersicht:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

Zugriff auf Register bzw. IO-Ports, Programmierung mit Interrupts sind 
die Themen, die du brauchen wirst. Schritt für Schritt lesen, 
ausprobieren, was unklar ist fragen.

Viel Erfolg!

von unbekannt (Gast)


Lesenswert?

In der Artikelübersicht steht nur ein Satz ^^

von noips (Gast)


Lesenswert?

> In der Artikelübersicht steht nur ein Satz ^^

2 Sätze!

von PCB (Gast)


Lesenswert?

Such mal nach reaktivlicht

von U.R. Schmitt (Gast)


Lesenswert?

unbekannt schrieb:
> In der Artikelübersicht steht nur ein Satz ^^

Sorry ich dachte das verweist auf den richtigen Link.
Hier:
http://www.mikrocontroller.net/articles/Hauptseite

Ist auch hier im Menü links, der zweitunterste Punkt: Und dann hast Du 
Wochen an Lesestoff. Die AVR Tutorials sind etwas weiter unten.
Viel Spass und Erfolg

von Florian (Gast)


Lesenswert?


von Rhino (Gast)


Lesenswert?

Erstmal danke für die Antworten. Natürlich bin ich noch relativ am 
Anfang vom Programmieren und werde mir noch einige Tutorials durchlesen.
Jedoch wäre es sehr nett wenn mir jemand den Quelltext geben könnte, 
damit ich mein Bauteil fertig bekomme.

Ich stelle mir das ganze so vor:

PB3 oder PB4 sind LED-Ausgänge.
PB2 ist ebenfalls ein Ausgang. Es wird zwichen PB2 und PB1 (ADC) ein 
Phototransistor geschaltet, welcher als Widerstand für den Strom 
verwendet wird.
Ist es Hell,  kommt in PB1 viel Strom an (Es leuchtet nichts). Ist es 
dunkel, kommt in PB1 wenig Strom an (Die LED brennt).
Demnach muss PB2 ja ständig als Ausgang geschaltet sein.

Also wenn PB1 <= ca.1,5 Volt soll die Lampe brennen.

Gruß
Rhino

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Rhino schrieb:
> Erstmal danke für die Antworten. Natürlich bin ich noch relativ am
> Anfang vom Programmieren und werde mir noch einige Tutorials durchlesen.

Wenn ich den nächsten Satz lese, glaube ich schon nicht mehr an den Satz 
darüber...

> Jedoch wäre es sehr nett wenn mir jemand den Quelltext geben könnte,
> damit ich mein Bauteil fertig bekomme.

Dir geht es also nur darum, Dein Bauteil fertig zu bekommen? Was zahlst 
Du?

von Wolfgang-G (Gast)


Lesenswert?

>Natürlich bin ich noch relativ am Anfang vom Programmieren und werde mir >noch 
einige Tutorials durchlesen.
Was ist Anfang?
Viele fangen damit an, ein Programm zu entwerfen, das eine LED im 
gewünschten Rhythmus blinken lässt.
== erstes Erfolgselebnis
Wer mit Assembler anfängt, lernt gleich noch, was ein µC in diesem oder 
jenen Fall so macht.
Jetzt muss man sich noch Gedanken zu einem Schaltungsentwurf machen, wie 
man den Phototransistor auswerten kann. (z.B. Spannungsabfall an einem 
Widerstand messen)

usw.

MfG

von Rhino (Gast)


Lesenswert?

Ich habe nicht umsonst so viel geld in die Bauteile und Bücher gesteckt 
damit ich es gleich sein lasse.
Das LED Blink Programm habe ich schon Programmiert. Aber wenn ich mir 
das Kapitel über Messwerte anschaue muss ich doch passen.

Ich habe zwar hier schon ein Teil geschrieben und ein Teil der Platine 
gelötet, aber für den Rest muss ich noch etwas lesen. Deswegen würde ich 
gerne von euch Hilfe bekommen.
1
#define F_CPU 1200000
2
#include <avr/io.h>
3
#include <util/delay.h>
4
int main (void)
5
6
{ DDRB = 0b000010 | 0b001000 | 0b010000;
7
8
9
  ADMUX = (1<<REFS0);
10
  ADCSRA = (1<<ADEN) | (1<<ADFR) | (1<<ADIE);
11
  ADC_result 0 ADCH/16
12
13
14
15
16
17
18
19
20
21
22
  while (1)
23
24
  {   PORTB = (1<<PB1);
25
26
  }
27
28
29
30
}

Das hier ist mein Grundgerüst. Weiter weiß ich jedoch nicht. Steinigt 
mich bitte nicht wenn hier etwas total falsch ist :D

von Wolfgang-G (Gast)


Lesenswert?

Zur Programmierung kann ich nichts sagen, da ich diese µC-Familie nicht 
verwende.
Ein Tipp zur möglichen Auswertung des Phototransistors:
Du schaltest einen Widerstand (z.B. 10k) und den Phototransistors 
(Polarität beachten) in Reihe. Die eine Seite an  +5V, die andere Seite 
an Masse. Mit einem Voltmeter die Spannung zwischen Masse und dem 
Abgriff des entstandenen Spannungsteilers  messen. Den Widerstandswert 
jetzt solange verändern, bis er den von Dir gewünschten Wert (1V) beim 
Abdunkeln erreicht.
Nach dieser Arbeit kann man mit dem ADC des µC die Spannung messen und 
über einen Soll-IST vergleich die LED aus- und einschalten.
MfG

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.