PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programieren von Ausgänge



221
22.10.2006, 14:22
Hallo leute icharbeite seit einer Woche mit Micro Controller, kenne mich immer noch nicht so gut aus :-(

kann mir jemanden sagen wie ich eine Ausgang setzte?
z.B. ich möcht ne LED zum leuchten bringen.
brauche ich dafür ne Vorwiderstand? wenn ja wie groß?

Danke.

Dirk
22.10.2006, 15:40
Hallo 221 (schöner Name!),

1. Ausgang setzen:
Je nach uC anders! Bei der C-Control reicht in BASIC das Schreiben auf einen Port (z.B. Port = 1), um ihn zum Ausgang zu machen.

2. LED-Vorwiderstand:
Widerstand = Spannung / Strom (R = U / I)

Batteriespannung = 5 V (z.B.)
LED-Durchlaßspannung = 2,1 V (z.B.!)
LED-Nennstrom = 20 mA (z.B.!)

R = (Batteriespannung - LED-Durchlaßspannung) / LED-Nennstrom = 145 Ohm
(Gut wäre hier ein Widerstand von 150 Ohm)

Gruß Dirk

Amiwerewolf
23.10.2006, 18:55
vorher Port definieren



define port1 as port[1] 'definiert den port

port1 = ON 'Port1 an
port1 = OFF 'Port1 aus

do 'schleife start
tog port1 'port toggen (umschalten)
pause 20 'Pause
loop 'schleife ende


dieses porgramm läst den port1 blinken

221
05.11.2006, 11:43
heyyyy Leute alles klar,

ich habe noch ne Frage:
Ich hab mein Programm geschrieben und über dem Apliktionboard getestet......alles läuft einbahnfrei, aber ich wollte jetzt das ganzu über eine I2C Bus auf eine LDC zeigen lassen.
Wie kann man so was machen?
Irgendwas im Programm umschreiben? und ich hab gehört das man auch die Steckbrücken auf dem M-Unit2 irgenwie stecken soll.
Wie soll ich das machen damit mir angezeigt wird ob A1 offen ist oder zu?
Danke




Das ist ein teil meines Programms.


DEFINE PORT1 AS PORT [1]
DEFINE PORT2 AS PORT [2]
DEFINE PORT3 AS PORT [3]


LCD.INIT
# loop

LCD.CLEAR
IF (PORT1 =ON)AND(PORT2 =ON)AND(PORT3 =ON) THEN
LCD.POS 2,4
LCD.PRINT "A1 offen"
PAUSE 60
END IF

IF (port1 =NOT ON) AND (PORT2 =ON)AND (PORT3 =ON) THEN
LCD.CLEAR
LCD.PRINT "A1 geschlossen"
PAUSE 60
END IF

GOTO LOOP
END

DIE HARD
05.11.2006, 13:07
heyyyy Leute alles klar,

ich habe noch ne Frage:
Ich hab mein Programm geschrieben und über dem Apliktionboard getestet......alles läuft einbahnfrei, aber ich wollte jetzt das ganzu über eine I2C Bus auf eine LDC zeigen lassen.
Wie kann man so was machen?
Irgendwas im Programm umschreiben? und ich hab gehört das man auch die Steckbrücken auf dem M-Unit2 irgenwie stecken soll.
Wie soll ich das machen damit mir angezeigt wird ob A1 offen ist oder zu?
Danke




Das ist ein teil meines Programms.


DEFINE PORT1 AS PORT [1]
DEFINE PORT2 AS PORT [2]
DEFINE PORT3 AS PORT [3]


LCD.INIT
# loop

LCD.CLEAR
IF (PORT1 =ON)AND(PORT2 =ON)AND(PORT3 =ON) THEN
LCD.POS 2,4
LCD.PRINT "A1 offen"
PAUSE 60
END IF

IF (port1 =NOT ON) AND (PORT2 =ON)AND (PORT3 =ON) THEN
LCD.CLEAR
LCD.PRINT "A1 geschlossen"
PAUSE 60
END IF

GOTO LOOP
END

Guck mal, hier liegt eine Demo zum LCD am IIC-BUS:
http://www.fdos.de/ccforum/codelib/basic_plus_plus/Demo_Unit_M2.0_M1.2/BEISPIELE_ZUBEH%D6R_M2.0_M1.2/IIC_LCD_DISPLAY_198303/IIC_LCD_DISPLAY_1.bas

Und hier die LIB dazu:
http://www.fdos.de/ccforum/codelib/basic_plus_plus/Library_Micro_M2_Station2/IIC_LCD_DRIVE.bas
http://www.fdos.de/ccforum/codelib/basic_plus_plus/Library_Micro_M2_Station2/ASCII_TABLE.bas

221
05.11.2006, 13:28
danke für dein Link, aber ich kann damit nicht so viel anfangen.
habe seite einigen Wochen angefange mit C-Controll zu arbeiten, deshalb bin ich in diesen bereichen nicht so fitt.
kannst vieleich mehr dazu sagen.
Was ist mit dem Steckbrücken soll die drau beleiben?????


Ich würde mich seher freuen
Danke

DIE HARD
05.11.2006, 13:39
danke für dein Link, aber ich kann damit nicht so viel anfangen.
habe seite einigen Wochen angefange mit C-Controll zu arbeiten, deshalb bin ich in diesen bereichen nicht so fitt.
kannst vieleich mehr dazu sagen.
Was ist mit dem Steckbrücken soll die drau beleiben?????


Ich würde mich seher freuen
Danke

Welche Steckbrücken meinst du denn?
Die auf der Unit selbst darfst du nicht stecken

221
05.11.2006, 14:57
die zwei schwartze Brücken meine ich

221
05.11.2006, 15:28
die zwei schwartze Brücken meine ich
http://www.malo-web.de/Content/Munit2/pic02.jpg

DIE HARD
05.11.2006, 18:24
die zwei schwartze Brücken meine ich
http://www.malo-web.de/Content/Munit2/pic02.jpg


Keine Jumper stecken !

Amiwerewolf
05.11.2006, 18:31
die zwei steckbrücken haben gar nichts mit dem LCD Oder dem I²C bus zu tun. der seine ist autostart, der anderea ist die referenzspannung für die AD wandler!

Außerdem hast du das Programm so geschrieben als würde das Display auf dem Byteport 2 sitzen. Das ist das display das sich auf den APPBoard sitzt, es gibt noch ein weiteres externen I²C display, das läst sich aber nicht so schön ansteuern!

gruß Michi

221
05.11.2006, 20:22
Danke für eure Rückmeldungen.

@ Amiwerewolf
wie gesagt ich kenne mich noch mit sowas kaum noch aus,
deshalb habe ich gefragt was ich machen kann wenn ich mein LCD über I²C Bus an meine Unit M2.0 anschließe.


kannst du mir bitte das oben geschriebenen Programm verbessern bzw. ändern so dass das funktioniert.


http://images.mercateo.com/images/products/Conrad/gr_198330_bb_00_fb.eps.jpg

Amiwerewolf
05.11.2006, 22:49
ja ich weiß was du meinst, das programm darfst du dir allerdings selbst umschreiben. din sehr gutes beispiel findest du hier: http://www.csslabs.de/ccontrol/lib/bpp/Demo_Unit_M2.0_M1.2/BEISPIELE_ZUBEH%D6R_M2.0_M1.2/IIC_LCD_DISPLAY_198303/IIC_LCD_DISPLAY_1.htm

beim I²C display muss jedes zeichen einzeln gesendet werden.
in basic++ programmierst du ja glaub ich schon. Bei workbench++ (bekommst du unter: http://www.csslabs.de/ccontrol) findes du ascii.blib in dieser sind die zeihen definiert, und in iic_lcd_drive.blib findest du die unterprogramme zur ansteuerung von I²C Displays. wenn du dir das beispiel anschaust geht es ganz leicht!

gruß Michi

221
06.11.2006, 19:01
alles klar ich werde das anwenden



Danke