- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: ProBot vs. Bagger

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.01.2010
    Alter
    29
    Beiträge
    119
    Anzeige

    Praxistest und DIY Projekte
    Hallo
    bin auch neuling!-Und auch Pro-Bot

    Wenn du vom Controller aus einen Text auf deinem PC anzeigen willst must du "Msg_writeText" verwenden:

    Hier direckt aus dem Handbuch vom C-Controll kopiert!

    Syntax

    void Msg_WriteText(char text[]);

    Sub Msg_WriteText(ByRef text As Char)

    Beschreibung

    Es werden alle Zeichen des char array bis zur terminierenden Null ausgegeben.

    Parameter

    text Zeiger auf char array



    Kriegst du beim komplimieren keine Meldung das er include nicht kennt??
    Die Libs kannst du ja bereits unter Optionen des Projekts laden..

    Bin mir aber nicht sicher, da ich C-Controll mit Basic programiere!
    Kenne aber LitleC von gamestudioA7

    Habs inzwischen auch gemerkt das bei C-Controll alles anders ist
    Diesen Controller brauche ich bei meinem CoffeBot zum letzten mal!!!!

    Viel Spass
    HD
    “C++ is an insult to the human brain.”
    Niklaus Wirth, entwickelte unter anderem die Programmiersprache PASCAL

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    02.03.2010
    Ort
    allgaeu
    Alter
    38
    Beiträge
    23
    eigentlich bekomm ich den anfang nicht mit. die grund vorrausetzungen fehlen mir .
    noch mal was ich eigentlich möchte und nicht verstehe :

    ich verstehe nicht wo ich einen ein Bzw. ausgang zuweisse .

    was ich habe ist der Mega 128 auf dem probot
    laut daten platt heisst es
    Modul /X4_8 vermute nur die pin belegung
    M128 /35 vermute nur eine nummer
    Port / PC0 das denke ich ist wichtig fürs programm
    dann hab ich noch eine 2
    #/ 16

    so da hängt dann eine led drann
    und an ein anderen port möchte ich ein taster gegen masse schalten wie lautet das einvachste programm das die led ein geht wenn ich den taster drücken .

    z.B. am PC0 hängt die led
    am PA7 der taster

  3. #13
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.01.2010
    Alter
    29
    Beiträge
    119
    Hallo

    Drück mal F1!
    Dann kommt das Handbuch..
    Dann Suchen nach PINBELEGUNG

    Dort ist die entsprechende Tabelle..

    Ich kann zu wenig C um dir mit sicherheit ein kluges prog zu sagen...
    Ich habe einfach BASIC gelernt, weill beim ProBot auch alles in Basic ist..
    “C++ is an insult to the human brain.”
    Niklaus Wirth, entwickelte unter anderem die Programmiersprache PASCAL

  4. #14
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.04.2010
    Ort
    Im Städtedreieck Köln-Bonn-Aachen
    Alter
    37
    Beiträge
    106
    Ich würde erst mal folgende Sachen Programmieren (als Übung)

    1. Einfach eine LED leuchten lassen
    2. 2 LEDs nach ein ander Blinken lassen
    3. "Lauflicht" Programmieren

    Ich will damit bezwecken dass man die delay.h und den Timer Interrupt kennen lernt.

    Warum delay.h und Timer Interrupt?
    delay.h ist eine Headerdatei, die ein Funktion enthält, die den Controller "sinnlos" beschäftigt und somit eine Zeitverzögerung verursacht. Timer Interrupt lösen nur nach eine bestimmt Zeit ein Interrupt aus. Interrups sagen den Controller, dass er das Hauptprogramm pausieren soll um die Interrupt anweisung aus zu führen. Dannach mach der Controller an der Stelle in Hauptprogramm weiter, wo er unterbrochen wurde. Der Timer läuft im "Hintergrund, wie eine art Zähler".

    Die Kenntnisse brauchst du, um den Taster zu entprellen (es sei den du hast es Hardware technisch gemacht)

    Meines erachten sind folgende RN-Artikel ideal zum erlernen wie man mit µC arbeitet.

    Da ist zum einen der Einstig:
    http://www.rn-wissen.de/index.php/AV...leicht_gemacht
    Der vom Aufbau bis zu den ersten einfach Programm geht (LED blinken lassen)

    http://www.rn-wissen.de/index.php/C-Tutorial
    und hier ein C-Tut, dass die Kenntnisse von C vermittelt die für AVR programmieren für den Anfang reichen.
    (C kann noch viel mehr als nur µC Programmieren, zB Spiele und Anwednungen für den Computer)

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.01.2010
    Alter
    29
    Beiträge
    119
    Diese Tuturials und erklährungen können zwar ein bischen helfen, stimmen aber nicht mit C-Controll überein...das war mein gröstes problem

    Im Handbuch für C-Controll ist ein Beispielprogramm für ein Blinklich in C!
    Kanst ja das mal ausprobieren..
    “C++ is an insult to the human brain.”
    Niklaus Wirth, entwickelte unter anderem die Programmiersprache PASCAL

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    02.03.2010
    Ort
    allgaeu
    Alter
    38
    Beiträge
    23
    ich find im handbuch nur prgrammteile
    da du auch den probot hast poste mir doch bitte mal den code wo nur eine led blinkt


    danke schon mal

  7. #17
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.01.2010
    Alter
    29
    Beiträge
    119
    Hallo

    Wenn du willst, kann ich dir das programm:

    so da hängt dann eine led drann
    und an ein anderen port möchte ich ein taster gegen masse schalten wie lautet das einvachste programm das die led ein geht wenn ich den taster drücken .

    z.B. am PC0 hängt die led
    am PA7 der taster


    Machen..aber nur in Basic..
    Meine Tastaur hat sich gerade verabschiedet..
    must dich bis morgen mittag gedulden..
    “C++ is an insult to the human brain.”
    Niklaus Wirth, entwickelte unter anderem die Programmiersprache PASCAL

  8. #18
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.01.2010
    Alter
    29
    Beiträge
    119
    Also

    Programm in Basic um an auf Port PC0 ein LED einzuschalten:



    Code:
    #define LED1 16 'LED1 ist auf PortBit 16
    
    Sub main()
        Port_DataDirBit(LED1,1) 'Pin 16 wird als Ausgang genommen
        Port_WriteBit(LED1,0)   'Pin 16 wird auf LOW gestellt!
    End Sub
    Das selbe In C
    Code:
    #define LED1 16
    
    void main (void)
    {
        Port_DataDirBit(LED1,1)
        Port_WriteBit(LED1,0)
    }
    Ein Blinklicht in C

    Code:
    #define LED1 16
    #define LED2 17
    #define OFF 1
    #define ON 0
    #define OUT 1
    
    
    void main(void)
    
    {
        Port_DataDirBit(LED1,OUT);
        Port_DataDirBit(LED2,OUT);
    
        while(true)  // Endlosschleife
        {
            Port_WriteBit(LED1,ON);     //LED1 einschalten
            Port_WriteBit(LED2,OFF);    //LED2 ausschalten
            AbsDelay(1000);             //Warten 1 Sek
            Port_WriteBit(LED1,OFF);    //LED1 auschalten
            Port_WriteBit(LED2,ON);     //LED2 einschalten
            AbsDelay(1000);             //Warten 1 Sek
    
        }                               //Alles was zwischen den beiden inneren
                                        //Klammern ist, wird wiederholt!!
    }
    PortBit 16 (Port PC0) also LED1 ist das hintere Rechte LED beim ProBot
    PortBit 17 (Port PC1) also LED2 ist das hintere Linke LED beim ProBot


    Kanst sie direckt auf den ProBot laden, sie (solten) funktionieren!
    Bei meinem jedenfals gehen sie

    Mfg
    HDR

    P.s
    sorry für die 2h verspätung, aber ich hatte noch nie zuvor mit C einen uc programmiert!
    Aber wie gesagt..es funktioniert!

    Ich muss noch kurz was (richtiges) arbeiten, dann kann ich dir auch das Prog mit dem schalter machen..
    “C++ is an insult to the human brain.”
    Niklaus Wirth, entwickelte unter anderem die Programmiersprache PASCAL

  9. #19
    Neuer Benutzer Öfters hier
    Registriert seit
    02.03.2010
    Ort
    allgaeu
    Alter
    38
    Beiträge
    23
    sowas ist gut da sieht man mal duch und damit kann man was anfangen .!
    jetzt noch eingang und dann kann man schon mal was machen .

  10. #20
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.01.2010
    Alter
    29
    Beiträge
    119
    So..

    also hier ist ein Programm, dass die LEDs beim ProBot der Reihe nach aufleuchten läst solange PA7 auf GND ist..

    Wird PA7 von GND getrent, geht das Licht zwischen dem letzten und dem nächsten LED hin und her, bis PA7 wieder mit GND verbunden ist..

    Das kanst du mit einem z.B Taster machen..

    Hoffe, das das Programm verständlich ist..

    Code:
    //Lauflicht und 1 Taster für Pro Bot
    
    #define LED1 16
    #define LED2 17
    #define LED3 19
    #define LED4 18
    
    #define Taster1 7
    
    #define OFF  1
    #define ON   0
    #define IN   0
    #define OUT  1
    
    
    
    void main(void)
    {
        Port_DataDirBit(LED1,OUT);    //Auf Ausgang schalten
        Port_DataDirBit(LED2,OUT);
        Port_DataDirBit(LED3,OUT);
        Port_DataDirBit(LED4,OUT);
    
        Port_DataDirBit(Taster1,IN);  //Auf Eingang Schalten
    
        Port_WriteBit(LED1,OFF);     //Alle LED OFF
        Port_WriteBit(LED1,OFF);
        Port_WriteBit(LED1,OFF);
        Port_WriteBit(LED1,OFF);
    
        Port_WriteBit(Taster1,1);   //Pull UP Wiederstand einschalten
    
        byte Status;
    
        Status = 1;
    
        while(true)
        {
            if (Status == 1)                  //ist der Status ==1
            {
                Port_WriteBit(LED2,OFF);
                Port_WriteBit(LED1,ON);
                AbsDelay(400);
                Port_WriteBit(LED1,OFF);
                Port_WriteBit(LED2,ON);
                AbsDelay(400);
    
                if(Port_ReadBit(Taster1)==0)  //Wird der Taster gedrückt??
                {
                    Port_WriteBit(LED2,OFF);  //Wenn ja: LED2,OFF und
                    Status = 2;             //Status Wechsel
                }
            }
    
            if (Status==2)           //Ist der Status == 2
            {
                Port_WriteBit(LED3,OFF);
                Port_WriteBit(LED2,ON);
                AbsDelay(400);
                Port_WriteBit(LED2,OFF);
                Port_WriteBit(LED3,ON);
                AbsDelay(400);
    
                if(Port_ReadBit(Taster1)==0)  //Wird der Taster gedrückt??
                {
                    Port_WriteBit(LED3,OFF);  //Wenn ja: LED3,OFF und
                    Status = 3;              //Status Wechsel
                }
            }
    
            if (Status == 3)                   //ist der Status == 3
            {
                Port_WriteBit(LED4,OFF);
                Port_WriteBit(LED3,ON);
                AbsDelay(400);
                Port_WriteBit(LED3,OFF);
                Port_WriteBit(LED4,ON);
                AbsDelay(400);
    
                if(Port_ReadBit(Taster1)==0)  //Wird der Taster gedrückt??
                {
                    Port_WriteBit(LED4,OFF);  //Wenn ja: LED4,OFF und
                    Status = 4;              //Status Wechsel
                }
            }
            if (Status == 4)          //Ist der Status == 4
            {
                Port_WriteBit(LED1,OFF);
                Port_WriteBit(LED4,ON);
                AbsDelay(400);
                Port_WriteBit(LED4,OFF);
                Port_WriteBit(LED1,ON);
                AbsDelay(400);
    
                if(Port_ReadBit(Taster1)==0)  //Wird der Taster gedrückt??
                {
                    Port_WriteBit(LED1,OFF);  //Wenn ja: LED1,OFF und
                    Status = 1;              //Status Wechsel
                }
            }
        }
    }
    Ich bin wie gesagt C anfänger..(noch nie zuvor C auf uc programiert) fals ein fehler im Programm ist, bitte melden!

    Es funktioniert aber
    Viel Spass und freundliche Grüsse
    HD
    “C++ is an insult to the human brain.”
    Niklaus Wirth, entwickelte unter anderem die Programmiersprache PASCAL

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress