Hallo
Heb nog een vraagje over de arduino waar ik niet uitkom
werk nog niet zolang met arduino
Als ik mijn code upload werkt de serieel monitor perfect
(ter controle serial.print achter de failsave gezet)deze werkt perfect
Nu heb ik ook een code voor de hc06 bleuthoot
Als ik deze apart upload werk het prima ook de serieel monitor
zet ik de code echter in het programma doet de serieel monitor niets meer ook niet als ik het rc signaal aanzet en hij dus "ok" zou moeten printen
Gehele code

#define PI 3.141

 #include <Servo.h>

//servo
const int servo1 = 32;  // Pin for the first servo
int servoVal;   
Servo myservo1;           // create servo object to control a servo

 int val;

int ready = 0;

 //l298n -------------
// Motor A
 int enA =2;
int in1 = 52;
int in2 = 50;
 // Motor B
 int enB = 3;
int in3 = 51;
int in4 = 53;
//Motor Speed Values - Start at zero
int MotorSpeed1 = 0;
int MotorSpeed2 = 0;
 //rc kanalen---------
double channel[2];
const int pwmPIN[]={4,5,6,7,8,11,12,13}; // an array to identify the PWM input pins (the array can be any length) 
int RC_inputs = 0;
int i;
 int  buttonState =0;
 int lastbuttonState = 0;
 int x = 0;

 
