Go Down

Topic: LED Würfel 10x10x10 Snake 2.0 (Read 1 time) previous topic - next topic

JakaIDE

Jul 02, 2018, 12:40 pm Last Edit: Jul 04, 2018, 10:42 am by JakaIDE
Hallo Arduino Forum !

Ich bin der Jason und mache gerade eine Ausbildung zum Elektroniker für Geräte und Systeme
in der Ausbildung Spezialisiere ich mich auf Microkontroler weil mir das einfach bisher am meisten liegt

jetz zu meinen problem (codes folgen danach)

ich programmiere momentan den Arduino Mega von joy-it
jetz ist es so wenn ich im loop der/die/das void "Wall4();"aktiviere (// wegmache)
dann registriert der Arsaduino für den B_left einen HIGH input zudem wird noch vor "Wall4()" Direction als 1 angezeigt und danach als 0

wenn ich dann aber wiederum "wall4()" ausklammer dann passiert das nicht...
so jetz denkt ihr evtl erstmal wie ich ok ist dort ein fehler ... problem ist das ich keinen fehler finde
weil "Wall4()" ist für die änderungen für "Directions" nicht zulässig

CubeV11.ino
Code: [Select]
#include "Variables.h"
#include "Koordinaten.h"
#include "border.h"
#include "movementPassive.h"
#include "movementActive.h"
#include "z_debug.h"

void setup() {
  Pins();
  delay(100);
  Serial.begin(9600);
  delay(1000);
  siems_main_point_1 = 150;
  siems_debug_wert_3 = 1;
  if (Direction == 0);{
    Direction = 1;
  }
}
// Befehle    :
// Debuging    RunningAll,DebugOn
// Serial     :
//             Mon1 = shows You the coordinates whit the variable siems_main_point_1.
//             Mon2 = testing the coordinates. (serial and reallife debuging)
//             Mon3 = Mon1 without button
// Main Prog. :
//             siems_main_move = !movement (its like W/A/S/D)
//
//
void loop() {
  Mon3();
  Mon100();
  siems_main_move();
  //siems_main_maps_general();
//  DebugButton()
}

Koordinaten.h
Variables.h
border.h
Code: [Select]
#include "border1.h"
#include "border2.h"
#include "border3.h"
#include "border4.h"
void Wall(){
  Wall_1(); //Norden
  Wall_2(); //Osten
  Wall_3(); //Süden
  Wall_4(); //Westen
}

border1.h
border2.h
border3.h
border4.h
matrix.h
movementActive.h
movementPassive.h
z_debug.h








EDIT 04.07.2018 10:40
Der Code unterteilt sich in verschiedene segmente
bewegung
koordinaten
punkte system/score(noch nicht inplementiert)
größer werdene schlange(noch nicht inplementiert)

DrDiettrich

Versuche mal, dich selbst zu sortieren. Was Du  erklärst hat überhaupt nichts mit dem Code zu tun, den zu zeigst.

JakaIDE

#2
Jul 02, 2018, 02:44 pm Last Edit: Jul 02, 2018, 02:44 pm by JakaIDE
@DrDiettrich

eigentlich sollte alles ersichtlich sein... mein momentaniges problem ist halt das sich bei der abfrage die ich in z_debug.h habe bei Direction einen wert von 0 beckomme und der Arduino im programm nach "Wall()" plotzlich eingänge mit pullup und zur genauen signal erkennung wird mit transistoren geschaltet

und bei Varriables.h ist wiederum die Variabel für Direction und auch für den restlichen programm ablauf !
also ich finde schon das mein selbst geschriebener code mit meiner eigenen fehler diagnose überinstimmt und vlt hat ja jmd hier zeit und ließt sich den code in ruhe durch... sitze daran schon so nh parr monate und würde unger njetz weiil ein fehler da ist wieder 10 tage das internet zu durchsuchen bis ich den richtigen suchbegriff habe um dann nach einer lösung aus andren foren zu suchen...

DrDiettrich

Erkläre mal, in welcher Datei was steht. Unterprogramme in *.h Dateien zu verstecken ist schon sehr ungewöhnlich.

JakaIDE

#4
Jul 02, 2018, 03:02 pm Last Edit: Jul 02, 2018, 03:05 pm by JakaIDE
Also der haupttei lsteht wie gesagt in der ino und das mit dem *.h ist eigentlic hgeal ich hab das nur so vom tutorial übernommen es sind eigentlich nur reine textdateien ich stell mir das so vor das der arduino mit dem #include einfach das was ich woanders habe an der position anhängt wo ich #include verwende

desweiteren ist der haupt ablauf bei movementActive.h und Movementpassive.h

alle "wichtigen" daten werden vom Serielen monitor mit den codes aus z_debug.h genommen

border4.h ist der code der fehler macht warum auch immer ich kann mir das  halt nicht erklären




hier nochmal der haupt code wo auch steht welches void woher kommt
Code: [Select]

#include "Variables.h"
#include "Koordinaten.h"
#include "border.h"
#include "movementPassive.h"
#include "movementActive.h"
#include "z_debug.h"

void setup() {
  Pins(); // Variables.h Zeile 144
  delay(100);
  Serial.begin(9600);
  delay(1000);
  siems_main_point_1 = 150; //koordinaten auf 150 setzten
  siems_debug_wert_3 = 1; // zum automatischen starten zur ausgabe von fehler codes
  if (Direction == 0);{ //Direction korektur zu testzwecken bei jenem fehler (ohne erfolg)
    Direction = 1;
  }
}

void loop() {
  Mon3(); //z_debug.h Zeile 102
  Mon100();//z_debug.h Zeile 73
  siems_main_move();//moveAktive.h Zeile 290
  //siems_main_maps_general();//Koordinaten.h
//  DebugButton()
}

DrDiettrich

Du weißt daß das Murks ist:
Code: [Select]
if (Direction = 4 && ...)
???

Serenifly

Quote
welches void woher kommt
Es gibt keine "voids". Void ist ein Datentyp

HotSystems

.....
hier nochmal der haupt code wo auch steht welches void woher kommt
.....
Dein Geschreibsel ist genau so grauenhaft zu lesen, wie dein Sketch.

Verwende doch einfach mal öfter die "Schift-Taste", dann wird der Text auch verständlicher.
Und Satzzeichen gibt es auch, damit man erkennen kann, wo "Anfang und Ende" ist.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

postmaster-ino

Hi
Dein Geschreibsel ist genau so grauenhaft zu lesen, wie dein Sketch.

Verwende doch einfach mal öfter die "Schift-Taste", dann wird der Text auch verständlicher.
Und Satzzeichen gibt es auch, damit man erkennen kann, wo "Anfang und Ende" ist.
Dem ich Nichts hinzuzufügen!

Wollte Dir ja schon schreiben, daß Du ggf. auch mit meiner Hilfe rechnen kannst, wenn Du das Gelump in Lesbar ablieferst.

Naja, habe ich nun trotzdem gemacht - immerhin!

MfG
anscheinend ist Es nicht erwünscht, einen Foren-internen Link als 'Homepage' einzubinden, damit JEDER nur einen Klick von combie's Liste zum Thema State-Maschine entfernt ist.
... dann eben nicht ...

themanfrommoon

Vernünftig schreiben hat auch was mit Respekt zu tun.
Wenn man das ließt, was du schreibst hat man schon keine Lust mehr weiterzulesen und zu helfen.

JakaIDE

#10
Jul 04, 2018, 10:35 am Last Edit: Jul 04, 2018, 10:39 am by JakaIDE
schade das ihr mir nicht weiter helfen könnt... naja vlt hab ich mir das mit den voids undso alles falsch beigebracht...

und auch entschuldigung wegen meiner rechtschreibung habe da probleme mit ist halt so und das mein code so unübersichtlich zu lesen ist hmm...  habe eigentlich darauf geachtet das alles nachvollziehbar ist...

naja such ich mich halt weiter durchs Internet auf der suche zur lösung meines problems...

by the way kurz zum code an sich was gesagt... er funktioniert einwandfrei bis ich die "wall" funktion hinzugefügt habe danach  ging erst alles daneben... das heißt dinge wie die bewegung und automatischer ablauf und das koordinaten system (mehr schlecht als recht da ohne xyz) funktionierten einwandfrei (soweit abgelesen vom serielen monitor)

Tommy56

Du hast eine sehr wahrscheinliche Lösung des Problems bereits bekommen, ignorierst diese aber konsequent.
Da ist Dir halt nicht weiter zu helfen.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

JakaIDE

#12
Jul 04, 2018, 10:46 am Last Edit: Jul 04, 2018, 10:47 am by JakaIDE
Du hast eine sehr wahrscheinliche Lösung des Problems bereits bekommen, ignorierst diese aber konsequent.
Da ist Dir halt nicht weiter zu helfen.

Gruß Tommy
ähm ich sehe leider nirgendswo beschrieben wiso ich denn jetz einen fehler da habe mit der Direction und der Wall und ohne die Wall nicht ich habe einfach keine idde mehr an was es liegt und mir zu sagen ich solle meinen code sauberer schreiben ist zwar ein tipp ja ändert aber an meinem problem im dem sinne nicht... möcht jetzt hier aber auch nicht diskutieren ...

Tommy56

Da Du es anscheinend wirklich nicht verstehst, hier nochmal ein Hinweis: Lies Dir Posting #5 nochmal durch und versuche es zu verstehen. Nur mit Copy & Paste wird das nichts.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

JakaIDE

wiso ist die abfarge mit
Code: [Select]

if (Var1 == 1 && Var2 == 1 && Var3 == 1){
  Serial.begin(9600);
Serial.print(HelloWorld);
}


Großartig anders oder "murks" als
Code: [Select]

if(Var1 == 1){
  if(Var2 == 1){
    if (Var3 == 1){
      Serial.begin(9600);
      Serial.print(HelloWorld);
    }
  }
}

vom programablauf müsste es ja eh das gleiche sein für den microController oder verstehe ich da was falsch ?
bzw gehe ich den programm ablauf falsch an ? (was ärgerlic hwäre das ich schon ein parr monate daran sitze...

Go Up