Arduino PRO Micro-Turnigy 9X

Regulatory, sterowniki, serwa, pakiety itp.
Awatar użytkownika
Sławek
Site Admin
Posty: 14537
Rejestracja: 21 gru 2011, 22:12
Has thanked: 15 times
Been thanked: 22 times

Re: Arduino PRO Micro-Turnigy 9X

Post autor: Sławek »

Wklej kod.

Awatar użytkownika
kajoj333
Kierowca
Posty: 163
Rejestracja: 29 sty 2015, 21:04
Been thanked: 1 time

Re: Arduino PRO Micro-Turnigy 9X

Post autor: kajoj333 »

Jak wrócę z roboty to od razu wkleje

Awatar użytkownika
Sławek
Site Admin
Posty: 14537
Rejestracja: 21 gru 2011, 22:12
Has thanked: 15 times
Been thanked: 22 times

Re: Arduino PRO Micro-Turnigy 9X

Post autor: Sławek »

Tu masz soft który odczytuje sygnał kanału z odbiornika i steruje serwem :)

Kod: Zaznacz cały

#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif

#include <Servo.h>  

int wejscieRC = 3; // nr PIN wejścia z kanału 1 odbiornika 
int wyjscieSerwo = 10; //nr PIN wyjścia sygnału serwa  
Servo mojeserwo; 

unsigned long Channel1Value;
unsigned long lastgood1;
unsigned long InitialSteer;
boolean Right;
int Steer;



void setup()

{
  Serial.begin(9600);
  Serial.println("Gotowe");
  pinMode (wejscieRC, INPUT); 
  mojeserwo.attach(wyjscieSerwo);
  InitialSteer = pulseIn (wejscieRC, HIGH); 
  lastgood1 = InitialSteer;
}

void loop()
{

  Channel1Value = pulseIn (wejscieRC, HIGH, 20000); 
  if (Channel1Value == 0) {
     Channel1Value = lastgood1;
  } else {
     lastgood1 = Channel1Value;
  }


 if (Channel1Value < InitialSteer)  {
     Right = false;
   } else {
     Right = true;
   }

  if (Right) {
    Steer = Channel1Value - InitialSteer;
   } else {
    Steer = InitialSteer - Channel1Value;
   }
 
   Steer = map(Channel1Value, 1070, 1970, 0, 179); 
   
   mojeserwo.write(Steer); 
 
}
Pozdr

Awatar użytkownika
kajoj333
Kierowca
Posty: 163
Rejestracja: 29 sty 2015, 21:04
Been thanked: 1 time

Re: Arduino PRO Micro-Turnigy 9X

Post autor: kajoj333 »

Dzięki Ci bardzo już wiele mi pomogłeś

Awatar użytkownika
kajoj333
Kierowca
Posty: 163
Rejestracja: 29 sty 2015, 21:04
Been thanked: 1 time

Re: Arduino PRO Micro-Turnigy 9X

Post autor: kajoj333 »

