Skončila zimní sezóna a tím i první testování přijímací antény SALA. Uživatelé se vesměs shodli na konstatování, že to chodí dobře. Není to lepší než Beverage, ale tím, že je to tichá anténa, je na ní DX lépe slyšet, než na vysílací anténu. Obecně panuje shoda, že je to lepší, než K9AY, ale srovnatelné s DHDL. Proti ní to má výhodu v bohatém směrování.
(kliknout pro zvětšení)
Navrhl jsem nový ovládaci panel. Tentokrát na Arduinu Nano. Potřebné porty se získávaji na expandéru MCP23017 a spínání relé opět obstarává ULN2803. Neřešil jsem konektor pro ovládací kabel. Je k mání 8 pinů plus zem. Je na libovůli každého, co si tam dá. Nabízí se použít STP kabel a konektor Canon DB9. Hlavně využít stínění. U předešlého modelu bývá problém s pronikáním VF do Arduina. Ovládací kabel přeci jen funguje jako poměrně dlouhá anténa. A nezapomenout na propojeni zemí mezi ovládačkou a zdrojem pro napájeni antény. Ta je samozřejmě oddělena výhybkou, která byla na původni ovládačce.
Osazovací plán - vrchní strana desky
Osazovací plán - spodní strana desky
Hotová deska - horní strana
Hotová deska - spodní strana
Ke stažení:
Schéma (formát PDF)
Podklady pro výrobu ploš. spojů (ZIP, formát Gerber)
Kód pro Arduino (shodný s následujícím textovým souborem, určen pro software Arduino a vhodný přímo k natažení do paměto modulu Arduino)
Standa OK1AU
Kód Arduino:
/* HARDSOFT 3/2017 Ovladaci panel pro anteny SALA Arduino Nano. Piny D2-D9 jsou pro tlacitka. TABULKA PREPINANI: NORTHWEST: Sepnout North_B & South_A NORTHEAST: Sepnout East_B & West_A SOUTHEAST: Sepnout South_B & North_A SOUTHWEST: Sepnout West_B & East_A NORTH: Sepnout North_B & East_B & South_A & West_A EAST: Sepnout South_B & East_B & North_A & West_A SOUTH: Sepnout South_B & West_B & North_A & East_A WEST: Sepnout North_B & West_B & South_A & East_A */ #include "Wire.h" byte a=1; byte b=102; byte c=0; void setup() { Serial.begin (9600); // nastaveni pinu for (int i=2; i<10; i++){ pinMode(i,INPUT); digitalWrite(i, HIGH); } Wire.begin(); Wire.beginTransmission(0x20); //begins talking to the slave device Wire.write(0x00); //selects the IODIRA register Wire.write(0x00); //this sets all port A pins to outputs Wire.endTransmission(); //stops talking to device Wire.beginTransmission(0x20);//begins talking again to slave device Wire.write(0x01); //selects the IODIRB register Wire.write(0x00); // sets all port B pins to outputs Wire.endTransmission(); //ends communication with slave device test(); } void loop() { //----------------------------------------------- PORTa LED tlacitka,PORTb rele if (digitalRead(2) == LOW){a = B00000001; b = B01100110;} //NORTH else if (digitalRead(3) == LOW){a = B00000010; b = B01100000;} //NORTHEAST else if (digitalRead(4) == LOW){a = B00000100; b = B01101001;} //EAST else if (digitalRead(5) == LOW){a = B00001000; b = B00001001;} //SOUTHEAST else if (digitalRead(6) == LOW){a = B00010000; b = B10011001;} //SOUTH else if (digitalRead(7) == LOW){a = B00100000; b = B10010000;} //SOUTHWEST else if (digitalRead(8) == LOW){a = B01000000; b = B10010110;} //WEST else if (digitalRead(9) == LOW){a = B10000000; b = B00000110;} //NORTHWEST Wire.beginTransmission(0x20); Wire.write(0x12); // address port A Wire.write((byte)a); //value to send Wire.endTransmission(); Wire.beginTransmission(0x20); Wire.write(0x13); // address port B Wire.write((byte)b); // value to send Wire.endTransmission(); } void test() { for (int i=0; i<8; i++){ c = (1<<i); Wire.beginTransmission(0x20); Wire.write(0x12); // address port A Wire.write((byte)c); //value to send Wire.endTransmission(); delay(300); } }