void setup(){

 myservo1.attach(servo1);  // attaches the servo
 for(i=22;i<30;i++)
{
  pinMode(i, OUTPUT);//relay pins
  digitalWrite(i, HIGH);
}

  // Set all the motor control pins to outputs
 
 pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
   
  // Start with motors disabled and direction forward
   // Motor A
    digitalWrite(enA, LOW);
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
   // Motor B
   digitalWrite(enB, LOW);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  Serial.begin(9600);
  Serial.setTimeout(10);      //ensures the the arduino does not read serial for too long
  ready = 0;

}
void loop() {

channel[0]=pulseIn(7, HIGH,50000);//ch2 ln298 rechter joystick x as
channel[1]=pulseIn(8, HIGH,50000);//ch4 ln298 rechter joystick y as
channel[3]=pulseIn(6, HIGH,50000);//ch8 ln298
channel[4]=pulseIn(4, HIGH,50000);//ch 14 relais1 en relais 2
channel[5]=pulseIn(5, HIGH,50000);



   // failsave voor als het rc signaal wegvalt stopt het script
   //failsave

int sIn = 4;

unsigned long dur;
unsigned long failsafeVal = 1900;
int debounce = 1; //seconds//amount of time to regain rc signal from the time its lost
unsigned long lastDisconnection = 0;
unsigned long previousMillis = 0;
int RCstatus = 0;
int prevStatus = 0;
unsigned long currentMillis = millis();
  
  dur = pulseIn(sIn, HIGH, 500000);

  //falls to acceptable range
  if (dur >= 950 && dur <= 2000)
  {
    //check if it regains signal
    if (prevStatus == 2 && (currentMillis - lastDisconnection) < (debounce * 1000))
    
      dur = failsafeVal;
       Serial.println("ok");
    
 
//y as biede motoren syncroon voor achteruit x as alleen linker of rechter moter met roerservo-----------

  if (channel[3] >1500){
  
  if (channel[0] < 1400)
  {
 // Set Motor A backward
  digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);
 
    // Set Motor B backward
 
    digitalWrite(in3, LOW);
    digitalWrite(in4, HIGH);
 
    MotorSpeed1 = map(channel[0], 1400, 1020, 0, 255);
    MotorSpeed2 = map(channel[0], 1400,1020, 0,255);
 }
  else if (channel[0] > 1500)
  {
    // This is Forward
 
    // Set Motor A forward
    digitalWrite(in1, HIGH);
   digitalWrite(in2, LOW);

       // Set Motor B forward
 
    digitalWrite(in3, HIGH);
    digitalWrite(in4, LOW);
 
    //Determine Motor Speeds
    MotorSpeed1 = map(channel[0],1480, 1930, 0, 255); 
    MotorSpeed2 = map(channel[0],1480, 1930, 0, 255); 

  }
  else
  {
    // This is Stopped
 
    MotorSpeed1 = 0;
    MotorSpeed2 = 0; 
  }
  
  // Now do the steering
  if (channel[1] < 1400)
  {
    
    // Move Left

    i = map(channel[1], 1400, 1020, 0, 255);
        
    MotorSpeed1 = MotorSpeed1 - i;
    MotorSpeed2 = MotorSpeed2 + i;

   if (MotorSpeed1 < 0)MotorSpeed1 = 0;
    if (MotorSpeed2 > 255)MotorSpeed2 = 255;
 
  }
  else if (channel[1] > 1550)
  {
    // Move Right
    
    i= map(channel[1], 1508, 1930, 0, 255);

    MotorSpeed1 = MotorSpeed1 + i;
    MotorSpeed2 = MotorSpeed2 -i;

    // Don't exceed range of 0-255 for motor speeds
  
    if (MotorSpeed1 < 0)MotorSpeed1 = 0;
    if (MotorSpeed2 > 255)MotorSpeed2 = 255;
  }



  }
  //alleen syncroon draaien met roerservo -------yas motoren x as roerservo---------------
   
   if ( channel[3]>1400 && channel[3]<1600){
      if (channel[0] < 1400)
  {
   // Set Motor A backward
  digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);
 
    // Set Motor B backward
 
    digitalWrite(in3, LOW);
    digitalWrite(in4, HIGH);

    MotorSpeed1 = map(channel[0], 1400, 1010, 0, 255);
    MotorSpeed2 = map(channel[0], 1400,1010, 0,255);
  
  }
  else if (channel[0] > 1500)
  {
    // This is Forward
 
    // Set Motor A forward
    digitalWrite(in1, HIGH);
   digitalWrite(in2, LOW);

       // Set Motor B forward
 
    digitalWrite(in3, HIGH);
    digitalWrite(in4, LOW);
 
    //Determine Motor Speeds
 
    MotorSpeed1 = map(channel[0],1500, 1930, 0, 255);
    MotorSpeed2 = map(channel[0],1500, 1930, 0, 255); 
  }
      else
  {
    // This is Stopped
 
    MotorSpeed1 = 0;
    MotorSpeed2 = 0; 
  }
   }
    if ( channel[3]<1400){
    if  (channel[1]>1500){
    
  
   //Motor A achteruit
  digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);
 
    // Set Motor B vooruit
    digitalWrite(in3, HIGH);
    digitalWrite(in4, LOW); 
    
    MotorSpeed1 = map(channel[1],1500, 1930, 0, 255);
    MotorSpeed2 = map(channel[1],1500, 1930, 0, 255); 
  }
  
    
  else if ( channel[3]<1400){
  if ( channel[1]<1500){

      digitalWrite(in1, HIGH);
    digitalWrite(in2, LOW);
 
    // Set Motor B backward
    digitalWrite(in3, LOW);
    digitalWrite(in4, HIGH); 
    
   MotorSpeed1 = map(channel[1], 1400, 1020, 0, 255);
    MotorSpeed2 = map(channel[1], 1400,1020, 0,255);
  }
  }else {
    // This is Stopped
 
    MotorSpeed1 = 0;
    MotorSpeed2 = 0; 
  }
  }


  if (MotorSpeed1 < 30)MotorSpeed1 = 0;    // Adjust to prevent "buzzing" at very low speed
  if (MotorSpeed2 < 30)MotorSpeed2 = 0;
 
  analogWrite(enA, MotorSpeed1); // Set the motor speeds
  analogWrite(enB, MotorSpeed2);


// servo roer


// servo roer
if (channel[1]>1490){//sturen bij syncroon draaien

   servoVal= map(channel[1], 1485, 1915,90,0);  // sturen met beide motoren knop middenstand
}else if (channel[1]<1450){
   servoVal= map(channel[1], 1480,1020, 90, 180);  
}else if (channel[1]>1400 && channel[1]<1550){
  servoVal = 90;
}
 myservo1.write(servoVal);   

 delay(5);


 //void myISR() {
//relay module