Podpowiedz mi tylko jeszcze jak wyciągnąć instrukcje z loop`a.
Mam migające diody x3 i jak załączę wszystkie to nie migają cały czas tylko 1,2,3 i tak non stop.Jedna działa ok ale razem to jest du*a.
Jak to rozwiązać

Awatar użytkownika
Sławek
Site Admin
Posty: 14537
Rejestracja: 21 gru 2011, 22:12
Has thanked: 15 times
Been thanked: 22 times

Re: Arduino PRO Micro-Turnigy 9X

Post autor: Sławek »

Pokaż schemat.

Awatar użytkownika
kajoj333
Kierowca
Posty: 163
Rejestracja: 29 sty 2015, 21:04
Been thanked: 1 time

Re: Arduino PRO Micro-Turnigy 9X

Post autor: kajoj333 »

Nie dam rady teraz bo w pracy. Późnym wieczorem wrócę i od razu wstawię.

Awatar użytkownika
kajoj333
Kierowca
Posty: 163
Rejestracja: 29 sty 2015, 21:04
Been thanked: 1 time

Re: Arduino PRO Micro-Turnigy 9X

Post autor: kajoj333 »

Jest to tylko zmieniony kod a nie pisany przeze mnie.

byte PinRx1 = 4; // sygnal kan4 podlaczony do Pin8
byte PinRx2 = 6; // sygnal kan6 podlaczony do Pin9
byte PinRx3 = 8; // sygnal kan7 podlaczony do Pin10
byte PinRx4 = 9; // sygnal kan8 podlaczony do Pin8
byte PinRx5 = 5; // sygnal kan2 podlaczony do Pin9
// (poczatek detekcji)

int PPM1 = 0; //kierunki
int PPM2 = 0; //silnik
int PPM3 = 0; //silnik 2
int PPM4 = 0; //światła
byte Rx3 = 0; // zmienna pomocnicza (poczatek detekcji)
int kanal81 =0;
int kanal82 =0;
int lewy =0;
int prawy =0;


int Licz = 0; // zmienne pozwalajace drukowac
int LiczMax = 10; // co 20 impuls PPM1

void setup()
{
pinMode(7,OUTPUT); // kogut
pinMode(10,OUTPUT); //drogowe
pinMode(15,OUTPUT); //robocze
pinMode(14,OUTPUT); //lewy
pinMode(18,OUTPUT); //prawy
pinMode(16,OUTPUT); //silnik
pinMode(19,OUTPUT); //ślimak
pinMode(PinRx1,INPUT); // ustaw PinRx1 jako wejscie
pinMode(PinRx2,INPUT); // ustaw PinRx2 jako wejscie
pinMode(PinRx3,INPUT); // ustaw PinRx3 jako wejscie
pinMode(PinRx4,INPUT);
pinMode(PinRx5,INPUT);
Serial.begin(57600); // ustaw predkosc transmisji
}


void loop() {

do //czekaj az pojawi sie impuls na kan8
{ //i wtedy rozpocznij detekcje kan1 i kan2
Rx3=digitalRead(PinRx3);
} while (Rx3==0);
Rx3=0;


PPM1=pulseIn(PinRx1,HIGH); // detekcja impulsu PPM na PinRx1
PPM2=pulseIn(PinRx2,HIGH); // detekcja impulsu PPM na PinRx2
PPM3=pulseIn(PinRx3,HIGH);
PPM4=pulseIn(PinRx4,HIGH);

Licz += 1; // zwieksz licznik impulsow o 1
if (Licz>LiczMax) { // drukuj wartosc co n-ty impuls

Serial.print(PPM1);
Serial.print("; ");
Serial.print(PPM2);
Serial.println("; ");
Serial.print(PPM3);
Serial.print("; ");
Serial.print(PPM4);
Serial.println("; ");
Serial.print(prawy);
Serial.println("p");
Serial.println("; ");
Serial.print(lewy);
Serial.println("l");
Serial.println("; ");

Licz = 0;
}

if(PPM3 >= 1000)
{
digitalWrite(16,HIGH);
}
else digitalWrite(16,LOW);

if(PPM4 <= 900)
{
kanal81++;
delay(500);
}
if(kanal81 == 1)
{
digitalWrite(10,HIGH);
}
if(kanal81 == 2)
{
digitalWrite(15,HIGH);
}
if(kanal81 == 3)
{
kanal81=0;
}
if(kanal81 ==0)
{
digitalWrite(15,LOW);
digitalWrite(10,LOW);
}
if(PPM4 >= 1500)
{
kanal82++;
delay(500);
}

if(kanal82 == 1)
{
digitalWrite(7,HIGH);
delay(150);
digitalWrite(7,LOW);
delay(150);
}
if(kanal82 == 2)
{
kanal82=0;
}
if(kanal82 == 0)
{
digitalWrite(7,LOW);
}
if(PPM2 >= 1000)
{
digitalWrite(19,HIGH);
}
else digitalWrite(19,LOW);

if(PPM1 <=900)
{
lewy++;
delay(500);
}
if(PPM1 >=1500)
{
prawy++;
delay(500);
}
if(lewy == 1)
{
digitalWrite(14,HIGH);
delay(500);
digitalWrite(14,LOW);
delay(500);
}
if(prawy == 1)
{
digitalWrite(18,HIGH);
delay(500);
digitalWrite(18,LOW);
delay(500);
}
if(lewy == 2)
lewy=0;
if(prawy == 2)
prawy=0;
}

Awatar użytkownika
kajoj333
Kierowca
Posty: 163
Rejestracja: 29 sty 2015, 21:04
Been thanked: 1 time

Re: Arduino PRO Micro-Turnigy 9X

Post autor: kajoj333 »

Udało mi się tylko tak
schemat.png
Nie mogłem znaleźć mojej płytki więc improwizowałem.
Podłączyłem wszystko tak jak mam i dołączam do tego widok mojej płytki
schemat.png
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
Sławek
Site Admin
Posty: 14537
Rejestracja: 21 gru 2011, 22:12
Has thanked: 15 times
Been thanked: 22 times

Re: Arduino PRO Micro-Turnigy 9X

Post autor: Sławek »

Halo, halo, chcesz upalić arduino ? silniki nie podłacza sie bezpośrednio pod arduino tylko poprzez regulator.

ODPOWIEDZ