Rizeni zadni napravy treba.
I u SW rozsireni muzes dalsi kanaly presne polohovat ale potak je pohodlnejsi.
Kód: Vybrat vše
unsigned long ch1;
unsigned long ch2;
unsigned long ch3;
int kontrola=0;
int tisk=0;
void setup() {
// put your setup code here, to run once:
pinMode(11, INPUT); //kanal 1
pinMode(12, INPUT); //kanal 2
pinMode(13, INPUT); //kanal 3
pinMode(2, OUTPUT); //zelena led
pinMode(3, OUTPUT); //cervwna led
pinMode(4, OUTPUT); //hlasitost +
pinMode(5, OUTPUT); //hlasitost -
pinMode(6, OUTPUT); //predchozi v poradi
pinMode(7, OUTPUT); //dalsi v poradi
pinMode(8, OUTPUT); //play/pause
pinMode(9, OUTPUT); //testovaci
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
delay(50);
ch1 = pulseIn(11, HIGH, 25000);
ch2 = pulseIn(12, HIGH, 25000);
ch3 = pulseIn(13, HIGH, 25000);
if (tisk>10) //Vypis hodnot kanalu na PC 1x za 20 cyklu
{
Serial.print("Channel 1:");
Serial.println(ch1);
Serial.print("Channel 2:");
Serial.println(ch2);
Serial.print("Channel 3:");
Serial.println(ch3);
tisk=0;
}
else
{
tisk=tisk+1;
} //konec vypisu hodnot
if (ch1<10 && ch2<10 && ch3<10) //detekce vypnute vysilacky
{
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
delay(150);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
delay(200);
}
else
{ //Zacatek cyklu
if (ch1>1250 && ch1<1650) //ch1 hlasitost +/-
{
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}
else
{
if (ch1>1650)
{
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
}
else
{
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
}
} //konec ch1 hlasitost +/-
if (ch2>1250 && ch2<1650) //ch2 predchozi/dalsi
{
digitalWrite(6, LOW);
digitalWrite(7, LOW);
}
else
{
if (ch2>1650)
{
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
}
else
{
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
}
} //konec ch2 predchozi/dalsi
if (ch3>1650) //tlacitko play/pause
{
digitalWrite(8, HIGH);
//delay(100);
//digitalWrite(8, LOW);
}
else
{
digitalWrite(8, LOW);
} //konec tlacitko play/pause
} //Konec cyklu a detekce vysilacky
} //konec programu
Přesně tak. Mikropočítače na bazi mikroprocesoru Atmel.
Arduino Nano je dostatečně malé a nabízí hodně výstupů které lze ovládat.