// rc ontvanger----------------



if(channel[4]>1600 ){
buttonState =digitalRead (22);
  if (buttonState ==HIGH){
  digitalWrite (22, LOW);
 Serial.print (channel[4]);
}  else if(channel[4]>1600 ){
  digitalWrite (22, HIGH);
}
delay(300);
}
if(channel[4]<1200 && channel[4]>800 ){
buttonState =digitalRead (23);
  if (buttonState ==HIGH){
  digitalWrite (23, LOW);
 
}  else if(channel[4]<1200 && channel[4]>800){
  digitalWrite (23, HIGH);
}
delay(300);
}
if (channel[5] >1600){
digitalWrite (24, LOW);
}
else if(channel[5]<1200)
{
  digitalWrite(25,LOW);
}
else 
{
digitalWrite (24, HIGH);
digitalWrite (25,HIGH);
}


  }else if (Serial.available()){   //else van de failsave
    ready = 1;
    val = Serial.parseInt();

  Serial.println(val);
    if(Serial.read() == '\n'){              

        Serial.flush();                
              //send completion of the command
        Serial.print('d');     
       
       
  }
    }
}

Code enkel voor bluethooth



#define PI 3.141
int i;
int ready = 0;

int val;

void setup()
{ 
  Serial.begin(9600);
  Serial.setTimeout(10);      //ensures the the arduino does not read serial for too long
  ready = 0;
} 

//primary arduino loop
void loop() 
{ 
  if (Serial.available()){
    ready = 1;
    val = Serial.parseInt();

  Serial.println(val);
    if(Serial.read() == '\n'){               // if the last byte is 'd' then stop reading and execute command 'd' stands for 'done'

        Serial.flush();                     //clear all other commands piled in the buffer
          //send completion of the command
        Serial.print('d');     
      
    }
  }
  

Weet niet wat ik fout doe
Wie kan helpen??

Tja, indentatie en positie van de haakjes is nogal slordig.
Dat maakt het voor mij volkomen onleesbaar, en dat is dan weer lastig zoeken.

Je omschrijving van het probleem is me niet duidelijk.

zet ik de code echter in het programma doet de serieel monitor niets

Welke code zet je in welk programma. Graag beter info omtrent het probleem wanneer dat nu precies optreed.

Je het blijkbaar 2 stukjes hardware een arduino en een HC06 hoe heb je die aangesloten en hoe heb je deze 2 op de seriële monitor aangesloten.
Je kan per seriële monitor maar 1 stuk hardware bekijken wil je er 2 dan moet je seriële monitor 2x openen. Of in je seriële monitor programma 2 aparte vensters openen. Hangt er maar vanaf welk programma je daarvoor gebruikt.

[Bericht gewijzigd door benleentje op (11%)]

Sorry ben er een tijd tussen uit geweest maar ga nu weer verder.
Heb de code inmiddels beetje veranderd en alles werkt tot nu toe prima.
Echter als ik een kanaal van mijn receiver wil toevoegen werkt deze niet en stopt de serieel monitor er ook mee heb een H bridge met 2motoren een servo en een 8kanaals relais module deze werken allemaal zowel met RC als via de telefoon met Bluetooth
Daar ik een carson 14kanaals zender /ontvanger heb en nu maar 5kanalen heb aangesloten gaat alles goed declareer. Ik echter channel[6]=pulseIn(10,HIGH,50000);
Werkt deze nietook de serieel monitor geeft niets meer aan voor de rest blijft alles wel werken
Wat doe ik verkeerd wie weet raad??

Fairmont_alpine.ino

Ik echter channel[6]=pinIn(10,HIGH,50000);

Moet dat geen PulsIn zijn?

Sorry moet het ook zijn fout in bericht gezet staat wel goed in programma zal het even wijzigen

[Bericht gewijzigd door Rienvanveen op (13%)]

Heb inmiddels de oplossing gevonden
zat in "double channel[2]"en ik gebruik
meer channel daardoor deed de serieel monitor niets meer

Heb inmiddels de oplossing gevonden
zat in "double channel[2]"en ik gebruik
5 channel daardoor deed de serieel monitor niets meer