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
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
> 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!
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
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
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?
>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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.