INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Datenübertragung Arduino Mega zu Labview



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

05.03.2014, 16:37
Beitrag #3

biede1987 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Mar 2014

2014
2013
DE



RE: Datenübertragung Arduino Mega zu Labview
// Programmierung des Mikrocontrollers
// Thomas Biedenbach
// CarreraBike
// Mikrocontroller Arduino Mega 2560


// Um die Runden der Fahrzeuge zu zählen, bedarf es einer Abfrage am Startzielbogen
// um dem Mikrocontroller mitzuteilen ob das Fahrzeuge durchgefahren ist oder nicht.
// Die Kontrolle, ob ein Fahrzeug durch den Startzielbogen gefahren ist , geschieht durch
// eine selbst gebaute Infrarot - Lichtschranke, die am Bogen unten angebracht ist.
// Ist die Lichtschranke belegt, dann sendet sie eine 1 an den Mikrokontroller, sobald sich
// nicht belegt ist sendet sie eine 0. Durch einen Reset Taster werden die Runden wieder auf zurückgesetzt



#include "SevSeg.h" //4 stellige 7 Segemnt Library hinzufügen
SevSeg sevseg;

int Lichtschranke1 = 11; // Zuweisung für Lichtschranke Bahn1 = Pin 11
int Lichtschranke2 = 13; // Zuweisung für Lichtschranke Bahn2 = Pin 13
int Lichtschrankeunterbrochen1; // Variable für Pin Zustand Bahn 1
int Lichtschrankeunterbrochen2; // Variable für Pin Zustand Bahn 2
int letzteRunde1; // Variable für den letzten Schalterzustand letzte Runde Bahn1
int letzteRunde2; // Variable für den letzten Schalterzustand letzte Runde Bahn2
int Runde1 = 0; // Varialbe für Rundeanzahl Bahn 1, am Anfang Runde = 0
int Runde2 = 0; // Varialbe für Rundeanzahl Bahn 2, am Anfang Runde = 0

int reset = 12; // Zuweisung für Resettaster = Pin 11
int resetdruecken; // Variable für Pin Zustand Resettaster

int auszugebende_Zahl; // Variable für auszugebende Zahl, am Display

void setup(){ //Setup Bedingungen des Programms

Serial.begin(9600); // Start der seriellen Kommunikation mit 9600bps
pinMode(Lichtschranke1,INPUT); // setzt den DigitalPin als Eingang
pinMode(Lichtschranke2,INPUT); // setzt den DigitalPin als Eingang

letzteRunde1 = digitalRead(Lichtschranke1); // Anfangszustand auslesen
letzteRunde2 = digitalRead(Lichtschranke2); // Anfangszustand auslesen
resetdruecken =digitalRead(reset); // Anfangszustand auslesen

sevseg.Begin(1,2,5,6,32,3,7,28,24,22,4,30,26); // Pin Belegung des Mikroconrollers für 4 stellige 7 Segement Display

sevseg.Brightness(10); // Helligkeit des Displays Wert von 0-100

}

void loop() { // Bedingungen die ständig wiederholt werden

sevseg.PrintOutput(); // Erzeugt die Ausgabe am Display

if (digitalRead(reset) == HIGH) // Wenn Reset 1, Dann Runde1 = 0, Runde wird zurückgesetzt
Runde1 = 0;

Lichtschrankeunterbrochen1 = digitalRead(Lichtschranke1); // Lichtschranke1 Wert lesen und in Varibale Lichtschrankeunterbrochen1 speichern
if (Lichtschrankeunterbrochen1 != letzteRunde1) { // Der Zustand des Schalters hat sich verändert

if (Lichtschrankeunterbrochen1 == LOW) { // Wenn Lichtschranke unterbrochen dann
Runde1++; // Runde1 hochzählen +1
if (Runde1==99) { // Wenn Runde 99 erreicht, dann zurücksetzen auf 0
Runde1=0;}


Serial.print("Wir sind jetzt in der "); // Ausgaben zum Serial Monitor, nur sichtbar am PC
Serial.print(Runde1);
Serial.println(" Runde Bahn1");
}
}

letzteRunde1 = Lichtschrankeunterbrochen1; // Den letzten Schalterzustand merken


if (digitalRead(reset) == HIGH) // Wenn Reset 1, Dann Runde2 = 0, Runde wird zurückgesetzt
Runde2 = 0;

Lichtschrankeunterbrochen2 = digitalRead(Lichtschranke2); // Lichtschranke2 Wert lesen und in Varibale Lichtschrankeunterbrochen2 speichern
if (Lichtschrankeunterbrochen2 != letzteRunde2) { // Der Zustand des Schalters hat sich verändert

if (Lichtschrankeunterbrochen2 == HIGH) { // Wenn Lichtschranke unterbrochen
Runde2++; // Runde2 hochzählen +1
if (Runde2==99) { // Wenn Runde 99 erreicht, dann zurücksetzen auf 0
Runde2=0;}

Serial.print("Wir sind jetzt in der "); // Ausgaben zum Serial Monitor, nur sichtbar am PC
Serial.print(Runde2);
Serial.println(" Runde Bahn2");

}

letzteRunde2 = Lichtschrankeunterbrochen2; // Den letzten Schalterzustand merken
}

auszugebende_Zahl = Runde1 * 100 + Runde2; // Formel umd Runden am Display anzuzeigen
sevseg.NewNum(auszugebende_Zahl,(byte) 2); // Ausgabe zum 4 stelligen 7 Segmentanzeige

}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
RE: Datenübertragung Arduino Mega zu Labview - biede1987 - 05.03.2014 16:37

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Stepper Motor - Labview Interface for Arduino ? Spirograph 14 9.159 25.05.2021 06:59
Letzter Beitrag: MScz
  Temperaturmessung mit Arduino UNO und LabVIEW ElHemp 15 14.023 14.06.2016 20:54
Letzter Beitrag: GerdW
Question Kabellose Datenübertragung mit Xbee Funkmodul (Arduino) mit Visa über USB Eingang für MAC und WIN Marlon 17 15.214 15.01.2015 23:14
Letzter Beitrag: Marlon
  Arduino Mega 2560 Serielle Kommunikation RX/TX 1-3 NISI 0 6.447 05.05.2014 14:56
Letzter Beitrag: NISI
  RS-232 mit Arduino Philmo 4 7.787 02.04.2014 11:57
Letzter Beitrag: GerdW
  Arduino Mega mit Labview, zu langsam Jens0815 3 6.364 20.04.2013 21:05
Letzter Beitrag: Holy

Gehe zu: