-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Anfänger braucht Hilfe um LED's zu programmieren.

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    26.07.2008
    Beiträge
    80

    Anfänger braucht Hilfe um LED's zu programmieren.

    Anzeige

    Hi @ all

    Wie schon oben geschrieben, binn ich totaler Anfänger und brauche Hilfe um mehrere LED's zu programmieren.

    Dies soll folgender massen geschehen:

    Schalter wird betätigt -> LED1 leuchtet auf und bleibt so.
    Schalter wird nochmals betätigt -> LED1 geht aus -> LED2 leuchtet auf und bleibt so.
    Schalter wird nochmals betätigt -> LED2 geht aus und bleibt so.
    Schalter wird nochmals betätigt -> LED1 leuchtet wieder auf, der Prozess beginnt von vorne.

    und der zweite Code soll dies tun.

    Schalter wird betätigt -> LED1 leuchtet auf und bleibt so.
    Schalter wird nochmals betätigt -> LED2 leuchtet auf und bleibt so.
    Schalter wird nochmals betätigt -> LED2 geht aus und bleibt so.
    Schalter wird nochmals betätigt -> LED1 leuchtet auf , der Prozess beginnt von vorne.

    Ich weiss das klinkt für Euch vielleicht einfach, aber ich habe Probleme damit.

    Kann mir Jemand vielleicht einen Codeschnipsel geben, den ich dann leicht erweitern/verändern kann z.B. statt des Schalters einen Sensor und/oder mehr LED's.

    Programmiert wird in C und mit AVRStudio, ich arbeite mit folgenden uC's

    ATmega88 20PU, ATmega16 16PU, ATtiny2313 20PU, ATtiny13v 10PU.

    Am bessten wäre, wenn es ein nicht so komplizierter Code wäre, damit ich ihn leicht umschreiben kann z.B. Das ich noch eine verzögerung in den Prozess einbauen kann.

    Wäre echt toll wenn mir Jemand helfen könnte.

    Danke
    Hey ihr da OHM, macht doch WATT ihr VOLT !

    Strom ist machmal dick, damit er nicht aus der Steckdose läuft.

    http://netzdateien.ne.funpic.de/Emot...nstruction.gif

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.11.2006
    Ort
    Wien
    Beiträge
    120
    Hallo

    Du kannst in einer if clause abfragen ob der taster gedrückt.
    Dann wird eine Variable auf einen bestimmten Wert gesetzt.
    Dieser Wert verweißt in der if clause auf das blinken einer LED oder was auch imemr.
    Dann hast du noch bei der Tasterabfrage eine weitere Variable die die Port"nummer" enthält (0,1,2,3,4,5,6,7) (die wird auch immer beim Tasterdruck hochgezählt)
    Und du schaltest dann eben in der 2.if clause die entsprechende LED.

    der 2. code ist im prinzip fast das gleiche.

    mfg

    hoffe das konnte bisl helfen

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    20.05.2006
    Ort
    Lippe
    Alter
    48
    Beiträge
    524
    Hallo,

    kurz zur Ergänzung, je nach Taster/Sensor muss eventuell eine Entprellung stattfinden.

    Gruß

    Jens

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    26.07.2008
    Beiträge
    80
    Danke für deine Antwort, aber ich habe keine ahnung wie ich den Code schreiben muss, wie gesagt ich bin totaler Anfänger.

    Kannst du mir vielleicht einen Codeschnipsel schreiben ?

    Wäre echt super.

    lg rob_88_20p

    P.S. Ich hätte da noch eine zweite Frage:

    Ich habe vor kurzem eine kleine Zahlentastatur gelötet, um damit ein Codeschloss zu bauen. Aber ich habe schwierigkeiten mit der Programmierung:

    Der Code soll in etwa das tun:

    In Register1 wurde z.b. der Code 1,4,3,7 festgelegt.

    Nun werden Tasten gedrückt und für sagen wir, 10 sekunden in Register2 gespeichert.

    Taste 1 wird gedrückt, die 1 wird in Register2 gespeichert.
    Taste 4 wird gedrückt, die 4 wird auch in Register2 gespeichert.
    Taste 3 wird gedrückt, die 3 wird auch in Register2 gespeichert.
    Taste 7 wird gedrückt, die 7 wird auch in Register2 gespeichert.

    Nun wird Register1 mit Register2 verglichen.

    (sehr vereinfacht)

    if Register1 = Register2 , Dann z.B. Relais1 ON
    if Register1 ~ Register2 , Dann z.B. Alarm1 ON

    Aber ich habe keine ahnung wie ich in ein Register schreiben, geschweige denn eines erstellen oder zwei mit einander vergleichen kann.

    Ich hoffe Du kanst mir nochmal weiterhelfen.
    Hey ihr da OHM, macht doch WATT ihr VOLT !

    Strom ist machmal dick, damit er nicht aus der Steckdose läuft.

    http://netzdateien.ne.funpic.de/Emot...nstruction.gif

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    www.rn-wissen.de/index.php/C-Tutorial
    www.rn-wissen.de/index.php/Avr-gcc
    http://www.mikrocontroller.net/artic...R-GCC-Tutorial

    Du solltest mit einfachen Dingen anfangen. Schau dir die Tutorials an, da steht alles drinnen was du dafür brauchst.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    15.11.2012
    Ort
    Göttingen
    Beiträge
    16
    Einen schönen Guten Morgen.
    Ich bin ein Anfänger was das Programmieren an geht und habe mir zum probieren und Lernen den Atmega 16-16PU ein Steckbrett, den Diamex All-AVR Programmer zugelegt.
    Die Software ist das Atmel Studio 6.0

    Ich habe ein problem mit einem Atmega 16-16PU.

    Ein kleines Programm habe ich auch schon geschrieben und damit eine LED Angesteuert.

    /*
    * GccApplication2.c
    *
    * Created: 14.12.2013 20:11:52
    * Author: Jens Grumme
    */

    #define F_CPU 16000000UL
    #include <avr/io.h>

    int main(void)
    {
    DDRA=0b01100001;
    while(1)
    {
    PORTA=0b01000000;

    Ich Suche nach dem befehl das die LED Blinken soll.

    Habe nach langem probieren den befehl
    _delay_ms() gefunden in die Klammern habe ich 200 rein geschrieben für 200ms.

    Aber nach dem Build Solution bekomme ich diesen Fehler angezeigt.
    Error 2 undefined reference to `_delay_ms'

    Kann mir da jemand tip geben.

    Wünsche noch ein schönen 3 Advent.

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    26
    Beiträge
    1.192
    Hallo,
    es fehlt wohl das entsprechende include, also
    Code:
    #include <util/delay.h>
    Grüße,
    Bernhard

    PS: Damit man deinen Code besser lesen kann, kannst du ihn hier im Forum zwischen [CODE ] und [/CODE ] (ohne Leerzeichen) einfügen
    "Im Leben geht es nicht darum, gute Karten zu haben, sondern auch mit einem schlechten Blatt gut zu spielen." R.L. Stevenson

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    15.11.2012
    Ort
    Göttingen
    Beiträge
    16
    Danke es hat geklappt.

    Recht vielen Dank noch mal.

    Eine Frage hätte ich noch, kann man mit dem atmega 16-16PU eine LED Uhr bauen bzw programmieren.

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    26
    Beiträge
    1.192
    Eine Frage hätte ich noch, kann man mit dem atmega 16-16PU eine LED Uhr bauen bzw programmieren.
    Das ist auf jeden Fall machbar. Dafür verwendet man Siebensegmentanzeigen, die man dann meist mit sog. Multiplexing betreibt.
    "Im Leben geht es nicht darum, gute Karten zu haben, sondern auch mit einem schlechten Blatt gut zu spielen." R.L. Stevenson

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    15.11.2012
    Ort
    Göttingen
    Beiträge
    16
    Guten abend, ich habe eine frage.

    Ich habe bei mir noch ein LCD Modul vom Typ msc-c204dyly-1n gefunden.

    Frage wie Steuer ich das mit einem Atmega 16-16 an bzw kann ich es überhaubt ansteuern.

    Grund der frage ist ich habe mir ein kleines projekt mit dem modul aus gedacht.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •