<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
<title>ES - Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/t511455-Radio-pomocu-arduina</link>
<description></description>
<language>sr</language>
<docs>https://www.elitesecurity.org/rss</docs>
<ttl>15</ttl>
<copyright>Elitesecurity.org</copyright>
<pubDate>Fri, 05 Jun 2026 05:21:10 +0200</pubDate>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108993</link>
<description>Ako u CV ulazi pisanje sa foruma onda moze .</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108993</guid>
<pubDate>Mon, 06 Apr 2026 12:25:05 +0200</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108989</link>
<description>Ovaj AI Samuki je baš nadrealan. Koja je poenta ovo raditi? Budžiš profil za CV?! </description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108989</guid>
<pubDate>Mon, 06 Apr 2026 11:12:10 +0200</pubDate>
<author>schild</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108805</link>
<description>U ovoj verziji sam:&lt;br /&gt;
&lt;br /&gt;
Izmestio Mute logiku: Funkcija YST93xTune sada samo šalje podatke, a loop kontroliše kada se ton pušta.&lt;br /&gt;
&lt;br /&gt;
Uveo neprekidnu tišinu: Čim pritisneš taster, radio se utiša i ostaje potpuno nem dok ne završi pretragu (bilo jedan korak ili ceo sken).&lt;br /&gt;
&lt;br /&gt;
Dodao Enkoder: Kod je pripremljen za rotacioni enkoder na pinovima 2 (CLK) i 3 (DT), sa tasterom na pinu 11.&lt;br /&gt;
&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;inttypes.h&amp;gt;&lt;br /&gt;
#include &amp;lt;LiquidCrystal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;SanyoCCB.h&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// PIN KONFIGURACIJA&lt;br /&gt;
#define ENC_A 2&lt;br /&gt;
#define ENC_B 3&lt;br /&gt;
#define ENC_SW 11&lt;br /&gt;
&lt;br /&gt;
// LC72131 DEFINICIJE&lt;br /&gt;
#define IN10_XS 3&lt;br /&gt;
#define IN10_CTE 2&lt;br /&gt;
#define IN22_BO2 5 // Pin 8 - Mute&lt;br /&gt;
#define IN22_BO1 4 // Band selector&lt;br /&gt;
#define DO0_UL 4&lt;br /&gt;
&lt;br /&gt;
#define YST93x_MUTE 3&lt;br /&gt;
#define YST93x_UNMUTE 4&lt;br /&gt;
#define YST93x_BAND_FM 5&lt;br /&gt;
#define YST93x_BAND_AM 6&lt;br /&gt;
&lt;br /&gt;
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);&lt;br /&gt;
SanyoCCB ccb(A5, A4, A3, A2); &lt;br /&gt;
&lt;br /&gt;
byte pll_in1[3];&lt;br /&gt;
byte pll_in2[3];&lt;br /&gt;
uint16_t FMFrequency = 880, AMFrequency = 53;&lt;br /&gt;
uint8_t band = YST93x_BAND_FM, tuned = 0;&lt;br /&gt;
&lt;br /&gt;
// Enkoder varijable&lt;br /&gt;
volatile int enc_delta = 0;&lt;br /&gt;
unsigned long taster_vreme = 0;&lt;br /&gt;
bool menuMode = false;&lt;br /&gt;
&lt;br /&gt;
// Interrupt za enkoder&lt;br /&gt;
void readEncoder() {&lt;br /&gt;
  if (digitalRead(ENC_A) == digitalRead(ENC_B)) enc_delta++;&lt;br /&gt;
  else enc_delta--;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void YST93xInit() {&lt;br /&gt;
  memset(pll_in1, 0, 3);&lt;br /&gt;
  memset(pll_in2, 0, 3);&lt;br /&gt;
  bitSet(pll_in2[0], 4); // IFS normal&lt;br /&gt;
  bitClear(pll_in1[0], IN10_XS); // 4.5MHz&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void YST93xSetMode(uint8_t mode) {&lt;br /&gt;
  switch(mode) {&lt;br /&gt;
    case YST93x_MUTE:   bitClear(pll_in2[2], IN22_BO2); break;&lt;br /&gt;
    case YST93x_UNMUTE: bitSet(pll_in2[2], IN22_BO2);   break;&lt;br /&gt;
    case YST93x_BAND_FM:&lt;br /&gt;
      band = YST93x_BAND_FM;&lt;br /&gt;
      bitWrite(pll_in1[0], 4, 1); // 50kHz step&lt;br /&gt;
      bitWrite(pll_in1[0], 1, 1); // DVS=1&lt;br /&gt;
      bitWrite(pll_in2[2], IN22_BO1, 0); &lt;br /&gt;
      break;&lt;br /&gt;
    case YST93x_BAND_AM:&lt;br /&gt;
      band = YST93x_BAND_AM;&lt;br /&gt;
      bitWrite(pll_in1[0], 7, 1); // 10kHz step&lt;br /&gt;
      bitWrite(pll_in1[0], 1, 0); // DVS=0&lt;br /&gt;
      bitWrite(pll_in2[2], IN22_BO1, 1);&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  ccb.write(0x82, pll_in1, 3);&lt;br /&gt;
  ccb.write(0x92, pll_in2, 3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// IZMENJENA FUNKCIJA: Ne dira Mute, samo vrši promenu frekvencije&lt;br /&gt;
uint8_t YST93xTune(uint16_t frequency) {&lt;br /&gt;
  uint16_t fpd = (band == YST93x_BAND_FM) ? (frequency + 107) : (frequency + 45) &amp;lt;&amp;lt; 4;&lt;br /&gt;
  uint8_t i = 0, r[3];&lt;br /&gt;
&lt;br /&gt;
  bitClear(pll_in1[0], IN10_CTE);&lt;br /&gt;
  pll_in1[1] = byte(fpd &amp;gt;&amp;gt; 8);&lt;br /&gt;
  pll_in1[2] = byte(fpd &amp;amp; 0x00ff);&lt;br /&gt;
  ccb.write(0x82, pll_in1, 3);&lt;br /&gt;
  bitSet(pll_in1[0], IN10_CTE);&lt;br /&gt;
  ccb.write(0x82, pll_in1, 3);&lt;br /&gt;
&lt;br /&gt;
  while(i &amp;lt; 10) {&lt;br /&gt;
    delay(40);&lt;br /&gt;
    ccb.read(0xa2, r, 3);&lt;br /&gt;
    if(bitRead(r[0], DO0_UL)) { i = 100; break; }&lt;br /&gt;
    i++;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if(i == 100) {&lt;br /&gt;
    unsigned long IF = (r[0] &amp;amp; 0x0f);&lt;br /&gt;
    IF = (IF &amp;lt;&amp;lt; 16) | (unsigned long)(r[1] &amp;lt;&amp;lt; 8) | (r[2]);&lt;br /&gt;
    if(band == YST93x_BAND_FM &amp;amp;&amp;amp; abs((long)IF - 342400) &amp;lt; 180) return 1;&lt;br /&gt;
    if(band == YST93x_BAND_AM &amp;amp;&amp;amp; abs((long)IF - 3600) &amp;lt; 20) return 1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  lcd.begin(16, 2);&lt;br /&gt;
  ccb.init();&lt;br /&gt;
  YST93xInit();&lt;br /&gt;
&lt;br /&gt;
  pinMode(ENC_A, INPUT_PULLUP);&lt;br /&gt;
  pinMode(ENC_B, INPUT_PULLUP);&lt;br /&gt;
  pinMode(ENC_SW, INPUT_PULLUP);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(ENC_A), readEncoder, CHANGE);&lt;br /&gt;
&lt;br /&gt;
  YST93xSetMode(band);&lt;br /&gt;
  YST93xTune(FMFrequency);&lt;br /&gt;
  YST93xSetMode(YST93x_UNMUTE);&lt;br /&gt;
  ispis();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // 1. RAD ENKODERA (Okretanje)&lt;br /&gt;
  if (enc_delta != 0) {&lt;br /&gt;
    int dir = (enc_delta &amp;gt; 0) ? 1 : -1;&lt;br /&gt;
    enc_delta = 0;&lt;br /&gt;
&lt;br /&gt;
    if (menuMode) {&lt;br /&gt;
      band = (band == YST93x_BAND_FM) ? YST93x_BAND_AM : YST93x_BAND_FM;&lt;br /&gt;
      YST93xSetMode(band);&lt;br /&gt;
    } else {&lt;br /&gt;
      YST93xSetMode(YST93x_MUTE); // TIŠINA KREĆE OVDE&lt;br /&gt;
      obradiPromenu(dir, false);&lt;br /&gt;
      YST93xSetMode(YST93x_UNMUTE); // TON SE VRAĆA TEK KAD STANEŠ&lt;br /&gt;
    }&lt;br /&gt;
    ispis();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // 2. TASTER ENKODERA (Klik i Dugi pritisak)&lt;br /&gt;
  if (digitalRead(ENC_SW) == LOW) {&lt;br /&gt;
    if (taster_vreme == 0) taster_vreme = millis();&lt;br /&gt;
    &lt;br /&gt;
    // DUGI PRITISAK -&amp;gt; AUTO SCAN&lt;br /&gt;
    if (millis() - taster_vreme &amp;gt; 1000) {&lt;br /&gt;
      menuMode = false;&lt;br /&gt;
      lcd.setCursor(0, 1); lcd.print(&amp;quot;SKENIRANJE...   &amp;quot;);&lt;br /&gt;
      YST93xSetMode(YST93x_MUTE);&lt;br /&gt;
      obradiPromenu(1, true); &lt;br /&gt;
      YST93xSetMode(YST93x_UNMUTE);&lt;br /&gt;
      taster_vreme = 0;&lt;br /&gt;
      while(digitalRead(ENC_SW) == LOW); &lt;br /&gt;
      ispis();&lt;br /&gt;
    }&lt;br /&gt;
  } else {&lt;br /&gt;
    // KRATAK KLIK -&amp;gt; ULAZ U MENI ZA BAND&lt;br /&gt;
    if (taster_vreme &amp;gt; 50 &amp;amp;&amp;amp; taster_vreme &amp;lt; 1000) {&lt;br /&gt;
      menuMode = !menuMode;&lt;br /&gt;
      ispis();&lt;br /&gt;
    }&lt;br /&gt;
    taster_vreme = 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void obradiPromenu(int d, bool scan) {&lt;br /&gt;
  do {&lt;br /&gt;
    if (band == YST93x_BAND_FM) {&lt;br /&gt;
      FMFrequency += d;&lt;br /&gt;
      if (FMFrequency &amp;gt; 1080) FMFrequency = 875;&lt;br /&gt;
      if (FMFrequency &amp;lt; 875) FMFrequency = 1080;&lt;br /&gt;
      tuned = YST93xTune(FMFrequency);&lt;br /&gt;
    } else {&lt;br /&gt;
      AMFrequency += d;&lt;br /&gt;
      if (AMFrequency &amp;gt; 170) AMFrequency = 53;&lt;br /&gt;
      if (AMFrequency &amp;lt; 53) AMFrequency = 170;&lt;br /&gt;
      tuned = YST93xTune(AMFrequency);&lt;br /&gt;
    }&lt;br /&gt;
    if(scan) ispis(); // Ažuriraj ekran tokom skeniranja&lt;br /&gt;
  } while (scan &amp;amp;&amp;amp; !tuned);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ispis() {&lt;br /&gt;
  lcd.setCursor(0, 0)...</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108805</guid>
<pubDate>Fri, 27 Mar 2026 13:33:00 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108784</link>
<description>Ovaj kod da ostane kako jeste samo da se u njega ubaci kad se traži stanica da mutira sve dok ne nađe stanicu.&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
The YST93x (YST936, YST939, etc.) is an AM/FM tuner module used on some cheap&lt;br /&gt;
Chinese home theaters and sound systems. It is made by a company named Winever&lt;br /&gt;
(&lt;a href=&quot;http://www.winever.cn/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;user_url&quot;&gt;http://www.winever.cn/&lt;/a&gt;) - and maybe some others.  It is very cheap and of a&lt;br /&gt;
a reasonable quality.  It is easy to find on eBay and Alibaba.com&lt;br /&gt;
&lt;br /&gt;
The module is based on a Sanyo LC72131 PLL and a tuner IC.  The tuner chip varies&lt;br /&gt;
from model to model: YST939 uses the Sanyo LA1823 (or clone) radio-on-chip and&lt;br /&gt;
YST936 uses a Chinese-branded &amp;quot;CS1000&amp;quot; tuner.&lt;br /&gt;
&lt;br /&gt;
The PLL can communicate with a microcontroller via the Sanyo CCB bus, and have&lt;br /&gt;
5 I/O pins which controls the tuner:&lt;br /&gt;
&lt;br /&gt;
PLL pin    Direction       Function&lt;br /&gt;
BO0        PLL -&amp;gt; Tuner    Not used&lt;br /&gt;
BO1        PLL -&amp;gt; Tuner    Band selector (0 = FM; 1 = AM)&lt;br /&gt;
BO2        PLL -&amp;gt; Tuner    Mute / IF output (0 = Mute / IF counter mode&lt;br /&gt;
                                             1 = Normal tuner mode)&lt;br /&gt;
BO3        PLL -&amp;gt; Tuner    Audio mode (0 = Stereo; 1 = Mono)&lt;br /&gt;
BO4        PLL -&amp;gt; Tuner    Not used&lt;br /&gt;
IO0        Tuner -&amp;gt; PLL    Not used (pulled high.  Reads &amp;quot;1&amp;quot;)&lt;br /&gt;
IO1        Tuner -&amp;gt; PLL    Stereo indicator (0 = Stereo; 1 = Mono)&lt;br /&gt;
&lt;br /&gt;
Note: BO0 must be set to &amp;quot;0&amp;quot; for the tuner to output the IF signal to the PLL.&lt;br /&gt;
This means the tuner will have to be muted every time one want the PLL to count&lt;br /&gt;
the IF frequency.&lt;br /&gt;
&lt;br /&gt;
YST93x module Pinout:&lt;br /&gt;
&lt;br /&gt;
  FM &lt;br /&gt;
Antenna +------------------------+&lt;br /&gt;
    +---|                        |- RDS out (not all models have this pin)&lt;br /&gt;
    +---|                        |- Out-L&lt;br /&gt;
        |         YST93x         |- GND&lt;br /&gt;
        |                        |- Out-R &lt;br /&gt;
        |                        |- VDD (12V)&lt;br /&gt;
        |                        |&lt;br /&gt;
  AM    |                        |&lt;br /&gt;
Antenna |                        |- DO&lt;br /&gt;
    +---|                        |- CL&lt;br /&gt;
    |   |                        |- DI&lt;br /&gt;
    |   |                        |- CE&lt;br /&gt;
    +---|                        |- GND&lt;br /&gt;
        +------------------------+&lt;br /&gt;
        &lt;br /&gt;
YST93x to Arduino connections:&lt;br /&gt;
Arduino                YST93x&lt;br /&gt;
A5 (DO)                  DI&lt;br /&gt;
A4 (CL)                  CL&lt;br /&gt;
A3 (DI)                  DO&lt;br /&gt;
A2 (CE)                  CE&lt;br /&gt;
GND                      GND&lt;br /&gt;
&lt;br /&gt;
Note:   This example uses an analog keypad with the following schematics:&lt;br /&gt;
&lt;br /&gt;
                 A0&lt;br /&gt;
                 |&lt;br /&gt;
          2k2    |   330R        620R         1k          3k3        &lt;br /&gt;
VCC -----\/\/\---+---\/\/\---+---\/\/\---+---\/\/\---+---\/\/\-----+----- GND&lt;br /&gt;
                 |           |           |           |             |&lt;br /&gt;
                 X SCAN_UP   X UP        X DOWN      X SCAN_DOWN   X BAND&lt;br /&gt;
                 |           |           |           |             |&lt;br /&gt;
                GND         GND         GND         GND           GND&lt;br /&gt;
&lt;br /&gt;
X = keys (N.O.)&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;inttypes.h&amp;gt;&lt;br /&gt;
#include &amp;lt;LiquidCrystal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;SanyoCCB.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// This example uses an analog 5-key keypad tied to A0&lt;br /&gt;
#define KEYPAD_PIN A0&lt;br /&gt;
&lt;br /&gt;
// Keypad keys&lt;br /&gt;
#define KEY_BAND      5&lt;br /&gt;
#define KEY_SCAN_DOWN 4&lt;br /&gt;
#define KEY_DOWN      3&lt;br /&gt;
#define KEY_UP        2&lt;br /&gt;
#define KEY_SCAN_UP   1&lt;br /&gt;
#define KEY_NONE      0&lt;br /&gt;
&lt;br /&gt;
// LC72131 IN1, byte 0&lt;br /&gt;
#define IN10_R3     7&lt;br /&gt;
#define IN10_R2     6&lt;br /&gt;
#define IN10_R1     5&lt;br /&gt;
#define IN10_R0     4&lt;br /&gt;
#define IN10_XS     3&lt;br /&gt;
#define IN10_CTE    2&lt;br /&gt;
#define IN10_DVS    1&lt;br /&gt;
#define IN10_SNS    0&lt;br /&gt;
&lt;br /&gt;
// LC72131 IN2, byte 0&lt;br /&gt;
#define IN20_TEST2  7&lt;br /&gt;
#define IN20_TEST1  6&lt;br /&gt;
#define IN20_TEST0  5&lt;br /&gt;
#define IN20_IFS    4&lt;br /&gt;
#define IN20_DLC    3&lt;br /&gt;
#define IN20_TBC    2&lt;br /&gt;
#define IN20_GT1    1&lt;br /&gt;
#define IN20_GT0    0&lt;br /&gt;
&lt;br /&gt;
// LC72131 IN2, byte 1&lt;br /&gt;
#define IN21_DZ1    7&lt;br /&gt;
#define IN21_DZ0    6&lt;br /&gt;
#define IN21_UL1    5&lt;br /&gt;
#define IN21_UL0    4&lt;br /&gt;
#define IN21_DOC2   3&lt;br /&gt;
#define IN21_DOC1   2&lt;br /&gt;
#define IN21_DOC0   1&lt;br /&gt;
#define IN21_DNC    0&lt;br /&gt;
&lt;br /&gt;
// LC72131 IN2, byte 2&lt;br /&gt;
#define IN22_BO4    7&lt;br /&gt;
#define IN22_BO3    6&lt;br /&gt;
#define IN22_BO2    5&lt;br /&gt;
#define IN22_BO1    4&lt;br /&gt;
#define IN22_IO2    3&lt;br /&gt;
#define IN22_IO1    2&lt;br /&gt;
#define IN22_IOC2   1&lt;br /&gt;
#define IN22_IOC1   0&lt;br /&gt;
&lt;br /&gt;
// LC72131 DO0, byte 0&lt;br /&gt;
#define DO0_IN2     7&lt;br /&gt;
#define DO0_IN1     6&lt;br /&gt;
#define DO0_UL      4&lt;br /&gt;
&lt;br /&gt;
// For function YST93xSetMode&lt;br /&gt;
#define YST93x_MONO    1&lt;br /&gt;
#define YST93x_STEREO  2&lt;br /&gt;
#define YST93x_MUTE    3&lt;br /&gt;
#define YST93x_UNMUTE  4&lt;br /&gt;
#define YST93x_BAND_FM 5&lt;br /&gt;
#define YST93x_BAND_AM 6&lt;br /&gt;
&lt;br /&gt;
// Acceptable IF frequency deviation window (for the PLL) when searching for radio stations&lt;br /&gt;
// You may need to tweek these values to have a reliable &amp;quot;scan&amp;quot; mode&lt;br /&gt;
#define FM_TUNED_WINDOW 180&lt;br /&gt;
#define AM_TUNED_WINDOW 20&lt;br /&gt;
&lt;br /&gt;
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);&lt;br /&gt;
&lt;br /&gt;
SanyoCCB ccb(A5, A4, A3, A2); // Pins: DO CL DI CE&lt;br /&gt;
&lt;br /&gt;
byte pll_in1[3];&lt;br /&gt;
byte pll_in2[3];&lt;br /&gt;
&lt;br /&gt;
// Initial frequencies&lt;br /&gt;
uint16_t FMFrequency = 870;   // MHz * 10&lt;br /&gt;
uint16_t AMFrequency = 53;    // KHZ / 10&lt;br /&gt;
&lt;br /&gt;
uint8_t band = YST93x_BAND_FM;&lt;br /&gt;
uint8_t tuned = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/************************************************\&lt;br /&gt;
 *               YST93xInit()                   *&lt;br /&gt;
 * Initialize the PLL settings vectors with     *&lt;br /&gt;
 * parameters common to booth AM and FM modes   *&lt;br /&gt;
\************************************************/ &lt;br /&gt;
void YST93xInit() {&lt;br /&gt;
  memset(pll...</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108784</guid>
<pubDate>Thu, 26 Mar 2026 00:37:40 +0100</pubDate>
<author>Bogdan-carr</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108758</link>
<description>taj zvuk &amp;quot;seckanja&amp;quot; dok Arduino šalje podatke (što vidiš na TX diodi) nastaje jer program u svakom koraku pretrage otvori i zatvori Mute, pa dobiješ taj neprijatni ritmični šum.&lt;br /&gt;
&lt;br /&gt;
Rešićemo to tako što ćemo izbaciti komandu za otključavanje tona iz same funkcije za štimovanje i premestiti je tamo gde se pretraga završava.&lt;br /&gt;
&lt;br /&gt;
Što se tiče enkodera, to je odlična ideja! Radio će izgledati i raditi mnogo modernije. Koristićemo standardni rotacioni enkoder (sa tasterom).&lt;br /&gt;
&lt;br /&gt;
Plan povezivanja (Enkoder):&lt;br /&gt;
Pin A (CLK): Digitalni pin 2 (podržava interrupte)&lt;br /&gt;
&lt;br /&gt;
Pin B (DT): Digitalni pin 3&lt;br /&gt;
&lt;br /&gt;
SW (Taster): Digitalni pin 11 (ili bilo koji drugi slobodan digitalni pin)&lt;br /&gt;
&lt;br /&gt;
Modifikovani kod sa Enkoderom i fiksiranim Mute-om&lt;br /&gt;
Ovaj kod rešava &amp;quot;seckanje&amp;quot; tona i uvodi logiku koju si tražio:&lt;br /&gt;
&lt;br /&gt;
Okretanje: Manuelno podešavanje frekvencije.&lt;br /&gt;
&lt;br /&gt;
Kratak pritisak: Ulazak u meni za promenu opsega (FM/AM).&lt;br /&gt;
&lt;br /&gt;
Dug pritisak (preko 1s): Pokretanje automatske pretrage.&lt;br /&gt;
&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;inttypes.h&amp;gt;&lt;br /&gt;
#include &amp;lt;LiquidCrystal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;SanyoCCB.h&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// PIN KONFIGURACIJA ZA ENKODER&lt;br /&gt;
#define ENC_A 2&lt;br /&gt;
#define ENC_B 3&lt;br /&gt;
#define ENC_SW 11&lt;br /&gt;
&lt;br /&gt;
// Adrese u EEPROM&lt;br /&gt;
#define ADDR_FM 10&lt;br /&gt;
#define ADDR_AM 12&lt;br /&gt;
#define ADDR_BAND 14&lt;br /&gt;
&lt;br /&gt;
// LC72131 Bitovi&lt;br /&gt;
#define IN10_XS 3&lt;br /&gt;
#define IN10_CTE 2&lt;br /&gt;
#define IN10_DVS 1&lt;br /&gt;
#define IN22_BO2 5 // Pin 8 - Mute&lt;br /&gt;
#define IN22_BO1 4 // Band switch&lt;br /&gt;
#define DO0_UL 4&lt;br /&gt;
&lt;br /&gt;
#define YST93x_MUTE 3&lt;br /&gt;
#define YST93x_UNMUTE 4&lt;br /&gt;
#define YST93x_BAND_FM 5&lt;br /&gt;
#define YST93x_BAND_AM 6&lt;br /&gt;
&lt;br /&gt;
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);&lt;br /&gt;
SanyoCCB ccb(A5, A4, A3, A2); &lt;br /&gt;
&lt;br /&gt;
byte pll_in1[3];&lt;br /&gt;
byte pll_in2[3];&lt;br /&gt;
uint16_t FMFrequency, AMFrequency;&lt;br /&gt;
uint8_t band, tuned;&lt;br /&gt;
&lt;br /&gt;
// Varijable za enkoder&lt;br /&gt;
volatile int enc_pos = 0;&lt;br /&gt;
unsigned long taster_vreme = 0;&lt;br /&gt;
bool menuMode = false;&lt;br /&gt;
&lt;br /&gt;
// INTERRUPT FUNKCIJA ZA ENKODER (Brza reakcija)&lt;br /&gt;
void readEncoder() {&lt;br /&gt;
  if (digitalRead(ENC_A) == digitalRead(ENC_B)) enc_pos++;&lt;br /&gt;
  else enc_pos--;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void YST93xInit() {&lt;br /&gt;
  memset(pll_in1, 0, 3);&lt;br /&gt;
  memset(pll_in2, 0, 3);&lt;br /&gt;
  bitSet(pll_in2[0], 4); // IFS&lt;br /&gt;
  bitClear(pll_in1[0], IN10_XS); // 4.5MHz&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void YST93xSetMode(uint8_t mode) {&lt;br /&gt;
  switch(mode) {&lt;br /&gt;
    case YST93x_MUTE:   bitClear(pll_in2[2], IN22_BO2); break;&lt;br /&gt;
    case YST93x_UNMUTE: bitSet(pll_in2[2], IN22_BO2);   break;&lt;br /&gt;
    case YST93x_BAND_FM:&lt;br /&gt;
      band = YST93x_BAND_FM;&lt;br /&gt;
      bitWrite(pll_in1[0], 4, 1); // 50kHz&lt;br /&gt;
      bitWrite(pll_in1[0], IN10_DVS, 1);&lt;br /&gt;
      bitWrite(pll_in2[2], IN22_BO1, 0); &lt;br /&gt;
      break;&lt;br /&gt;
    case YST93x_BAND_AM:&lt;br /&gt;
      band = YST93x_BAND_AM;&lt;br /&gt;
      bitWrite(pll_in1[0], 7, 1); // 10kHz&lt;br /&gt;
      bitWrite(pll_in1[0], IN10_DVS, 0);&lt;br /&gt;
      bitWrite(pll_in2[2], IN22_BO1, 1);&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  ccb.write(0x82, pll_in1, 3);&lt;br /&gt;
  ccb.write(0x92, pll_in2, 3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// KLJUČNA PROMENA: Ova funkcija više NE odmutira ton sama&lt;br /&gt;
uint8_t YST93xTune(uint16_t frequency) {&lt;br /&gt;
  uint16_t fpd = (band == YST93x_BAND_FM) ? (frequency + 107) : (frequency + 45) &amp;lt;&amp;lt; 4;&lt;br /&gt;
  uint8_t i = 0, r[3];&lt;br /&gt;
&lt;br /&gt;
  bitClear(pll_in1[0], IN10_CTE);&lt;br /&gt;
  pll_in1[1] = byte(fpd &amp;gt;&amp;gt; 8);&lt;br /&gt;
  pll_in1[2] = byte(fpd &amp;amp; 0x00ff);&lt;br /&gt;
  ccb.write(0x82, pll_in1, 3);&lt;br /&gt;
  bitSet(pll_in1[0], IN10_CTE);&lt;br /&gt;
  ccb.write(0x82, pll_in1, 3);&lt;br /&gt;
&lt;br /&gt;
  while(i &amp;lt; 10) {&lt;br /&gt;
    delay(30); // Malo kraći delay za brži scan&lt;br /&gt;
    ccb.read(0xa2, r, 3);&lt;br /&gt;
    if(bitRead(r[0], DO0_UL)) { i = 100; break; }&lt;br /&gt;
    i++;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if(i == 100) {&lt;br /&gt;
    unsigned long IFCounter = (r[0] &amp;amp; 0x0f);&lt;br /&gt;
    IFCounter = (IFCounter &amp;lt;&amp;lt; 16) | (unsigned long)(r[1] &amp;lt;&amp;lt; 8) | (r[2]);&lt;br /&gt;
    if(band == YST93x_BAND_FM) {&lt;br /&gt;
      if(abs((long)IFCounter - 342400) &amp;lt; 180) return 1;&lt;br /&gt;
    } else {&lt;br /&gt;
      if(abs((long)IFCounter - 3600) &amp;lt; 20) return 1;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  lcd.begin(16, 2);&lt;br /&gt;
  ccb.init();&lt;br /&gt;
  YST93xInit();&lt;br /&gt;
&lt;br /&gt;
  // Konfiguracija pinova enkodera&lt;br /&gt;
  pinMode(ENC_A, INPUT_PULLUP);&lt;br /&gt;
  pinMode(ENC_B, INPUT_PULLUP);&lt;br /&gt;
  pinMode(ENC_SW, INPUT_PULLUP);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(ENC_A), readEncoder, CHANGE);&lt;br /&gt;
&lt;br /&gt;
  EEPROM.get(ADDR_FM, FMFrequency);&lt;br /&gt;
  EEPROM.get(ADDR_AM, AMFrequency);&lt;br /&gt;
  band = EEPROM.read(ADDR_BAND);&lt;br /&gt;
&lt;br /&gt;
  if(FMFrequency &amp;lt; 875 || FMFrequency &amp;gt; 1080) FMFrequency = 880;&lt;br /&gt;
  if(band != YST93x_BAND_FM &amp;amp;&amp;amp; band != YST93x_BAND_AM) band = YST93x_BAND_FM;&lt;br /&gt;
&lt;br /&gt;
  YST93xSetMode(band);&lt;br /&gt;
  YST93xTune((band == YST93x_BAND_FM) ? FMFrequency : AMFrequency);&lt;br /&gt;
  YST93xSetMode(YST93x_UNMUTE);&lt;br /&gt;
  prikaziLCD();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // 1. OBRADA OKRETANJA ENKODERA&lt;br /&gt;
  if (enc_pos != 0) {&lt;br /&gt;
    int smer = (enc_pos &amp;gt; 0) ? 1 : -1;&lt;br /&gt;
    enc_pos = 0;&lt;br /&gt;
&lt;br /&gt;
    if (menuMode) {&lt;br /&gt;
      // Biranje opsega u meniju&lt;br /&gt;
      band = (band == YST93x_BAND_FM) ? YST93x_BAND_AM : YST93x_BAND_FM;&lt;br /&gt;
      YST93xSetMode(band);&lt;br /&gt;
      prikaziLCD();&lt;br /&gt;
    } else {&lt;br /&gt;
      // Manuelno štimovanje&lt;br /&gt;
      YST93xSetMode(YST93x_MUTE); // Mute dok vrtiš&lt;br /&gt;
      promeniFrekvenciju(smer, false);&lt;br /&gt;
      YST93xSetMode(YST93x_UNMUTE);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // 2. OBRADA TASTERA (KLIK I DUGI PRITISAK)&lt;br /&gt;
  if (digitalRead(ENC_SW) == LOW) {&lt;br /&gt;
    if (taster_vreme == 0) taster_vreme = millis();&lt;br /&gt;
    &lt;br /&gt;
    // Ako se d...</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108758</guid>
<pubDate>Tue, 24 Mar 2026 22:35:02 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108755</link>
<description>/*&lt;br /&gt;
&lt;br /&gt;
The YST93x (YST936, YST939, etc.) is an AM/FM tuner module used on some cheap&lt;br /&gt;
Chinese home theaters and sound systems. It is made by a company named Winever&lt;br /&gt;
(&lt;a href=&quot;http://www.winever.cn/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;user_url&quot;&gt;http://www.winever.cn/&lt;/a&gt;) - and maybe some others.  It is very cheap and of a&lt;br /&gt;
a reasonable quality.  It is easy to find on eBay and Alibaba.com&lt;br /&gt;
&lt;br /&gt;
The module is based on a Sanyo LC72131 PLL and a tuner IC.  The tuner chip varies&lt;br /&gt;
from model to model: YST939 uses the Sanyo LA1823 (or clone) radio-on-chip and&lt;br /&gt;
YST936 uses a Chinese-branded &amp;quot;CS1000&amp;quot; tuner.&lt;br /&gt;
&lt;br /&gt;
The PLL can communicate with a microcontroller via the Sanyo CCB bus, and have&lt;br /&gt;
5 I/O pins which controls the tuner:&lt;br /&gt;
&lt;br /&gt;
PLL pin    Direction       Function&lt;br /&gt;
BO0        PLL -&amp;gt; Tuner    Not used&lt;br /&gt;
BO1        PLL -&amp;gt; Tuner    Band selector (0 = FM; 1 = AM)&lt;br /&gt;
BO2        PLL -&amp;gt; Tuner    Mute / IF output (0 = Mute / IF counter mode&lt;br /&gt;
                                             1 = Normal tuner mode)&lt;br /&gt;
BO3        PLL -&amp;gt; Tuner    Audio mode (0 = Stereo; 1 = Mono)&lt;br /&gt;
BO4        PLL -&amp;gt; Tuner    Not used&lt;br /&gt;
IO0        Tuner -&amp;gt; PLL    Not used (pulled high.  Reads &amp;quot;1&amp;quot;)&lt;br /&gt;
IO1        Tuner -&amp;gt; PLL    Stereo indicator (0 = Stereo; 1 = Mono)&lt;br /&gt;
&lt;br /&gt;
Note: BO0 must be set to &amp;quot;0&amp;quot; for the tuner to output the IF signal to the PLL.&lt;br /&gt;
This means the tuner will have to be muted every time one want the PLL to count&lt;br /&gt;
the IF frequency.&lt;br /&gt;
&lt;br /&gt;
YST93x module Pinout:&lt;br /&gt;
&lt;br /&gt;
  FM &lt;br /&gt;
Antenna +------------------------+&lt;br /&gt;
    +---|                        |- RDS out (not all models have this pin)&lt;br /&gt;
    +---|                        |- Out-L&lt;br /&gt;
        |         YST93x         |- GND&lt;br /&gt;
        |                        |- Out-R &lt;br /&gt;
        |                        |- VDD (12V)&lt;br /&gt;
        |                        |&lt;br /&gt;
  AM    |                        |&lt;br /&gt;
Antenna |                        |- DO&lt;br /&gt;
    +---|                        |- CL&lt;br /&gt;
    |   |                        |- DI&lt;br /&gt;
    |   |                        |- CE&lt;br /&gt;
    +---|                        |- GND&lt;br /&gt;
        +------------------------+&lt;br /&gt;
        &lt;br /&gt;
YST93x to Arduino connections:&lt;br /&gt;
Arduino                YST93x&lt;br /&gt;
A5 (DO)                  DI&lt;br /&gt;
A4 (CL)                  CL&lt;br /&gt;
A3 (DI)                  DO&lt;br /&gt;
A2 (CE)                  CE&lt;br /&gt;
GND                      GND&lt;br /&gt;
&lt;br /&gt;
Note:   This example uses an analog keypad with the following schematics:&lt;br /&gt;
&lt;br /&gt;
                 A0&lt;br /&gt;
                 |&lt;br /&gt;
          2k2    |   330R        620R         1k          3k3        &lt;br /&gt;
VCC -----\/\/\---+---\/\/\---+---\/\/\---+---\/\/\---+---\/\/\-----+----- GND&lt;br /&gt;
                 |           |           |           |             |&lt;br /&gt;
                 X SCAN_UP   X UP        X DOWN      X SCAN_DOWN   X BAND&lt;br /&gt;
                 |           |           |           |             |&lt;br /&gt;
                GND         GND         GND         GND           GND&lt;br /&gt;
&lt;br /&gt;
X = keys (N.O.)&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;inttypes.h&amp;gt;&lt;br /&gt;
#include &amp;lt;LiquidCrystal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;SanyoCCB.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// This example uses an analog 5-key keypad tied to A0&lt;br /&gt;
#define KEYPAD_PIN A0&lt;br /&gt;
&lt;br /&gt;
// Keypad keys&lt;br /&gt;
#define KEY_BAND      5&lt;br /&gt;
#define KEY_SCAN_DOWN 4&lt;br /&gt;
#define KEY_DOWN      3&lt;br /&gt;
#define KEY_UP        2&lt;br /&gt;
#define KEY_SCAN_UP   1&lt;br /&gt;
#define KEY_NONE      0&lt;br /&gt;
&lt;br /&gt;
// LC72131 IN1, byte 0&lt;br /&gt;
#define IN10_R3     7&lt;br /&gt;
#define IN10_R2     6&lt;br /&gt;
#define IN10_R1     5&lt;br /&gt;
#define IN10_R0     4&lt;br /&gt;
#define IN10_XS     3&lt;br /&gt;
#define IN10_CTE    2&lt;br /&gt;
#define IN10_DVS    1&lt;br /&gt;
#define IN10_SNS    0&lt;br /&gt;
&lt;br /&gt;
// LC72131 IN2, byte 0&lt;br /&gt;
#define IN20_TEST2  7&lt;br /&gt;
#define IN20_TEST1  6&lt;br /&gt;
#define IN20_TEST0  5&lt;br /&gt;
#define IN20_IFS    4&lt;br /&gt;
#define IN20_DLC    3&lt;br /&gt;
#define IN20_TBC    2&lt;br /&gt;
#define IN20_GT1    1&lt;br /&gt;
#define IN20_GT0    0&lt;br /&gt;
&lt;br /&gt;
// LC72131 IN2, byte 1&lt;br /&gt;
#define IN21_DZ1    7&lt;br /&gt;
#define IN21_DZ0    6&lt;br /&gt;
#define IN21_UL1    5&lt;br /&gt;
#define IN21_UL0    4&lt;br /&gt;
#define IN21_DOC2   3&lt;br /&gt;
#define IN21_DOC1   2&lt;br /&gt;
#define IN21_DOC0   1&lt;br /&gt;
#define IN21_DNC    0&lt;br /&gt;
&lt;br /&gt;
// LC72131 IN2, byte 2&lt;br /&gt;
#define IN22_BO4    7&lt;br /&gt;
#define IN22_BO3    6&lt;br /&gt;
#define IN22_BO2    5&lt;br /&gt;
#define IN22_BO1    4&lt;br /&gt;
#define IN22_IO2    3&lt;br /&gt;
#define IN22_IO1    2&lt;br /&gt;
#define IN22_IOC2   1&lt;br /&gt;
#define IN22_IOC1   0&lt;br /&gt;
&lt;br /&gt;
// LC72131 DO0, byte 0&lt;br /&gt;
#define DO0_IN2     7&lt;br /&gt;
#define DO0_IN1     6&lt;br /&gt;
#define DO0_UL      4&lt;br /&gt;
&lt;br /&gt;
// For function YST93xSetMode&lt;br /&gt;
#define YST93x_MONO    1&lt;br /&gt;
#define YST93x_STEREO  2&lt;br /&gt;
#define YST93x_MUTE    3&lt;br /&gt;
#define YST93x_UNMUTE  4&lt;br /&gt;
#define YST93x_BAND_FM 5&lt;br /&gt;
#define YST93x_BAND_AM 6&lt;br /&gt;
&lt;br /&gt;
// Acceptable IF frequency deviation window (for the PLL) when searching for radio stations&lt;br /&gt;
// You may need to tweek these values to have a reliable &amp;quot;scan&amp;quot; mode&lt;br /&gt;
#define FM_TUNED_WINDOW 180&lt;br /&gt;
#define AM_TUNED_WINDOW 20&lt;br /&gt;
&lt;br /&gt;
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);&lt;br /&gt;
&lt;br /&gt;
SanyoCCB ccb(A5, A4, A3, A2); // Pins: DO CL DI CE&lt;br /&gt;
&lt;br /&gt;
byte pll_in1[3];&lt;br /&gt;
byte pll_in2[3];&lt;br /&gt;
&lt;br /&gt;
// Initial frequencies&lt;br /&gt;
uint16_t FMFrequency = 870;   // MHz * 10&lt;br /&gt;
uint16_t AMFrequency = 53;    // KHZ / 10&lt;br /&gt;
&lt;br /&gt;
uint8_t band = YST93x_BAND_FM;&lt;br /&gt;
uint8_t tuned = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/************************************************\&lt;br /&gt;
 *               YST93xInit()                   *&lt;br /&gt;
 * Initialize the PLL settings vectors with     *&lt;br /&gt;
 * parameters common to booth AM and FM modes   *&lt;br /&gt;
\**********************************...</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108755</guid>
<pubDate>Tue, 24 Mar 2026 21:43:38 +0100</pubDate>
<author>Bogdan-carr</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108754</link>
<description>Pošto si potvrdio da Pin 8 (BO2) sa LC72131 ide direktno na Pin 13 (Mute) kod LA1837, imamo jasnu putanju za kontrolu tišine. Razlog zašto čuješ &amp;quot;preletanje&amp;quot; preko stanica je taj što originalni kod gasi mute čim pošalje frekvenciju, ne čekajući da se PLL stabilizuje.&lt;br /&gt;
&lt;br /&gt;
Takođe, dodao sam EEPROM logiku kako bi radio pamtio stanicu i nakon gašenja.&lt;br /&gt;
&lt;br /&gt;
Ispravljen i dopunjen kod&lt;br /&gt;
Ovaj kod uključuje memorisanje, podešavanje za kristal od 4.5MHz i agresivniju Mute logiku.&lt;br /&gt;
&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;inttypes.h&amp;gt;&lt;br /&gt;
#include &amp;lt;LiquidCrystal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;SanyoCCB.h&amp;gt;&lt;br /&gt;
#include &amp;lt;EEPROM.h&amp;gt; // Dodato za memoriju&lt;br /&gt;
&lt;br /&gt;
// Adrese u EEPROM-u&lt;br /&gt;
#define ADDR_FM 10&lt;br /&gt;
#define ADDR_AM 12&lt;br /&gt;
#define ADDR_BAND 14&lt;br /&gt;
&lt;br /&gt;
#define KEYPAD_PIN A0&lt;br /&gt;
#define KEY_BAND      5&lt;br /&gt;
#define KEY_SCAN_DOWN 4&lt;br /&gt;
#define KEY_DOWN      3&lt;br /&gt;
#define KEY_UP        2&lt;br /&gt;
#define KEY_SCAN_UP   1&lt;br /&gt;
#define KEY_NONE      0&lt;br /&gt;
&lt;br /&gt;
// Bitovi za LC72131&lt;br /&gt;
#define IN10_XS      3&lt;br /&gt;
#define IN10_CTE     2&lt;br /&gt;
#define IN10_DVS     1&lt;br /&gt;
#define IN20_IFS     4&lt;br /&gt;
#define IN21_UL0     4&lt;br /&gt;
#define IN22_BO2     5 // Pin 8 na čipu - tvoj Mute&lt;br /&gt;
#define IN22_BO1     4&lt;br /&gt;
#define DO0_UL       4&lt;br /&gt;
&lt;br /&gt;
#define YST93x_MUTE      3&lt;br /&gt;
#define YST93x_UNMUTE    4&lt;br /&gt;
#define YST93x_BAND_FM   5&lt;br /&gt;
#define YST93x_BAND_AM   6&lt;br /&gt;
&lt;br /&gt;
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); &lt;br /&gt;
SanyoCCB ccb(A5, A4, A3, A2); // DO, CL, DI, CE&lt;br /&gt;
&lt;br /&gt;
byte pll_in1[3];&lt;br /&gt;
byte pll_in2[3];&lt;br /&gt;
uint16_t FMFrequency, AMFrequency;&lt;br /&gt;
uint8_t band, tuned;&lt;br /&gt;
&lt;br /&gt;
void YST93xInit() {&lt;br /&gt;
  memset(pll_in1, 0, 3);&lt;br /&gt;
  memset(pll_in2, 0, 3);&lt;br /&gt;
  bitSet(pll_in2[0], IN20_IFS);&lt;br /&gt;
  bitSet(pll_in2[1], IN21_UL0);&lt;br /&gt;
  &lt;br /&gt;
  // XS = 0 za tvoj kristal od 4.5 MHz&lt;br /&gt;
  bitClear(pll_in1[0], IN10_XS); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void YST93xSetMode(uint8_t mode) {&lt;br /&gt;
  switch(mode) {&lt;br /&gt;
    case YST93x_MUTE:&lt;br /&gt;
      // Ako se i dalje čuje zvuk, probaj bitSet umesto bitClear (zavisi od tranzistora)&lt;br /&gt;
      bitClear(pll_in2[2], IN22_BO2); &lt;br /&gt;
      break;&lt;br /&gt;
    case YST93x_UNMUTE:&lt;br /&gt;
      bitSet(pll_in2[2], IN22_BO2); &lt;br /&gt;
      break;&lt;br /&gt;
    case YST93x_BAND_FM:&lt;br /&gt;
      band = YST93x_BAND_FM;&lt;br /&gt;
      bitWrite(pll_in1[0], 4, 1); // R0=1 (50kHz)&lt;br /&gt;
      bitWrite(pll_in1[0], IN10_DVS, 1);&lt;br /&gt;
      bitWrite(pll_in2[2], IN22_BO1, 0); // FM Band&lt;br /&gt;
      break;&lt;br /&gt;
    case YST93x_BAND_AM:&lt;br /&gt;
      band = YST93x_BAND_AM;&lt;br /&gt;
      bitWrite(pll_in1[0], 7, 1); // R3=1 (10kHz)&lt;br /&gt;
      bitWrite(pll_in1[0], IN10_DVS, 0);&lt;br /&gt;
      bitWrite(pll_in2[2], IN22_BO1, 1); // AM Band&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  ccb.write(0x82, pll_in1, 3);&lt;br /&gt;
  ccb.write(0x92, pll_in2, 3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
uint8_t YST93xTune(uint16_t frequency) {&lt;br /&gt;
  uint16_t fpd = 0;&lt;br /&gt;
  uint8_t i = 0, r[3];&lt;br /&gt;
  &lt;br /&gt;
  YST93xSetMode(YST93x_MUTE); // Obavezno Mute pre promene&lt;br /&gt;
  delay(20); &lt;br /&gt;
&lt;br /&gt;
  if(band == YST93x_BAND_FM) fpd = (frequency + 107);&lt;br /&gt;
  else fpd = (frequency + 45) &amp;lt;&amp;lt; 4;&lt;br /&gt;
&lt;br /&gt;
  bitClear(pll_in1[0], IN10_CTE);&lt;br /&gt;
  pll_in1[1] = byte(fpd &amp;gt;&amp;gt; 8);&lt;br /&gt;
  pll_in1[2] = byte(fpd &amp;amp; 0x00ff);&lt;br /&gt;
  ccb.write(0x82, pll_in1, 3);&lt;br /&gt;
&lt;br /&gt;
  bitSet(pll_in1[0], IN10_CTE);&lt;br /&gt;
  ccb.write(0x82, pll_in1, 3);&lt;br /&gt;
&lt;br /&gt;
  // Čekamo da se PLL zaključa dok je Mute aktivan&lt;br /&gt;
  while(i &amp;lt; 10) {&lt;br /&gt;
    delay(40);&lt;br /&gt;
    ccb.read(0xa2, r, 3);&lt;br /&gt;
    if(bitRead(r[0], DO0_UL)) { i = 100; break; }&lt;br /&gt;
    i++;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // Tek kad završiš sve, odmutiraj (samo ako nije scan mod, on se hendluje u loop-u)&lt;br /&gt;
  return (i == 100) ? 1 : 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void sacuvajStanicu() {&lt;br /&gt;
  EEPROM.put(ADDR_FM, FMFrequency);&lt;br /&gt;
  EEPROM.put(ADDR_AM, AMFrequency);&lt;br /&gt;
  EEPROM.write(ADDR_BAND, band);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  lcd.begin(16, 2);&lt;br /&gt;
  ccb.init();&lt;br /&gt;
  YST93xInit();&lt;br /&gt;
&lt;br /&gt;
  // Čitanje iz memorije&lt;br /&gt;
  EEPROM.get(ADDR_FM, FMFrequency);&lt;br /&gt;
  EEPROM.get(ADDR_AM, AMFrequency);&lt;br /&gt;
  band = EEPROM.read(ADDR_BAND);&lt;br /&gt;
&lt;br /&gt;
  // Sigurnosna provera opsega&lt;br /&gt;
  if(FMFrequency &amp;lt; 875 || FMFrequency &amp;gt; 1080) FMFrequency = 980;&lt;br /&gt;
  if(band != YST93x_BAND_FM &amp;amp;&amp;amp; band != YST93x_BAND_AM) band = YST93x_BAND_FM;&lt;br /&gt;
&lt;br /&gt;
  YST93xSetMode(band);&lt;br /&gt;
  tuned = YST93xTune((band == YST93x_BAND_FM) ? FMFrequency : AMFrequency);&lt;br /&gt;
  YST93xSetMode(YST93x_UNMUTE);&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  uint8_t scan = 0;&lt;br /&gt;
  int8_t delta = 0;&lt;br /&gt;
  uint16_t keypad = analogRead(KEYPAD_PIN);&lt;br /&gt;
  uint8_t key = KEY_NONE;&lt;br /&gt;
&lt;br /&gt;
  if(keypad &amp;lt; 60) key = KEY_SCAN_UP;&lt;br /&gt;
  else if(keypad &amp;lt; 220) key = KEY_UP;&lt;br /&gt;
  else if(keypad &amp;lt; 390) key = KEY_DOWN;&lt;br /&gt;
  else if(keypad &amp;lt; 600) key = KEY_SCAN_DOWN;&lt;br /&gt;
  else if(keypad &amp;lt; 870) key = KEY_BAND;&lt;br /&gt;
&lt;br /&gt;
  if(key != KEY_NONE) {&lt;br /&gt;
    if(key == KEY_BAND) {&lt;br /&gt;
        band = (band == YST93x_BAND_FM) ? YST93x_BAND_AM : YST93x_BAND_FM;&lt;br /&gt;
        YST93xSetMode(band);&lt;br /&gt;
    } else {&lt;br /&gt;
        scan = (key == KEY_SCAN_UP || key == KEY_SCAN_DOWN) ? 1 : 0;&lt;br /&gt;
        delta = (key == KEY_UP || key == KEY_SCAN_UP) ? 1 : -1;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    YST93xSetMode(YST93x_MUTE); // Mute tokom celog procesa promene&lt;br /&gt;
&lt;br /&gt;
    do {&lt;br /&gt;
      if(band == YST93x_BAND_FM) {&lt;br /&gt;
        FMFrequency += delta;&lt;br /&gt;
        if(FMFrequency &amp;gt; 1080) FMFrequency = 875;&lt;br /&gt;
        if(FMFrequency &amp;lt; 875) FMFrequency = 1080;&lt;br /&gt;
        tuned = YST93xTune(FMFrequency);&lt;br /&gt;
      } else {&lt;br /&gt;
        AMFrequency += delta;&lt;br /&gt;
        tuned = YST93xTune(AMFrequency);&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      lcd.setCursor(0, 0);&lt;br /&gt;
      lcd.print(band == YST93x_BA...</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108754</guid>
<pubDate>Tue, 24 Mar 2026 21:10:11 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108752</link>
<description>Sa pina 8 od lc72131 ide preko otpornika od 4k7 na pin 13 od la1837 direktna veza preko štampe.Pin 5 od la1837 je vezan direktno na gnd.Ima zvuk ali se čuje kako prelazi preko stanica dok traži i ne mutira tokom skeniranja.Možeš li da doradiš taj kod što sam postavio i da okačiš kod koji je ispravljen.</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108752</guid>
<pubDate>Tue, 24 Mar 2026 20:14:58 +0100</pubDate>
<author>Bogdan-carr</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108745</link>
<description>Ako nije bilo od pomoci posebno oko pisanja koda, obrisite sve .</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108745</guid>
<pubDate>Tue, 24 Mar 2026 16:26:41 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108741</link>
<description>&lt;div class=&quot;quote&quot;&gt;&lt;div class=&quot;tiny&quot;&gt;Citat:&lt;/div&gt;&lt;div class=&quot;quote_text&quot;&gt;&lt;b&gt;samuki:&lt;/b&gt;&lt;br /&gt;
Sjajno si izmerio, ovi podaci nam otkrivaju tačno gde je &amp;quot;zapelo&amp;quot;. Idemo redom da rešimo problem napajanja i komunikacije:&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Je l' ti stvarno toliko ne znaš da moraš da koristiš AI da se predstaviš kao da nešto znaš?&lt;br /&gt;
&lt;br /&gt;
Čovek, sigurno ume i sam da koristi AI.&lt;br /&gt;
&lt;br /&gt;
</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108741</guid>
<pubDate>Tue, 24 Mar 2026 13:44:05 +0100</pubDate>
<author>Predrag%20Supurovic</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108737</link>
<description>Imamo komunikaciju i imamo radio, ali moramo rešiti dva ključna problema kako bi radio bio potpun: Mute (tišinu tokom skeniranja) i Memorisanje stanice nakon gašenja.&lt;br /&gt;
&lt;br /&gt;
Oba problema zahtevaju malu izmenu u kodu.&lt;br /&gt;
&lt;br /&gt;
1. Problem sa Mute (Mute ne radi tokom skeniranja)&lt;br /&gt;
Pošto si rekao da tvoj tjuner nema povezan pin za mute na LA1837, softver ne može da ga kontroliše direktno. Moramo ga &amp;quot;naterati&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
U kodu koji si poslao, u funkciji YST93xInit(), moramo aktivirati one bitove (BO1-BO4) koji na LC72131 čipu kontrolišu izlazne portove. Ako na tvojoj ploči ti izlazi (npr. Pin 8 - BO1) idu na onaj Mute pin na LA1837, radio će se utišati.&lt;br /&gt;
&lt;br /&gt;
Modifikuj YST93xInit() ovako:&lt;br /&gt;
&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
void YST93xInit() {&lt;br /&gt;
  memset(pll_in1, 0, 3);&lt;br /&gt;
  memset(pll_in2, 0, 3);&lt;br /&gt;
  &lt;br /&gt;
  // Prvi bajt za kontrolu portova (treba nam za Mute)&lt;br /&gt;
  bitSet(pll_in2[0], IN20_IFS); // Normalan mode&lt;br /&gt;
  &lt;br /&gt;
  // Treći bajt (B01-B04, IOC1, IOC2)&lt;br /&gt;
  // Ovde aktiviramo kontrolu izlaza. Probaj dodati ove linije:&lt;br /&gt;
  bitSet(pll_in2[2], IN22_BO3); // Proba da upali stereo (Mono=0, Stereo=1)&lt;br /&gt;
  &lt;br /&gt;
  // Važno: Za 4.5MHz kristal XS mora biti 0 (bitClear)&lt;br /&gt;
  bitClear(pll_in1[0], IN10_XS);  &lt;br /&gt;
}&lt;br /&gt;
2. Problem sa Memorijom (Ne memoriše poslednju stanicu)&lt;br /&gt;
Za ovo moramo koristiti EEPROM memoriju Arduina. To je posebna memorija koja ne nestaje kada se Arduino isključi.&lt;br /&gt;
&lt;br /&gt;
U kodu moramo dodati dve stvari:&lt;br /&gt;
&lt;br /&gt;
U setup() da Arduino pročita stanicu iz EEPROM-a.&lt;br /&gt;
&lt;br /&gt;
U loop() da Arduino zapiše novu stanicu u EEPROM čim je nađeš.&lt;br /&gt;
&lt;br /&gt;
Evo modifikovanog dela koda koji rešava oba problema:&lt;br /&gt;
&lt;br /&gt;
Dodaćemo biblioteku na početak: #include &amp;lt;EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Predefinisaćemo adrese u memoriji:&lt;br /&gt;
&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
// Adrese u EEPROM memoriji gde cemo cuvati stanice&lt;br /&gt;
#define EEPROM_ADDR_FM 10&lt;br /&gt;
#define EEPROM_ADDR_AM 12&lt;br /&gt;
#define EEPROM_ADDR_BAND 14&lt;br /&gt;
Modifikovana setup() funkcija:&lt;br /&gt;
&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  lcd.begin(16, 2);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  lcd.print(&amp;quot;--- DIGITALNA ---&amp;quot;);&lt;br /&gt;
  lcd.setCursor(0,1);&lt;br /&gt;
  lcd.print(&amp;quot;---  RADIONICA ---&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  ccb.init();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  // Pročitaj poslednju sačuvanu frekvenciju&lt;br /&gt;
  FMFrequency = (EEPROM.read(EEPROM_ADDR_FM) &amp;lt;&amp;lt; 8) | EEPROM.read(EEPROM_ADDR_FM + 1);&lt;br /&gt;
  AMFrequency = (EEPROM.read(EEPROM_ADDR_AM) &amp;lt;&amp;lt; 8) | EEPROM.read(EEPROM_ADDR_AM + 1);&lt;br /&gt;
  band = EEPROM.read(EEPROM_ADDR_BAND);&lt;br /&gt;
&lt;br /&gt;
  // Ako je EEPROM prazan (prvi put paljenje), postavi početne frekvencije&lt;br /&gt;
  if (FMFrequency &amp;lt; 880 || FMFrequency &amp;gt; 1080) FMFrequency = 980; // 98.0 MHz&lt;br /&gt;
  if (AMFrequency &amp;lt; 53 || AMFrequency &amp;gt; 170) AMFrequency = 100; // 1000 KHz&lt;br /&gt;
  if (band != YST93x_BAND_FM &amp;amp;&amp;amp; band != YST93x_BAND_AM) band = YST93x_BAND_FM;&lt;br /&gt;
&lt;br /&gt;
  YST93xInit();&lt;br /&gt;
  YST93xSetMode(band);&lt;br /&gt;
  tuned = YST93xTune( (band == YST93x_BAND_FM) ? FMFrequency : AMFrequency );&lt;br /&gt;
  &lt;br /&gt;
  lcd.clear();&lt;br /&gt;
}&lt;br /&gt;
Modifikovana loop() funkcija (na mestu gde se menja stanica):&lt;br /&gt;
&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
// ... (tvoj originalni loop kod) ...&lt;br /&gt;
&lt;br /&gt;
    // Change the station  &lt;br /&gt;
    switch(band) {&lt;br /&gt;
      case YST93x_BAND_FM:&lt;br /&gt;
        // Ako je stanica promenjena, upiši je u EEPROM&lt;br /&gt;
        EEPROM.write(EEPROM_ADDR_FM, (FMFrequency &amp;gt;&amp;gt; 8) &amp;amp; 0xFF);&lt;br /&gt;
        EEPROM.write(EEPROM_ADDR_FM + 1, FMFrequency &amp;amp; 0xFF);&lt;br /&gt;
        EEPROM.write(EEPROM_ADDR_BAND, band);&lt;br /&gt;
        &lt;br /&gt;
        do{&lt;br /&gt;
          FMFrequency += delta;&lt;br /&gt;
          if(FMFrequency &amp;gt; 1080) FMFrequency = 880;&lt;br /&gt;
          if(FMFrequency &amp;lt; 880)  FMFrequency = 1080;&lt;br /&gt;
          tuned = YST93xTune(FMFrequency);&lt;br /&gt;
&lt;br /&gt;
          lcd.setCursor(3, 0);&lt;br /&gt;
          if(FMFrequency &amp;lt; 1000) lcd.print(' ');&lt;br /&gt;
          lcd.print((float)FMFrequency / 10, 1);&lt;br /&gt;
        } while(scan &amp;amp;&amp;amp; (! tuned));&lt;br /&gt;
        break;&lt;br /&gt;
        &lt;br /&gt;
      case YST93x_BAND_AM:&lt;br /&gt;
        // Ako je stanica promenjena, upiši je u EEPROM&lt;br /&gt;
        EEPROM.write(EEPROM_ADDR_AM, (AMFrequency &amp;gt;&amp;gt; 8) &amp;amp; 0xFF);&lt;br /&gt;
        EEPROM.write(EEPROM_ADDR_AM + 1, AMFrequency &amp;amp; 0xFF);&lt;br /&gt;
        EEPROM.write(EEPROM_ADDR_BAND, band);&lt;br /&gt;
        &lt;br /&gt;
        do{&lt;br /&gt;
          AMFrequency += delta;&lt;br /&gt;
          if(AMFrequency &amp;gt; 170) AMFrequency = 53;&lt;br /&gt;
          if(AMFrequency &amp;lt; 53)  AMFrequency = 170;&lt;br /&gt;
          tuned = YST93xTune(AMFrequency);&lt;br /&gt;
&lt;br /&gt;
          lcd.setCursor(3, 0);&lt;br /&gt;
          if(AMFrequency &amp;lt; 100) lcd.print(' ');&lt;br /&gt;
          lcd.print(AMFrequency * 10);&lt;br /&gt;
        } while(scan &amp;amp;&amp;amp; (! tuned));&lt;br /&gt;
        break;&lt;br /&gt;
        &lt;br /&gt;
    } // switch&lt;br /&gt;
&lt;br /&gt;
// ... (tvoj originalni loop kod) ...&lt;br /&gt;
Zašto Mute još uvek može da ne radi?&lt;br /&gt;
Ovaj kod koristi Sanyo Mute kontrolu, koja radi tako što utiša zvuk kada PLL ne zaključa stanicu. Međutim, ako na tvojoj ploči od DVD-a taj kontrolni pin nije bio povezan, moraćemo da fizički zalemimo žicu.&lt;br /&gt;
&lt;br /&gt;
Savet: Dovedi onaj Pin 9 (sa LC72131) preko otpornika (npr. 10k) na bazu onog mute tranzistora na LA1837.&lt;br /&gt;
&lt;br /&gt;
Šta dalje da proveriš:&lt;br /&gt;
Dovedi 5V na Pin 5 (LA1837): Bez ovoga nećeš čuti ništa osim tišine, čak i ako je tjuner na stanici.&lt;br /&gt;
&lt;br /&gt;
Proveri Pin 4 i 5 na LC72131: To su tvoji DI i CL. Dok kod radi, unimerom (na DC opsegu) izmeri ima li ikakvog napona na njima. Trebalo bi da &amp;quot;igra&amp;quot; oko 2-3V dok se šalju podaci.&lt;br /&gt;
&lt;br /&gt;
Misterija Pina 5 na LA1837:&lt;br /&gt;
&lt;br /&gt;
Dok je sve ugašeno, izmeri ...</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108737</guid>
<pubDate>Tue, 24 Mar 2026 10:06:28 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108731</link>
<description>&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
The YST93x (YST936, YST939, etc.) is an AM/FM tuner module used on some cheap&lt;br /&gt;
Chinese home theaters and sound systems. It is made by a company named Winever&lt;br /&gt;
(&lt;a href=&quot;http://www.winever.cn/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;user_url&quot;&gt;http://www.winever.cn/&lt;/a&gt;) - and maybe some others.  It is very cheap and of a&lt;br /&gt;
a reasonable quality.  It is easy to find on eBay and Alibaba.com&lt;br /&gt;
&lt;br /&gt;
The module is based on a Sanyo LC72131 PLL and a tuner IC.  The tuner chip varies&lt;br /&gt;
from model to model: YST939 uses the Sanyo LA1823 (or clone) radio-on-chip and&lt;br /&gt;
YST936 uses a Chinese-branded &amp;quot;CS1000&amp;quot; tuner.&lt;br /&gt;
&lt;br /&gt;
The PLL can communicate with a microcontroller via the Sanyo CCB bus, and have&lt;br /&gt;
5 I/O pins which controls the tuner:&lt;br /&gt;
&lt;br /&gt;
PLL pin    Direction       Function&lt;br /&gt;
BO0        PLL -&amp;gt; Tuner    Not used&lt;br /&gt;
BO1        PLL -&amp;gt; Tuner    Band selector (0 = FM; 1 = AM)&lt;br /&gt;
BO2        PLL -&amp;gt; Tuner    Mute / IF output (0 = Mute / IF counter mode&lt;br /&gt;
                                             1 = Normal tuner mode)&lt;br /&gt;
BO3        PLL -&amp;gt; Tuner    Audio mode (0 = Stereo; 1 = Mono)&lt;br /&gt;
BO4        PLL -&amp;gt; Tuner    Not used&lt;br /&gt;
IO0        Tuner -&amp;gt; PLL    Not used (pulled high.  Reads &amp;quot;1&amp;quot;)&lt;br /&gt;
IO1        Tuner -&amp;gt; PLL    Stereo indicator (0 = Stereo; 1 = Mono)&lt;br /&gt;
&lt;br /&gt;
Note: BO0 must be set to &amp;quot;0&amp;quot; for the tuner to output the IF signal to the PLL.&lt;br /&gt;
This means the tuner will have to be muted every time one want the PLL to count&lt;br /&gt;
the IF frequency.&lt;br /&gt;
&lt;br /&gt;
YST93x module Pinout:&lt;br /&gt;
&lt;br /&gt;
  FM &lt;br /&gt;
Antenna +------------------------+&lt;br /&gt;
    +---|                        |- RDS out (not all models have this pin)&lt;br /&gt;
    +---|                        |- Out-L&lt;br /&gt;
        |         YST93x         |- GND&lt;br /&gt;
        |                        |- Out-R &lt;br /&gt;
        |                        |- VDD (12V)&lt;br /&gt;
        |                        |&lt;br /&gt;
  AM    |                        |&lt;br /&gt;
Antenna |                        |- DO&lt;br /&gt;
    +---|                        |- CL&lt;br /&gt;
    |   |                        |- DI&lt;br /&gt;
    |   |                        |- CE&lt;br /&gt;
    +---|                        |- GND&lt;br /&gt;
        +------------------------+&lt;br /&gt;
        &lt;br /&gt;
YST93x to Arduino connections:&lt;br /&gt;
Arduino                YST93x&lt;br /&gt;
A5 (DO)                  DI&lt;br /&gt;
A4 (CL)                  CL&lt;br /&gt;
A3 (DI)                  DO&lt;br /&gt;
A2 (CE)                  CE&lt;br /&gt;
GND                      GND&lt;br /&gt;
&lt;br /&gt;
Note:   This example uses an analog keypad with the following schematics:&lt;br /&gt;
&lt;br /&gt;
                 A0&lt;br /&gt;
                 |&lt;br /&gt;
          2k2    |   330R        620R         1k          3k3        &lt;br /&gt;
VCC -----\/\/\---+---\/\/\---+---\/\/\---+---\/\/\---+---\/\/\-----+----- GND&lt;br /&gt;
                 |           |           |           |             |&lt;br /&gt;
                 X SCAN_UP   X UP        X DOWN      X SCAN_DOWN   X BAND&lt;br /&gt;
                 |           |           |           |             |&lt;br /&gt;
                GND         GND         GND         GND           GND&lt;br /&gt;
&lt;br /&gt;
X = keys (N.O.)&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;inttypes.h&amp;gt;&lt;br /&gt;
#include &amp;lt;LiquidCrystal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;SanyoCCB.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// This example uses an analog 5-key keypad tied to A0&lt;br /&gt;
#define KEYPAD_PIN A0&lt;br /&gt;
&lt;br /&gt;
// Keypad keys&lt;br /&gt;
#define KEY_BAND      5&lt;br /&gt;
#define KEY_SCAN_DOWN 4&lt;br /&gt;
#define KEY_DOWN      3&lt;br /&gt;
#define KEY_UP        2&lt;br /&gt;
#define KEY_SCAN_UP   1&lt;br /&gt;
#define KEY_NONE      0&lt;br /&gt;
&lt;br /&gt;
// LC72131 IN1, byte 0&lt;br /&gt;
#define IN10_R3     7&lt;br /&gt;
#define IN10_R2     6&lt;br /&gt;
#define IN10_R1     5&lt;br /&gt;
#define IN10_R0     4&lt;br /&gt;
#define IN10_XS     3&lt;br /&gt;
#define IN10_CTE    2&lt;br /&gt;
#define IN10_DVS    1&lt;br /&gt;
#define IN10_SNS    0&lt;br /&gt;
&lt;br /&gt;
// LC72131 IN2, byte 0&lt;br /&gt;
#define IN20_TEST2  7&lt;br /&gt;
#define IN20_TEST1  6&lt;br /&gt;
#define IN20_TEST0  5&lt;br /&gt;
#define IN20_IFS    4&lt;br /&gt;
#define IN20_DLC    3&lt;br /&gt;
#define IN20_TBC    2&lt;br /&gt;
#define IN20_GT1    1&lt;br /&gt;
#define IN20_GT0    0&lt;br /&gt;
&lt;br /&gt;
// LC72131 IN2, byte 1&lt;br /&gt;
#define IN21_DZ1    7&lt;br /&gt;
#define IN21_DZ0    6&lt;br /&gt;
#define IN21_UL1    5&lt;br /&gt;
#define IN21_UL0    4&lt;br /&gt;
#define IN21_DOC2   3&lt;br /&gt;
#define IN21_DOC1   2&lt;br /&gt;
#define IN21_DOC0   1&lt;br /&gt;
#define IN21_DNC    0&lt;br /&gt;
&lt;br /&gt;
// LC72131 IN2, byte 2&lt;br /&gt;
#define IN22_BO4    7&lt;br /&gt;
#define IN22_BO3    6&lt;br /&gt;
#define IN22_BO2    5&lt;br /&gt;
#define IN22_BO1    4&lt;br /&gt;
#define IN22_IO2    3&lt;br /&gt;
#define IN22_IO1    2&lt;br /&gt;
#define IN22_IOC2   1&lt;br /&gt;
#define IN22_IOC1   0&lt;br /&gt;
&lt;br /&gt;
// LC72131 DO0, byte 0&lt;br /&gt;
#define DO0_IN2     7&lt;br /&gt;
#define DO0_IN1     6&lt;br /&gt;
#define DO0_UL      4&lt;br /&gt;
&lt;br /&gt;
// For function YST93xSetMode&lt;br /&gt;
#define YST93x_MONO    1&lt;br /&gt;
#define YST93x_STEREO  2&lt;br /&gt;
#define YST93x_MUTE    3&lt;br /&gt;
#define YST93x_UNMUTE  4&lt;br /&gt;
#define YST93x_BAND_FM 5&lt;br /&gt;
#define YST93x_BAND_AM 6&lt;br /&gt;
&lt;br /&gt;
// Acceptable IF frequency deviation window (for the PLL) when searching for radio stations&lt;br /&gt;
// You may need to tweek these values to have a reliable &amp;quot;scan&amp;quot; mode&lt;br /&gt;
#define FM_TUNED_WINDOW 180&lt;br /&gt;
#define AM_TUNED_WINDOW 20&lt;br /&gt;
&lt;br /&gt;
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);&lt;br /&gt;
&lt;br /&gt;
SanyoCCB ccb(A5, A4, A3, A2); // Pins: DO CL DI CE&lt;br /&gt;
&lt;br /&gt;
byte pll_in1[3];&lt;br /&gt;
byte pll_in2[3];&lt;br /&gt;
&lt;br /&gt;
// Initial frequencies&lt;br /&gt;
uint16_t FMFrequency = 880;   // MHz * 10&lt;br /&gt;
uint16_t AMFrequency = 53;    // KHZ / 10&lt;br /&gt;
&lt;br /&gt;
uint8_t band = YST93x_BAND_FM;&lt;br /&gt;
uint8_t tuned = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/************************************************\&lt;br /&gt;
 *               YST93xInit()                   *&lt;br /&gt;
 * Initialize the PLL settings vectors with     *&lt;br /&gt;
 * parameters common to booth AM and FM modes   *&lt;br /&gt;
\********************************...</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108731</guid>
<pubDate>Tue, 24 Mar 2026 00:37:43 +0100</pubDate>
<author>Bogdan-carr</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108730</link>
<description>Sve ukazuje na to da imamo problem sa nivoima napona ili samim tajmingom. Ako na Arduinu nema napona na CL pinu čak i kada je otkačen, to znači da kod nije pokrenuo taj pin ili je pin na Arduinu pregoreo.&lt;br /&gt;
&lt;br /&gt;
Hajde da rešimo ovo korak po korak, jer je tvoja šema (iako je na slici LC72136, oni su funkcionalno skoro isti kao LC72131) potvrdila da postoje otpornici od 1k u seriji, što je dobro.&lt;br /&gt;
&lt;br /&gt;
1. Testiranje CL (Clock) linije&lt;br /&gt;
Ako na Arduinu (izlazni pin 13) nema napona dok kod radi, komunikacija je nemoguća.&lt;br /&gt;
&lt;br /&gt;
Promeni pin: U kodu koji sledi, postavićemo CL na Pin 9, a DI na Pin 8 Arduina. Poveži ih tako na konektor tjunera.&lt;br /&gt;
&lt;br /&gt;
Provera: Dok kod radi, unimer na Pin 9 Arduina mora pokazati bar 1-2V (srednja vrednost impulsa). Ako je i dalje 0V, nešto softverski ne valja ili je taj primerak Arduina problematičan.&lt;br /&gt;
&lt;br /&gt;
2. LA1837 Napajanje (KRITIČNO)&lt;br /&gt;
Rekao si: &amp;quot;LA1837 njemu je pin 5 na gnd&amp;quot;.&lt;br /&gt;
OVO JE GREŠKA. Pin 5 na LA1837 MORA imati napon (Vcc). Ako je on na GND, čip je u kratkom spoju ili je spržen.&lt;br /&gt;
&lt;br /&gt;
Prema datasheet-u, Pin 8 je takođe Vcc, ali Pin 5 je napajanje za FM/AM blok.&lt;br /&gt;
&lt;br /&gt;
Ako je na ploči Pin 5 direktno vezan na GND, proveri da li je to neka greška u merenju ili je neki kondenzator u kratkom spoju. Bez napona na Pinu 5, ne možeš imati zvuk.&lt;br /&gt;
&lt;br /&gt;
3. Kod za &amp;quot;Forsiranu&amp;quot; komunikaciju (Bit-Bang na novim pinovima)&lt;br /&gt;
Ovaj kod koristi Pin 9 (CL), Pin 8 (DI) i Pin 10 (CE). Tako ćemo izbeći Pin 13 koji je možda opterećen LED diodom na Arduinu.&lt;br /&gt;
&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
#define CE 10&lt;br /&gt;
#define CL 9   // Novo: Pin 9&lt;br /&gt;
#define DI 8   // Novo: Pin 8&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(CE, OUTPUT);&lt;br /&gt;
  pinMode(CL, OUTPUT);&lt;br /&gt;
  pinMode(DI, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  digitalWrite(CL, LOW);&lt;br /&gt;
  digitalWrite(DI, LOW);&lt;br /&gt;
  &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  Serial.println(&amp;quot;Slanje na 100.0 MHz...&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void manualSend(byte data) {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
    digitalWrite(DI, (data &amp;amp; (1 &amp;lt;&amp;lt; i)) ? HIGH : LOW);&lt;br /&gt;
    delayMicroseconds(50); // Veoma sporo radi stabilnosti&lt;br /&gt;
    digitalWrite(CL, HIGH);&lt;br /&gt;
    delayMicroseconds(50);&lt;br /&gt;
    digitalWrite(CL, LOW);&lt;br /&gt;
    delayMicroseconds(50);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  float freq = 100.0;&lt;br /&gt;
  unsigned int N = (unsigned int)((freq + 10.7) / 0.05);&lt;br /&gt;
&lt;br /&gt;
  // KORAK 1: ADRESA 0x82&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  manualSend(0x82);&lt;br /&gt;
  &lt;br /&gt;
  // KORAK 2: AKTIVACIJA CE (mora biti HIGH za prenos podataka kod LC72131)&lt;br /&gt;
  digitalWrite(CE, HIGH);&lt;br /&gt;
  delayMicroseconds(10);&lt;br /&gt;
&lt;br /&gt;
  // KORAK 3: PODACI&lt;br /&gt;
  manualSend(lowByte(N));&lt;br /&gt;
  manualSend(highByte(N));&lt;br /&gt;
  manualSend(0xB0); // FM, 4.5MHz kristal&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  &lt;br /&gt;
  delay(5000); // Ponovi svakih 5 sekundi da mozes meriti&lt;br /&gt;
}&lt;br /&gt;
Šta meriti dok ovaj kod radi:&lt;br /&gt;
Pin 9 Arduina (CL): Moraš imati napon. Ako nemaš, Arduino ne izvršava digitalWrite.&lt;br /&gt;
&lt;br /&gt;
Pin 11 (AOUT) na LC72131: Ako komunikacija &amp;quot;prođe&amp;quot;, ovaj napon mora da padne sa 8.7V. Ako stoji na 8.7V, PLL i dalje ne vidi Arduino.&lt;br /&gt;
&lt;br /&gt;
LA1837 Pin 13 (Mute): Ako na njemu izmeriš napon, spoji ga kratko na GND žicom da vidiš hoće li &amp;quot;probiti&amp;quot; šum.&lt;br /&gt;
&lt;br /&gt;
Moj savet za LA1837: Ponovo proveri Pin 5. Ako je on stvarno na GND, tu leži razlog tišine. Izmeri otpor između Pina 5 i GND dok je sve isključeno. Ako je 0 oma, čip je mrtav ili je negde zalemljen &amp;quot;most&amp;quot; koji ne treba da bude tu.&lt;br /&gt;
&lt;br /&gt;
Da li želiš da probam da ti napišem kod koji će samo &amp;quot;blinkati&amp;quot; CL i DI pinove brzinom od 1 sekunde, kako bi unimerom bio 100% siguran da Arduino šalje signal?</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108730</guid>
<pubDate>Mon, 23 Mar 2026 22:48:28 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108728</link>
<description>I na pinu 2 je stalno 3-3,4mV i kad otkačim sa arduina ni na arduinu nema napona.postoji veza između arduina i pina 5 od lc72131 koji ide preko otpornika od 1k koji je na samom tuneru.&lt;br /&gt;
na pinu 11(AOUT) drži stalno 8,71v i ne pomera se.&lt;br /&gt;
LA1837 njemu je pin 5 na gnd,a na pinu 23 je 3,75v.&lt;br /&gt;
Kod la1837 pinovi za naoajanje su 5 i 8.&lt;br /&gt;
VCC na LA1837 (Pin 5): Rekao si da si dovodio 5V i nije bilo ništa.--Možda kod ovog drugog lc72131.&lt;br /&gt;
Na la1837 pin 13 je za mute,a ne pin 23 jet je pin 23 fm det.&lt;br /&gt;
sve je dobro zalemljeno i provereno.Dok se tuner napaja ima oko 5v na pinu1/3 konektora,a čim isključim nema iako arduimo ostane na napajanju.&lt;br /&gt;
na konektoru pin 9 je bio prazan i nije se koristio u samom dvd-u.&lt;br /&gt;
postavio sam i otpornik između di/do i arduina i ništa.&lt;br /&gt;
sa lc72131 njegovi pinovi za DO;DI;CL;CE idu preko otpornika od 1k pa na konektor.&lt;br /&gt;
&lt;a href=&quot;https://static.elitesecurity.org/uploads/4/1/4108728/Untitled.png&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;user_url&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://static.elitesecurity.org/uploads/4/1/4108728/.th300.Untitled.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://static.elitesecurity.org/uploads/4/1/4108728/123.jpeg&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;user_url&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://static.elitesecurity.org/uploads/4/1/4108728/.th300.123.jpeg&quot; /&gt;&lt;/a&gt;</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108728</guid>
<pubDate>Mon, 23 Mar 2026 22:19:01 +0100</pubDate>
<author>Bogdan-carr</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108724</link>
<description>To što je na Pinu 2 (CL) napon 0V je jasan znak problema. Clock (CL) linija je &amp;quot;srce&amp;quot; komunikacije – bez nje LC72131 uopšte ne zna da mu šalješ podatke. Čak i ako DI linija radi, bez CL impulsa čip samo &amp;quot;spava&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Takođe, 8.71V na Pinu 11 (AOUT) znači da je PLL &amp;quot;pobegao&amp;quot; u gornji ekstrem (maksimalni napon) jer ne dobija instrukcije da se zaključa na određenu frekvenciju.&lt;br /&gt;
&lt;br /&gt;
Evo šta moramo uraditi da pokrenemo komunikaciju:&lt;br /&gt;
&lt;br /&gt;
1. Rešavanje CL (Clock) linije&lt;br /&gt;
Ako je na Pinu 2 tjunera stalno 0V, a Arduino Pin 13 je ispravan, nešto &amp;quot;guši&amp;quot; taj signal.&lt;br /&gt;
&lt;br /&gt;
Proveri fizičku vezu: Isključi napajanje i unimerom na opsegu za otpor (ohm) proveri da li postoji kontakt između Arduina Pin 13 i samog nožice broj 5 na LC72131 čipu.&lt;br /&gt;
&lt;br /&gt;
Testiraj Arduino pin: Otkači žicu sa Arduina Pin 13 i izmeri napon na njemu dok radi kod. Trebalo bi da vidiš bar mali napon (oko 1-2V) koji titra dok se šalju podaci. Ako je tu 0V, probaj u kodu promeniti CL na neki drugi pin, npr. Pin 9.&lt;br /&gt;
&lt;br /&gt;
2. Prilagođeni kod za spori &amp;quot;Bit-Bang&amp;quot;&lt;br /&gt;
Pošto standardni shiftOut može biti prebrz za stare tjunere, probaćemo &amp;quot;ručno&amp;quot; da mrdamo pinove. Ovo je najsigurniji način da nateramo čip da nas čuje.&lt;br /&gt;
&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
// Promeni pinove ako sumnjaš na neki kvar na Arduinu&lt;br /&gt;
#define CE 10&lt;br /&gt;
#define CL 13 // Proveri ovaj pin!&lt;br /&gt;
#define DI 11&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(CE, OUTPUT);&lt;br /&gt;
  pinMode(CL, OUTPUT);&lt;br /&gt;
  pinMode(DI, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  digitalWrite(CL, LOW);&lt;br /&gt;
  digitalWrite(DI, LOW);&lt;br /&gt;
  &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  // Postavljamo 100.0 MHz&lt;br /&gt;
  posaljiFrekvenciju(100.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void manualShiftOut(byte podatak) {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
    digitalWrite(DI, (podatak &amp;amp; (1 &amp;lt;&amp;lt; i)) ? HIGH : LOW);&lt;br /&gt;
    delayMicroseconds(10); // Sporije slanje radi sigurnosti&lt;br /&gt;
    digitalWrite(CL, HIGH);&lt;br /&gt;
    delayMicroseconds(10);&lt;br /&gt;
    digitalWrite(CL, LOW);&lt;br /&gt;
    delayMicroseconds(10);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void posaljiFrekvenciju(float mhz) {&lt;br /&gt;
  unsigned int N = (unsigned int)((mhz + 10.7) / 0.05);&lt;br /&gt;
&lt;br /&gt;
  // 1. ADRESA (0x82)&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  manualShiftOut(0x82);&lt;br /&gt;
  &lt;br /&gt;
  // 2. CE mora biti HIGH tokom slanja podataka&lt;br /&gt;
  digitalWrite(CE, HIGH); &lt;br /&gt;
  delayMicroseconds(50);&lt;br /&gt;
&lt;br /&gt;
  // Bajt 1 i 2: Divider N&lt;br /&gt;
  manualShiftOut(lowByte(N));&lt;br /&gt;
  manualShiftOut(highByte(N));&lt;br /&gt;
&lt;br /&gt;
  // Bajt 3: Kontrola (FM mod, 4.5MHz kristal)&lt;br /&gt;
  // XS=1 (4.5MHz), DVS=1 (FM), ostalo po potrebi&lt;br /&gt;
  manualShiftOut(0xB0); &lt;br /&gt;
&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  Serial.println(&amp;quot;Frekvencija poslata rucno.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {}&lt;br /&gt;
3. Zašto je tišina? (Mute problem)&lt;br /&gt;
Pošto si otkačio žicu za mute, LA1837 je verovatno ostao u stanju &amp;quot;ugašenog zvuka&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ako na Pinu 23 od LA1837 (tvoj Pin 9 na konektoru) nemaš masu (GND), on će biti mutiran.&lt;br /&gt;
&lt;br /&gt;
Privremeno rešenje: Spoji Pin 9 konektora tjunera direktno na GND. Trebalo bi da čuješ bar šum. Ako čuješ šum, onda znamo da je audio deo &amp;quot;živ&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
4. Šta izmeriti sada:&lt;br /&gt;
Pin 2 (CL) ponovo: Dok radi ovaj novi kod, unimer mora pokazati bar neki napon (ne 0V).&lt;br /&gt;
&lt;br /&gt;
Pin 11 (AOUT) na LC72131: Ako komunikacija proradi, ovaj napon bi trebalo da padne sa 8.7V na neku nižu vrednost (npr. 4-5V za 100 MHz).&lt;br /&gt;
&lt;br /&gt;
VCC na LA1837 (Pin 5): Rekao si da si dovodio 5V i nije bilo ništa. Proveri ponovo da li taj čip ima napajanje na Pinovima 5 i 23 (koji su često VCC ulazi).&lt;br /&gt;
&lt;br /&gt;
Moj predlog: Probaj ovaj &amp;quot;manualShiftOut&amp;quot; kod. On je sporiji i daje čipu vremena da &amp;quot;svari&amp;quot; bite. Ako i dalje imaš 0V na CL pinu, zameni žicu ili proveri da nema negde kratkog spoja sa masom na samoj ploči tjunera.&lt;br /&gt;
&lt;br /&gt;
Želiš li da ti nacrtam tačnu šemu kako da spojiš te kontrolne pinove preko otpornika da budemo 100% sigurni da ne gušimo signal?</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108724</guid>
<pubDate>Mon, 23 Mar 2026 19:53:01 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108723</link>
<description>Evo koda koji ima ugrađenu &amp;quot;ACK&amp;quot; (Acknowledge) dijagnostiku. Pošto su kod tebe DI i DO kratko spojeni, Arduino može pokušati da &amp;quot;pročita&amp;quot; stanje linije odmah nakon što pošalje adresu. Ako čip LC72131 prihvati adresu, on će na kratko povući liniju (DI/DO) u određeno stanje.&lt;br /&gt;
&lt;br /&gt;
Ovaj kod će ti na Serial Monitoru (9600 baud) ispisati da li čip uopšte reaguje na tvoje komande.&lt;br /&gt;
&lt;br /&gt;
Arduino Dijagnostički Kod&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
#define CE 10&lt;br /&gt;
#define CL 13&lt;br /&gt;
#define DI 11 // DI i DO su spojeni na strani tjunera&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(CE, OUTPUT);&lt;br /&gt;
  pinMode(CL, OUTPUT);&lt;br /&gt;
  pinMode(DI, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  digitalWrite(CL, LOW);&lt;br /&gt;
  &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  while (!Serial); &lt;br /&gt;
  Serial.println(&amp;quot;--- LC72131 Dijagnostika Pokrenuta ---&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  // Testiramo komunikaciju slanjem adrese&lt;br /&gt;
  proveriKomunikaciju();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void proveriKomunikaciju() {&lt;br /&gt;
  Serial.println(&amp;quot;Pokusavam kontakt sa LC72131 (Adresa 0x82)...&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  // 1. Slanje adrese 0x82 (10000010 binarno)&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, 0x82);&lt;br /&gt;
  &lt;br /&gt;
  // 2. Prebacujemo DI pin u INPUT mod da vidimo sta LC kaze&lt;br /&gt;
  pinMode(DI, INPUT);&lt;br /&gt;
  digitalWrite(CE, HIGH); // Aktiviramo cip&lt;br /&gt;
  delayMicroseconds(10);&lt;br /&gt;
  &lt;br /&gt;
  int stanje = digitalRead(DI);&lt;br /&gt;
  &lt;br /&gt;
  if (stanje == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;ODGOVOR: Cip je povukao liniju LOW. Verovatno je PRISUTAN!&amp;quot;);&lt;br /&gt;
  } else {&lt;br /&gt;
    Serial.println(&amp;quot;ODGOVOR: Linija je HIGH. Cip NE ODGOVARA ili nema napajanja.&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Vracamo pin u OUTPUT mod za dalji rad&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  pinMode(DI, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
  // 3. Pokusaj postavljanja frekvencije (npr. 98.0 MHz)&lt;br /&gt;
  Serial.println(&amp;quot;Saljem test frekvenciju 98.0 MHz...&amp;quot;);&lt;br /&gt;
  postaviFrekvenciju(98.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void postaviFrekvenciju(float mhz) {&lt;br /&gt;
  unsigned int N = (unsigned int)((mhz + 10.7) / 0.05);&lt;br /&gt;
&lt;br /&gt;
  // Adresa&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, 0x82);&lt;br /&gt;
  digitalWrite(CE, HIGH);&lt;br /&gt;
  delayMicroseconds(2);&lt;br /&gt;
&lt;br /&gt;
  // Divider (16 bita)&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, lowByte(N));&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, highByte(N));&lt;br /&gt;
&lt;br /&gt;
  // Kontrolni bajt (4.5MHz kristal, FM)&lt;br /&gt;
  // XS bit (bit 1) mora biti 1 za 4.5MHz&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, 0xB2); &lt;br /&gt;
&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  Serial.println(&amp;quot;Podaci poslati.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Ponavljaj test svakih 10 sekundi&lt;br /&gt;
  delay(10000);&lt;br /&gt;
  proveriKomunikaciju();&lt;br /&gt;
}&lt;br /&gt;
Šta da pratiš na Serial Monitoru?&lt;br /&gt;
&amp;quot;Cip NE ODGOVARA&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Proveri napajanje na Pinu 4 (VCC) samog LC72131 čipa. Mora biti iznad 4.5V.&lt;br /&gt;
&lt;br /&gt;
Proveri GND vezu između Arduina i tjunera.&lt;br /&gt;
&lt;br /&gt;
Proveri da li su žice na DI, CL i CE dobro zalemljene (hladan lem je čest problem kod ovih tjunera).&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Cip je PRISUTAN&amp;quot;, ali i dalje nema zvuka:&lt;br /&gt;
&lt;br /&gt;
Ovo znači da komunikacija radi, ali PLL ne zaključava.&lt;br /&gt;
&lt;br /&gt;
Izmeri napon na Pinu 11 (AOUT) od LC72131. Ako je tamo zakucano na 0V ili na maksimum (npr. 9V), PLL ne uspeva da stabilizuje frekvenciju.&lt;br /&gt;
&lt;br /&gt;
Probaj u kodu promeniti zadnji bajt 0xB2 u 0xB0 ili 0x32. Ovi bitovi (XS i kontrolni) govore čipu koji je kristal unutra.&lt;br /&gt;
&lt;br /&gt;
Savet za hardver:&lt;br /&gt;
Pošto si rekao da si potenciometrom uspeo da nađeš stanicu, to znači da je onaj tranzistor (1348) i varikap dioda 100% ispravna. Problem je isključivo u tome što LC72131 ne preuzima kontrolu nad tom linijom.&lt;br /&gt;
&lt;br /&gt;
Probaj i ovo: Između Arduina Pin 11 i tvog Pin 3 na tjuneru ubaci otpornik od 1 kOhm. To će pomoći ako se Arduino i LC72131 &amp;quot;svađaju&amp;quot; oko napona na toj zajedničkoj DI/DO liniji.&lt;br /&gt;
&lt;br /&gt;
Hoćeš li da ti obeležim na tvojoj slici gde tačno da meriš napon dok ovaj kod radi?</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108723</guid>
<pubDate>Mon, 23 Mar 2026 19:50:34 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108722</link>
<description>Otkačio sa potenciometar i žicu za mute i povezao sam sa arduinom kao što ste rekli DI/DO preko 1k i tu je napok oko 5v na samom tunetu,a na pinu 11 od lc72131 je 8,71v bilo koju frekvenciju da stavim i potpuna je tišina.Ubacio sam kod taj zadnji koji si dao i ništa. napon ns pinu 3 DI je 4,95v,a na pinu 2 CL je 0v.&lt;br /&gt;
&lt;br /&gt;
Čekam slike sa tvojim oznakama da preciznije vidimo putanju signala! koje?&lt;br /&gt;
&lt;br /&gt;
Bi li hteo da ti napišem kod koji ispisuje na Serial Monitoru da li LC72131 uopšte odgovara (šalje ACK)? može</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108722</guid>
<pubDate>Mon, 23 Mar 2026 18:36:19 +0100</pubDate>
<author>Bogdan-carr</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108702</link>
<description>Odličan posao sa dijagnostikom! Činjenica da si spajanjem potenciometra uspeo da pronađeš stanice potvrđuje dve ključne stvari:&lt;br /&gt;
&lt;br /&gt;
RF i Audio deo (LA1837) su ispravni.&lt;br /&gt;
&lt;br /&gt;
PLL (LC72131) trenutno ne kontroliše napon podešavanja, pa je on &amp;quot;plivao&amp;quot; dok mu ti nisi zadao napon preko potenciometra.&lt;br /&gt;
&lt;br /&gt;
To što pin 23 na LC72131 drži &amp;quot;mute&amp;quot; (ne spušta na GND) znači da čip ili nije dobio komandu, ili misli da nema stanice (nije zaključao frekvenciju).&lt;br /&gt;
&lt;br /&gt;
Zašto PLL ne &amp;quot;zaključava&amp;quot;?&lt;br /&gt;
S obzirom na tvoja merenja, najverovatniji problem je redosled bajtova ili konfiguracija referentne frekvencije za kristal od 4.5 MHz. LC72131 je veoma specifičan – on zahteva adresu, pa podatke, a CE (Chip Enable) linija mora tačno da prati taj proces.&lt;br /&gt;
&lt;br /&gt;
Evo &amp;quot;agresivnijeg&amp;quot; koda koji direktno gađa registre za 4.5 MHz kristal i pokušava da isključi Mute preko softvera.&lt;br /&gt;
&lt;br /&gt;
Poboljšani kod (Direct Register Access)&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
#define CE 10&lt;br /&gt;
#define CL 13&lt;br /&gt;
#define DI 11&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(CE, OUTPUT);&lt;br /&gt;
  pinMode(CL, OUTPUT);&lt;br /&gt;
  pinMode(DI, OUTPUT);&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  digitalWrite(CL, LOW);&lt;br /&gt;
  digitalWrite(DI, LOW);&lt;br /&gt;
  &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  // Testiramo na 97.0 MHz (ili upiši frekvenciju stanice koju si našao potenciometrom)&lt;br /&gt;
  postaviFrekvenciju(97.0); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void postaviFrekvenciju(float mhz) {&lt;br /&gt;
  // N = (Freq + 10.7) / 0.05&lt;br /&gt;
  unsigned int N = (unsigned int)((mhz + 10.7) / 0.05);&lt;br /&gt;
&lt;br /&gt;
  // --- PRVI KORAK: ADRESA 0x82 ---&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, 0x82); &lt;br /&gt;
  digitalWrite(CE, HIGH);&lt;br /&gt;
  delayMicroseconds(5);&lt;br /&gt;
&lt;br /&gt;
  // --- DRUGI KORAK: PODACI (24 bita) ---&lt;br /&gt;
  // Bajt 1 i 2: Divider N (16 bita)&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, lowByte(N));&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, highByte(N));&lt;br /&gt;
&lt;br /&gt;
  // Bajt 3: Kontrolni (Reference freq i ostalo)&lt;br /&gt;
  // Za 4.5MHz kristal (XS=1), FM mod (DVS=1)&lt;br /&gt;
  // Binarno: 10110000 (0xB0) -&amp;gt; 50kHz korak&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, 0xB0); &lt;br /&gt;
&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  delayMicroseconds(5);&lt;br /&gt;
&lt;br /&gt;
  // --- TREĆI KORAK: ADRESA 0x92 (Za kontrolu Portova/Mute) ---&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, 0x92);&lt;br /&gt;
  digitalWrite(CE, HIGH);&lt;br /&gt;
  delayMicroseconds(5);&lt;br /&gt;
&lt;br /&gt;
  // Slanje port kontrola (da &amp;quot;otkači&amp;quot; Mute ako je vezan na IO port)&lt;br /&gt;
  // Šaljemo sve nule ili jedinice da vidimo promenu na pinu 23&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, 0xFF); &lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, 0xFF); &lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, 0xFF); &lt;br /&gt;
&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Frekvencija poslata: &amp;quot;);&lt;br /&gt;
  Serial.println(mhz);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {}&lt;br /&gt;
Šta dalje da proveriš na ploči:&lt;br /&gt;
Komunikacija (Napon na DI/CL): Dok Arduino radi, izmeri napon na Pin 3 (DI) i Pin 2 (CL) konektora. Pošto su u tvom slučaju DI i DO spojeni na samom tjuneru, Arduino pokušava da &amp;quot;nadjača&amp;quot; izlaz iz LC-a. Ako vidiš da je napon stalno 0V ili stalno 5V (bez titranja), komunikacija ne prolazi.&lt;br /&gt;
&lt;br /&gt;
Otpornik na DI liniji: Pošto su DI/DO spojeni, probaj da staviš otpornik od 1k između Arduina (Pin 11) i ulaza u tjuner. To će sprečiti da se Arduino i LC72131 &amp;quot;svađaju&amp;quot; oko toga ko drži liniju visokom ili niskom.&lt;br /&gt;
&lt;br /&gt;
Merenje na Tranzistoru 1348: Taj tranzistor koji si opisao je verovatno &amp;quot;Active Filter&amp;quot; ili pojačavač za napon podešavanja (VT). Srednja nožica (Baza) dobija signal iz PLL-a (Pin 11 od LC72131).&lt;br /&gt;
&lt;br /&gt;
Izmeri napon na Pinu 11 (AOUT) od LC72131.&lt;br /&gt;
&lt;br /&gt;
Ako je taj napon oko 0.6V ili se menja kada menjaš frekvenciju u kodu, znači da PLL radi!&lt;br /&gt;
&lt;br /&gt;
Savet: Pošto si već uspeo da &amp;quot;uhvatiš&amp;quot; stanicu potenciometrom, zadrži taj napon unimerom i vidi koliko iznosi (npr. 4.5V). Onda učitaj kod za tu istu frekvenciju i vidi da li PLL sam postavlja približno isti napon na varikap diodi.&lt;br /&gt;
&lt;br /&gt;
Čekam slike sa tvojim oznakama da preciznije vidimo putanju signala!&lt;br /&gt;
&lt;br /&gt;
Bi li hteo da ti napišem kod koji ispisuje na Serial Monitoru da li LC72131 uopšte odgovara (šalje ACK)?</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108702</guid>
<pubDate>Sun, 22 Mar 2026 20:10:17 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108701</link>
<description>na kratko je bio napon od 4,97v pa je nestao i dovedem na pin 5 sa arduina kao što ste rekli nista se nedešava.. Blizu zavojnice L7 sa druge strane ima dva smd tanzistora. &lt;br /&gt;
Kod donjeg naponi su 1-gnd:10,37v; 2-gnd:10,95v; 3-gnd:11,15.&lt;br /&gt;
Kod gornjeg su 1-gnd:4,86v; 2-gnd:9,8v; 3-gnd:4,58v.&lt;br /&gt;
gornji je sa druge strane pored zavojnice,a pored tog smd tranistora ima smd dioda na kojoj je napon 11,13v.&lt;br /&gt;
Sa pina 5 od la1837 ide na otpornik od 1k pa na konektor.i probao da direktno dovedem 5v sa arduina otkačio sa pina12 sa arduina i prebacio na 5v i ništa.&lt;br /&gt;
na pinu 23 od lc72131 nedobija gnd zato drži mutiranog.&lt;br /&gt;
Sa kondezatora C64 gde je 11,15v ide na otpornik 5k6 pa se odatle grana na dve strane jedna ide na 10k i kondezator koji je na gnd pa se na tu granu dodaje još jedan od 10k isto sa kondezatorom na gnd i sa otpšornika ide na diodu sigurno varikap,dok drugi kraj sa 5k6 ide na 22k koji ide na neki tranzistor 1348 na srednju nožicu dok 3 nožica ide naotpornik od 47k na gnd,a prva nožica ide ferutnu prigušnicu.&lt;br /&gt;
Spojim pin 23 od lc72131 na gnd dobijem šuštanje,a potenciometar od 10k spojim između gnd i tačke gde se grana sa 5k6 i okretanjem nalazim stanice. Postavljam i slike pa ću obeležiti kuda ide i do kojih delova.&lt;br /&gt;
&lt;br /&gt;
&lt;sub&gt;[&lt;b&gt;Ovu poruku je menjao Bogdan-carr dana 22.03.2026. u 19:42 GMT+1&lt;/b&gt;]&lt;/sub&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;sub&gt;[&lt;b&gt;Ovu poruku je menjao Bogdan-carr dana 22.03.2026. u 19:46 GMT+1&lt;/b&gt;]&lt;/sub&gt;</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108701</guid>
<pubDate>Sun, 22 Mar 2026 18:09:15 +0100</pubDate>
<author>Bogdan-carr</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108662</link>
<description>Sjajno si izmerio, ovi podaci nam otkrivaju tačno gde je &amp;quot;zapelo&amp;quot;. Idemo redom da rešimo problem napajanja i komunikacije:&lt;br /&gt;
&lt;br /&gt;
1. Napajanje (VCC i Pin 5)&lt;br /&gt;
Izmerio si da je na Pinu 5 od LA1837 napon 0V. To je glavni razlog zašto nema zvuka! Pin 5 na LA1837 je VCC za FM/AM deo čipa. Ako je tu 0V, IC je &amp;quot;ugašen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Rešenje: LA1837 na tom pinu (5) obično radi na 5V. Pošto si rekao da LA1837 dobija 8.7V, negde na ploči mora biti otpornik i zener dioda koji spuštaju taj napon na 5V za Pin 5. Proveri da li je neka staza u prekidu. Slobodno probaj dovesti čistih 5V sa Arduina direktno na Pin 5 od LA1837 da ga &amp;quot;probudiš&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2. Veza DI i DO (Pin 4 i 6 na LC72131)&lt;br /&gt;
Nemoj prekidati vezu. Ako je u DVD-u radilo sa 3 žice, to znači da je sistem dizajniran tako. LC72131 šalje podatke nazad (DO) samo kada mu Arduino to zatraži, inače taj pin &amp;quot;ćuti&amp;quot;. Bitno je samo da u kodu koristiš ispravnu proceduru slanja (onaj CE prekid koji sam ti napisao u prošloj poruci).&lt;br /&gt;
&lt;br /&gt;
3. Gde su varikap diode i napon podešavanja?&lt;br /&gt;
Varikap diode nisu klasične diode, one izgledaju kao mali tranzistori sa dva ili tri pina u SMD kućištu ili kao obične staklene diode (zavisi od modela). Nalaze se u desnom delu tjunera, blizu onih zelenih zavojnica i induktora koje vidiš na slici.&lt;br /&gt;
&lt;br /&gt;
C64 (11V): To je odličan napon! To je verovatno glavni napon napajanja koji ide na PLL (LC72131).&lt;br /&gt;
&lt;br /&gt;
Ključno merenje: Pronađi pin na LC72131 koji se zove AOUT (Pin 11) ili potraži negde blizu zavojnica tačku označenu sa VT (Varactor Tension). Kada u kodu promeniš frekvenciju sa 88 MHz na 108 MHz, taj napon mora da se menja (npr. sa 2V na 9V). Ako stoji zakucan na jednoj vrednosti, komunikacija Arduina i LC čipa ne radi.&lt;br /&gt;
&lt;br /&gt;
4. Pin 23 (LA1837) i Pin 8 (LC72131)&lt;br /&gt;
To što su povezani je ispravno. Pin 8 na LC72131 je Izlazni port (IO). DVD plejer je preko njega kontrolisao LA1837 (verovatno prebacivanje Mono/Stereo ili Mute). Za sada to ne diraj, fokusiraj se na to da dobiješ 5V na Pin 5 od LA1837.&lt;br /&gt;
&lt;br /&gt;
Šta sada da uradiš:&lt;br /&gt;
Dovedi 5V na Pin 5 (LA1837): Bez ovoga nećeš čuti ništa osim tišine, čak i ako je tjuner na stanici.&lt;br /&gt;
&lt;br /&gt;
Proveri Pin 4 i 5 na LC72131: To su tvoji DI i CL. Dok kod radi, unimerom (na DC opsegu) izmeri ima li ikakvog napona na njima. Trebalo bi da &amp;quot;igra&amp;quot; oko 2-3V dok se šalju podaci.&lt;br /&gt;
&lt;br /&gt;
Probaj ovaj &amp;quot;Unlock&amp;quot; trik:&lt;br /&gt;
Nekada LC72131 zahteva da se prvo pošalju kontrolni bitovi pa tek onda frekvencija. U kodu koji sam ti dao, proveri onaj zadnji bajt 0x10. Ako ne radi, probaj 0x50 (to menja osetljivost IF brojača).&lt;br /&gt;
&lt;br /&gt;
Sledeći korak:&lt;br /&gt;
Dovedi tih 5V na Pin 5 i javi mi da li se šuštanje pojačalo ili si počeo da hvataš bar neku stanicu dok &amp;quot;šetaš&amp;quot; žicu od antene.&lt;br /&gt;
&lt;br /&gt;
Da li želiš da ti napišem kod koji će svakih 5 sekundi menjati frekvenciju (88, 90, 92...) tako da možeš unimerom pratiti da li se menja napon na varikap diodama?</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108662</guid>
<pubDate>Fri, 20 Mar 2026 21:09:53 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108660</link>
<description>Dali treba da prekinem vezu između DI i DO?&lt;br /&gt;
Pin 9 na konektoru što ide na pin 23 sa LA1837 nije se koristio u dvd-u bio je prazan bez kabla na konektoru.&lt;br /&gt;
,,Pitanje: Da li imaš unimer da izmeriš napon na pinu 5 (VCC) dok je sve upaljeno? Interesuje me da li je pao ispod 5V zbog opterećenja&amp;quot;&lt;br /&gt;
na pinu 5 od la1837 je 0v.&lt;br /&gt;
napajanje lc72131 je 5,15v, a la1837 je 8,7v.&lt;br /&gt;
gde se nalazi ta varikap dioda?&lt;br /&gt;
pin 23 la1837 je preko otpornika spojen na pin 8 lc72131.&lt;br /&gt;
Jel misliš na kondezator c64 na kome je 11v.</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108660</guid>
<pubDate>Fri, 20 Mar 2026 20:12:54 +0100</pubDate>
<author>Bogdan-carr</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108646</link>
<description>Slika je odlična, sad se sve jasno vidi. Ovo je klasični &amp;quot;old-school&amp;quot; digitalni tjuner. Na slici se jasno vide oba čipa, kristal od 4.5 MHz (onaj metalni duguljasti pored LC72131) i induktori (zavojnice) za RF i oscilatorni deo sa desne strane.&lt;br /&gt;
&lt;br /&gt;
Pošto ti je DI/DO spojen na samom konektoru, a čipovi imaju specifična napajanja, moramo biti jako precizni sa tajmingom slanja podataka.&lt;br /&gt;
&lt;br /&gt;
Ključna stvar: Napon podešavanja (VT)&lt;br /&gt;
Vidiš li onu narandžastu zener diodu blizu LC72131? Ona verovatno služi za stabilizaciju napona. Međutim, za FM opseg, napon na varikap diodama (koje su u desnom delu tjunera) mora da ide od oko 2V do desetak volti. Ako tjuner napajaš samo sa 5V sa Arduina, on nikada neće uspeti da &amp;quot;povuče&amp;quot; frekvenciju na 100 MHz. Moraš mu dovesti 9V ili 12V na VCC pin.&lt;br /&gt;
&lt;br /&gt;
Poboljšani kod za 4.5 MHz kristal i 3-wire mod&lt;br /&gt;
Ovaj kod koristi &amp;quot;ručno&amp;quot; slanje bita (bit-banging) jer je CCB protokol vrlo izbirljiv oko toga kako CE (Chip Enable) radi u odnosu na CL (Clock).&lt;br /&gt;
&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
#define CE 10&lt;br /&gt;
#define CL 13&lt;br /&gt;
#define DI 11&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(CE, OUTPUT);&lt;br /&gt;
  pinMode(CL, OUTPUT);&lt;br /&gt;
  pinMode(DI, OUTPUT);&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  digitalWrite(CL, LOW);&lt;br /&gt;
  digitalWrite(DI, LOW);&lt;br /&gt;
  &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  // Test: Postavi na 94.0 MHz (ili neku tvoju lokalnu stanicu)&lt;br /&gt;
  postaviFreq(94.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void postaviFreq(float mhz) {&lt;br /&gt;
  // Proračun za FM (10.7 MHz IF, 50 kHz korak)&lt;br /&gt;
  // Divider N = (Freq + 10.7) / 0.05&lt;br /&gt;
  unsigned int N = (unsigned int)((mhz + 10.7) / 0.05);&lt;br /&gt;
&lt;br /&gt;
  // 1. SLANJE ADRESE (0x82 za LC72131)&lt;br /&gt;
  digitalWrite(CE, LOW); &lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, 0x82);&lt;br /&gt;
  // Kod CCB-a, CE ide visoko NAKON adrese&lt;br /&gt;
  digitalWrite(CE, HIGH);&lt;br /&gt;
  delayMicroseconds(2);&lt;br /&gt;
&lt;br /&gt;
  // 2. SLANJE PODATAKA (24 bita)&lt;br /&gt;
  // Prva dva bajta su delilac N (LSB first)&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, lowByte(N));&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, highByte(N));&lt;br /&gt;
&lt;br /&gt;
  // Treći bajt: Kontrolni bajt&lt;br /&gt;
  // Za 4.5MHz kristal, FM mod, i korak od 50kHz:&lt;br /&gt;
  // Bitovi: SNS, DVS, R3, R2, R1, R0, XS, CTE&lt;br /&gt;
  // Probaćemo 0x10 ili 0x30 (XS bit definiše kristal 4.5 vs 7.2)&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, 0x10); &lt;br /&gt;
&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Poslato za: &amp;quot;);&lt;br /&gt;
  Serial.println(mhz);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {}&lt;br /&gt;
Šta da uradiš sledeće (Dijagnostika):&lt;br /&gt;
Merenje napona: Poveži sve, upali Arduino i izmeri napon na onom kondenzatoru koji je najbliži onim zelenim zavojnicama sa desne strane. Ako je tamo napon 0V ili fiksno 5V, PLL nije zaključao.&lt;br /&gt;
&lt;br /&gt;
Pin 9 (LA1837): Video sam na tvojoj listi da pin 9 vodi na pin 23 od LA1837. Taj pin je &amp;quot;Vcc for FM&amp;quot;. Ako na tom pinu nemaš 5V, FM deo čipa uopšte ne dobija struju i zato čuješ samo tišinu ili blagi šum. Proveri da li taj pin treba biti spojen na 5V.&lt;br /&gt;
&lt;br /&gt;
DI/DO spoj: Pošto su DI i DO spojeni na tjuneru, onaj &amp;quot;šum&amp;quot; koji si čuo može biti i digitalni šum sa Arduina. Probaj staviti otpornik od 1k do 4k7 između Arduina (Pin 11) i tjunera (Pin 3) da malo &amp;quot;omekšaš&amp;quot; signal.&lt;br /&gt;
&lt;br /&gt;
Pitanje: Da li imaš unimer da izmeriš napon na pinu 5 (VCC) dok je sve upaljeno? Interesuje me da li je pao ispod 5V zbog opterećenja.&lt;br /&gt;
&lt;br /&gt;
Želiš li da probamo da dodamo mali skener, pa da Arduino sam vrti frekvencije dok nešto ne &amp;quot;ubode&amp;quot;?</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108646</guid>
<pubDate>Fri, 20 Mar 2026 10:55:25 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108636</link>
<description>To je veoma bitan podatak – to što su DI i DO kratko spojeni znači da tjuner koristi trosmernu (3-wire) sabirnicu, gde se podaci šalju i primaju preko iste linije (DI). To je česta pojava kod Sanyo CCB protokola da bi se uštedela jedna žica.&lt;br /&gt;
&lt;br /&gt;
Takođe, to što se LC72131 napaja sa 9V je u redu, ali pazi na Arduino: Arduino radi na 5V logici. Ako mu pošalješ 9V sa DO pina nazad na Arduino pin 12, možeš oštetiti mikrokontroler. Srećom, za samo slanje frekvencije DO nam i ne treba.&lt;br /&gt;
&lt;br /&gt;
Evo kako da prilagodiš sve za 4.5 MHz kristal i tu specifičnu konfiguraciju:&lt;br /&gt;
&lt;br /&gt;
1. Hardversko prilagođavanje&lt;br /&gt;
Pošto su DI i DO spojeni na samom tjuneru, poveži ih ovako:&lt;br /&gt;
&lt;br /&gt;
Arduino Pin 11 (MOSI) -&amp;gt; Spoji na tvoj Pin 3 (DI) na konektoru tjunera.&lt;br /&gt;
&lt;br /&gt;
Arduino Pin 10 (SS) -&amp;gt; Spoji na tvoj Pin 4 (CE).&lt;br /&gt;
&lt;br /&gt;
Arduino Pin 13 (SCK) -&amp;gt; Spoji na tvoj Pin 2 (CL).&lt;br /&gt;
&lt;br /&gt;
VCC: Dovedi stabilnih 9V (ili 12V ako je tako bilo u DVD-u, ali proveri da li se pregreva).&lt;br /&gt;
&lt;br /&gt;
2. Prilagođeni Kod (za 4.5 MHz kristal)&lt;br /&gt;
Standardne biblioteke često pretpostavljaju 7.2 MHz kristal. Kod 4.5 MHz kristala, referentni delioci u PLL-u su drugačiji.&lt;br /&gt;
&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Pinovi prema tvom rasporedu&lt;br /&gt;
#define CE_PIN 10&lt;br /&gt;
#define CL_PIN 13&lt;br /&gt;
#define DI_PIN 11&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(CE_PIN, OUTPUT);&lt;br /&gt;
  pinMode(CL_PIN, OUTPUT);&lt;br /&gt;
  pinMode(DI_PIN, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(CE_PIN, LOW);&lt;br /&gt;
  digitalWrite(CL_PIN, LOW);&lt;br /&gt;
  &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  &lt;br /&gt;
  // Postavljamo na 100.0 MHz za test&lt;br /&gt;
  postaviFrekvenciju(100.0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void postaviFrekvenciju(float freq) {&lt;br /&gt;
  // Proračun za kristal 4.5 MHz:&lt;br /&gt;
  // FM korak 50kHz, IF 10.7MHz&lt;br /&gt;
  // Divider = (Frekvencija + 10.7) / 0.05&lt;br /&gt;
  unsigned int divider = (unsigned int)((freq + 10.7) / 0.05);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(CE_PIN, HIGH);&lt;br /&gt;
  &lt;br /&gt;
  // 1. Slanje ADRESE za LC72131 (Address 0x82)&lt;br /&gt;
  // U CCB protokolu adresa se šalje sa LSB first&lt;br /&gt;
  shiftOut(DI_PIN, CL_PIN, LSBFIRST, 0x82); &lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(CE_PIN, LOW); // Kratak prekid CE je specifičan za CCB adresu&lt;br /&gt;
  delayMicroseconds(5);&lt;br /&gt;
  digitalWrite(CE_PIN, HIGH);&lt;br /&gt;
&lt;br /&gt;
  // 2. Slanje CONTROL DATA (24 bita)&lt;br /&gt;
  // Prvih 16 bita je divider (LSB first)&lt;br /&gt;
  shiftOut(DI_PIN, CL_PIN, LSBFIRST, lowByte(divider));&lt;br /&gt;
  shiftOut(DI_PIN, CL_PIN, LSBFIRST, highByte(divider));&lt;br /&gt;
&lt;br /&gt;
  // Trećih 8 bita su kontrolni (Reference freq, mod, itd.)&lt;br /&gt;
  // Za 4.5MHz kristal i FM: 0xD0 (zavisi od tačne konfiguracije tvojih pinova na čipu)&lt;br /&gt;
  shiftOut(DI_PIN, CL_PIN, LSBFIRST, 0xD0); &lt;br /&gt;
&lt;br /&gt;
  digitalWrite(CE_PIN, LOW);&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;Frekvencija postavljena na: &amp;quot;);&lt;br /&gt;
  Serial.println(freq);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Ovde možeš dodati skeniranje kasnije&lt;br /&gt;
}&lt;br /&gt;
Zašto i dalje može biti tišina?&lt;br /&gt;
Napon na Pin 5 (VCC): Ako dovedeš 12V na VCC, proveri da li LA1837 dobija svojih 5V preko te zener diode. Ako je napon preniski, IC za zvuk neće raditi.&lt;br /&gt;
&lt;br /&gt;
Referentni delilac (R0-R3 bita): Kod LC72131, bita R0-R3 određuju referentnu frekvenciju na osnovu kristala. Za 4.5 MHz kristal da bi dobio korak od 50 kHz (standard za FM), ti bitovi moraju biti ispravno postavljeni u onom trećem bajtu koji šaljemo (0xD0 u primeru).&lt;br /&gt;
&lt;br /&gt;
Šum (Mute): Pin 23 na LA1837 koji si pomenuo je često povezan sa Stereo/Mono prebacivanjem ili Mute kontrolom. Pošto se &amp;quot;nije koristio&amp;quot;, ostavi ga slobodnog, ali ako i dalje nema zvuka, probaj ga preko otpornika spojiti na 5V ili GND (zavisi od logike).&lt;br /&gt;
&lt;br /&gt;
Pokušaj sledeće: Izmeri unimerom napon na samom tjuneru na pinu koji ide na varikap diode (unutar tjunera, obično označen sa VT ili PD). Ako se taj napon menja kada u kodu promeniš frekvenciju (npr. sa 88.0 na 108.0), to znači da Arduino i LC72131 savršeno komuniciraju!&lt;br /&gt;
&lt;br /&gt;
Da li imaš pristup tim unutrašnjim tačkama na ploči tjunera da izmeriš taj napon (VT)?</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108636</guid>
<pubDate>Thu, 19 Mar 2026 11:02:33 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108634</link>
<description>&lt;a href=&quot;https://www.facebook.com/share/r/1Ckv8twyc8/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;user_url&quot;&gt;https://www.facebook.com/share/r/1Ckv8twyc8/&lt;/a&gt;</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108634</guid>
<pubDate>Thu, 19 Mar 2026 09:51:27 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108630</link>
<description>&lt;div class=&quot;quote&quot;&gt;&lt;div class=&quot;tiny&quot;&gt;Citat:&lt;/div&gt;&lt;div class=&quot;quote_text&quot;&gt;&lt;a href=&quot;/p4108621&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;user_url&quot;&gt;samuki&lt;/a&gt;: Koji arduino koristis. Koji program ?&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Imam i arduino uno i arduino nano. Program za arduino.&lt;br /&gt;
&lt;br /&gt;
,, Samuki,,&lt;br /&gt;
&lt;br /&gt;
Kada je bio tuner na dvd-u koristio je 3 žice&lt;br /&gt;
Data&lt;br /&gt;
CL&lt;br /&gt;
CE&lt;br /&gt;
Pošto je u samom tuner u bilo ktatko spojen DI i DO. Napajanje je koristio 12v. Kristal u tu eru je 4.5MHz.&lt;br /&gt;
Na  LA1837 napaja se sa 5v pošto ima zener diodu, a LC72131 ima napajanje oko 9v. Samo ima jedan pin za napajanje.&lt;br /&gt;
Raspored prinova na konektoru:&lt;br /&gt;
1-DO (LC72131   Pin 6) &lt;br /&gt;
2-CL  (LC72131   Pin 5) &lt;br /&gt;
3-DI   (LC72131   Pin 4) &lt;br /&gt;
4-CE  (LC72131   Pin 3)&lt;br /&gt;
5-VCC&lt;br /&gt;
6-L OUT  (LA1837  Pin 17)&lt;br /&gt;
7-GND&lt;br /&gt;
8-R OUT  (LA1837  Pin 16)&lt;br /&gt;
9- sa LA1837 Pin 23 koji se nije koristio&lt;br /&gt;
Evo i slika&lt;br /&gt;
</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108630</guid>
<pubDate>Wed, 18 Mar 2026 23:47:19 +0100</pubDate>
<author>Bogdan-carr</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108622</link>
<description>Činjenica da čuješ šuštanje kada povučeš pin 13 (Mute/ST-Indikator) na LA1837 prema masi je dobar znak — to znači da je audio stepen (L/R Out) ispravan i da LA1837 radi. Problem je što LC72131 (PLL) ne zaključava frekvenciju ili ne komunicira sa Arduinom, pa tjuner ostaje &amp;quot;gluv&amp;quot; na nuli.&lt;br /&gt;
&lt;br /&gt;
Evo glavnih razloga zašto se ništa ne dešava i kako da to rešiš:&lt;br /&gt;
&lt;br /&gt;
1. Provera napona za &amp;quot;Tuning&amp;quot; (VT pin)&lt;br /&gt;
Ovo je najčešći problem kod tjunera izvađenih iz DVD-ova. Digitalni tjuneri ne rade samo na 5V.&lt;br /&gt;
&lt;br /&gt;
VCC (5V) napaja digitalni deo (LC72131).&lt;br /&gt;
&lt;br /&gt;
VT (Varactor Tension) napaja diode za biranje stanica. Ovaj napon mora biti između 12V i 33V.&lt;br /&gt;
&lt;br /&gt;
Ako na tvom konektoru nema pina za 12V/30V, on se verovatno pravi unutar same kutije tjunera, ali mu treba napon na VCC-u. Proveri da li na ploči DVD-a odakle si ga izvadio postoji linija od 12V koja je išla prema tjuneru. Bez tog napona, PLL ne može da pomeri frekvenciju sa početne tačke.&lt;br /&gt;
&lt;br /&gt;
2. Sanyo CCB Protokol i adresa&lt;br /&gt;
LC72131 koristi specifičnu adresu pre slanja podataka. U CCB protokolu (koji koristi biblioteka), adresa za ovaj čip je obično 0x82 (za upis podataka).&lt;br /&gt;
Ako koristiš biblioteku, proveri u dokumentaciji da li je adresa ispravno postavljena.&lt;br /&gt;
&lt;br /&gt;
3. Problem sa Pinom 3 (DO vs DI)&lt;br /&gt;
U tvom prvom postu si naveo pinove 1-DI i 3-DI. To je verovatno greška u obeležavanju na ploči.&lt;br /&gt;
&lt;br /&gt;
Pin 1 (DI) je Data Input (ulaz podataka u LC).&lt;br /&gt;
&lt;br /&gt;
Pin 3 bi trebalo da bude DO (Data Output) (izlaz iz LC ka Arduinu).&lt;br /&gt;
&lt;br /&gt;
Probaj sledeće: Ako si u kodu koristio Pin 3 kao DI, zameni ga. Arduinu za slanje frekvencije zapravo treba samo CE, CL i DI (Pin 1). Pin 3 (DO) služi samo da bi Arduino očitao da li je stanica &amp;quot;uhvaćena&amp;quot; (Station Detect), ali nije neophodan za samo menjanje frekvencije.&lt;br /&gt;
&lt;br /&gt;
4. Kristal (Referentna frekvencija)&lt;br /&gt;
LC72131 mora imati kristal (obično 7.2 MHz) spojen na svoje pinove. Proveri da li je on ostao na ploči tjunera. Bez njega, čip je &amp;quot;mrtav&amp;quot; i ne reaguje na komande sa Arduina.&lt;br /&gt;
&lt;br /&gt;
Testni kod bez biblioteke (Direct Control)&lt;br /&gt;
Ako sumnjaš na biblioteku, probaj ovaj jednostavan &amp;quot;bit-banging&amp;quot; test da vidiš hoće li PLL uopšte reagovati (postavljanje na 100.0 MHz):&lt;br /&gt;
&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
// Pinovi prema tvojoj listi&lt;br /&gt;
#define CE 10&lt;br /&gt;
#define CL 13&lt;br /&gt;
#define DI 11&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(CE, OUTPUT);&lt;br /&gt;
  pinMode(CL, OUTPUT);&lt;br /&gt;
  pinMode(DI, OUTPUT);&lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
  digitalWrite(CL, LOW);&lt;br /&gt;
  &lt;br /&gt;
  delay(100);&lt;br /&gt;
  send_frequency(100.0); // Test na 100 MHz&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void send_frequency(float freq) {&lt;br /&gt;
  // Proračun za 100MHz (FM, 50kHz step, 10.7 IF)&lt;br /&gt;
  unsigned long divider = (freq + 10.7) * 20; &lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(CE, HIGH); // Aktivacija čipa&lt;br /&gt;
  &lt;br /&gt;
  // Slanje adrese za LC72131 (0x82 - binarno 01000001 obrnutim redosledom)&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, 0x82); &lt;br /&gt;
  &lt;br /&gt;
  // Slanje 24 bita kontrole (ovo je uprošćeno, zavisi od konfiguracije čipa)&lt;br /&gt;
  // Ovde se šalje divider i mod rada (FM)&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, (divider &amp;amp; 0xFF));&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, ((divider &amp;gt;&amp;gt; 8) &amp;amp; 0xFF));&lt;br /&gt;
  shiftOut(DI, CL, LSBFIRST, 0xB0); // FM mod, 50kHz korak&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(CE, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {}&lt;br /&gt;
Šta dalje da proveriš:&lt;br /&gt;
Instrumentom izmeri napon na Pin 5 (VCC) dok je sve spojeno. Mora biti stabilnih 5V.&lt;br /&gt;
&lt;br /&gt;
Pogledaj oznaku na kristalu unutar tjunera (mali metalni deo). Ako piše 4.5 ili 7.2, to moraš definisati u kodu jer od toga zavisi proračun frekvencije.&lt;br /&gt;
&lt;br /&gt;
Mute funkcija: Pin 13 na LA1837 koji si dirao je &amp;quot;Mute&amp;quot;. Ako LC72131 ne pošalje signal da je &amp;quot;zaključao&amp;quot; stanicu, on će držati zvuk isključenim.&lt;br /&gt;
&lt;br /&gt;
Da li imaš unimer da proveriš koliki je napon na pinu 1 (DI) i 2 (CL) dok Arduino radi? Trebalo bi da vidiš neko &amp;quot;mrdanje&amp;quot; napona ako podaci prolaze.</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108622</guid>
<pubDate>Wed, 18 Mar 2026 12:13:47 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108621</link>
<description>Koji arduino koristis. Koji program ?</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108621</guid>
<pubDate>Wed, 18 Mar 2026 12:11:53 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108617</link>
<description>Jel ovaj kod što je dao kolega samuki. Upisao sam kod u arduino i ništa se nedešava. Ali kad spojim sa gnd preko 4k7 na pin 13 ic-a LA1837 čuje se da šušti,a trebalo bi da dobije informaciju od ic-a LC72131.&lt;br /&gt;
Sad me zanima koji kod se koristi iz onoga što je postavio kolega mpx?</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108617</guid>
<pubDate>Tue, 17 Mar 2026 21:00:22 +0100</pubDate>
<author>Bogdan-carr</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108605</link>
<description>To je sjajan projekat za iskorištavanje starih komponenti. LC72131 je Sanyo PLL (Phase-Locked Loop) sintetizator frekvencije koji kontroliše tuner, dok je LA1837 zadužen za samu obradu AM/FM signala (IF i MPX dekoder).&lt;br /&gt;
&lt;br /&gt;
Da bi Arduino komunicirao sa LC72131, koristi se CCB protokol (Sanyo Computer Control Bus), koji je vrlo sličan SPI komunikaciji, ali sa specifičnim načinom adresiranja.&lt;br /&gt;
&lt;br /&gt;
1. Povezivanje (Pinout)&lt;br /&gt;
Vjerovatno je na vašem tuneru pin 3 zapravo DO (Data Out), a ne DI, jer je to standard za LC72131 module iz DVD-ova.&lt;br /&gt;
&lt;br /&gt;
Tuner Pin	Funkcija	Arduino Pin (Primjer)&lt;br /&gt;
1 - DI	Data In	D10&lt;br /&gt;
2 - CL	Clock	D13&lt;br /&gt;
4 - CE	Chip Enable	D12&lt;br /&gt;
5 - VCC	Napajanje (obično 5V ili 9V)	5V (provjerite napon sa DVD ploče)&lt;br /&gt;
7 - GND	Masa	GND&lt;br /&gt;
6 &amp;amp; 8	Audio Out L/R	Na pojačalo&lt;br /&gt;
&lt;br /&gt;
2. Arduino Kod (Skeč)&lt;br /&gt;
Ovaj kod koristi &amp;quot;bit-banging&amp;quot; metodu za slanje podataka tuneru jer CCB protokol ima specifičnu 8-bitnu adresu pre slanja kontrolnih bajtova.&lt;br /&gt;
&lt;br /&gt;
C++&lt;br /&gt;
&lt;br /&gt;
// Pinovi&lt;br /&gt;
const int CE_PIN = 12;&lt;br /&gt;
const int CL_PIN = 13;&lt;br /&gt;
const int DI_PIN = 10;&lt;br /&gt;
&lt;br /&gt;
// Konstante za FM (10.7 MHz Intermediate Frequency)&lt;br /&gt;
const long IF_FREQ = 10700; &lt;br /&gt;
const int REF_FREQ = 50; // Referentna frekvencija 50kHz&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(CE_PIN, OUTPUT);&lt;br /&gt;
  pinMode(CL_PIN, OUTPUT);&lt;br /&gt;
  pinMode(DI_PIN, OUTPUT);&lt;br /&gt;
  digitalWrite(CE_PIN, LOW);&lt;br /&gt;
  digitalWrite(CL_PIN, LOW);&lt;br /&gt;
  digitalWrite(DI_PIN, LOW);&lt;br /&gt;
  &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  delay(100);&lt;br /&gt;
  &lt;br /&gt;
  // Primjer: Postavi na 98.0 MHz&lt;br /&gt;
  setFrequency(98000); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Ovdje možete dodati kontrolu preko potenciometra ili tastera&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setFrequency(long freqKhz) {&lt;br /&gt;
  // Izračunavanje N djelitelja: N = (F_target + F_if) / F_ref&lt;br /&gt;
  unsigned int n = (freqKhz + IF_FREQ) / REF_FREQ;&lt;br /&gt;
  &lt;br /&gt;
  // Slanje adrese za LC72131 (0x82 je standard za IN1)&lt;br /&gt;
  sendCCB(0x82, n, 0x821); // 0x821 su kontrolni bitovi za FM, 50kHz step&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void sendCCB(byte address, unsigned int divisor, unsigned int control) {&lt;br /&gt;
  // 1. Slanje adrese (Lsb First)&lt;br /&gt;
  digitalWrite(CE_PIN, LOW);&lt;br /&gt;
  for(int i=0; i&amp;lt;8; i++) {&lt;br /&gt;
    digitalWrite(DI_PIN, bitRead(address, i));&lt;br /&gt;
    digitalWrite(CL_PIN, HIGH);&lt;br /&gt;
    digitalWrite(CL_PIN, LOW);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // 2. Slanje podataka (CE mora biti HIGH tokom slanja podataka)&lt;br /&gt;
  digitalWrite(CE_PIN, HIGH);&lt;br /&gt;
  delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
  // Slanje 24 bita (N-djelitelj i kontrolni bitovi)&lt;br /&gt;
  // Prvih 16 bita je N&lt;br /&gt;
  for(int i=0; i&amp;lt;16; i++) {&lt;br /&gt;
    digitalWrite(DI_PIN, bitRead(divisor, i));&lt;br /&gt;
    digitalWrite(CL_PIN, HIGH);&lt;br /&gt;
    digitalWrite(CL_PIN, LOW);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // Sljedećih 8 bita su kontrolni (npr. biranje opsega, step)&lt;br /&gt;
  for(int i=0; i&amp;lt;8; i++) {&lt;br /&gt;
    digitalWrite(DI_PIN, bitRead(control, i));&lt;br /&gt;
    digitalWrite(CL_PIN, HIGH);&lt;br /&gt;
    digitalWrite(CL_PIN, LOW);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(CE_PIN, LOW);&lt;br /&gt;
}&lt;br /&gt;
Na šta obratiti pažnju:&lt;br /&gt;
Napon napajanja (VCC): Mnogi ovi tuneri rade na 9V, dok PLL (LC72131) radi na 5V. Ako povežete 5V na VCC, a tuner je predviđen za 9V, dobićete samo šum ili vrlo slab signal.&lt;br /&gt;
&lt;br /&gt;
VT (Varicap Tension): Tuner unutar sebe treba visok napon (često do 12V ili 30V) za &amp;quot;tuning&amp;quot; diodu. Ako je taj napon bio generisan na matičnoj ploči DVD-a, moraćete ga obezbijediti eksterno da bi tuner mogao mijenjati stanice.&lt;br /&gt;
&lt;br /&gt;
Adresa: LC72131 obično koristi adresu 0x82 za pisanje u glavni registar (IN1).&lt;br /&gt;
&lt;br /&gt;
Sledeći koraci&lt;br /&gt;
Da bi ovo postao pravi radio, trebaće vam način da mijenjate frekvenciju. Želite li da vam napišem dopunu koda za dodavanje potenciometra za traženje stanica ili možda LCD ekrana da vidite na kojoj ste frekvenciji?</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108605</guid>
<pubDate>Mon, 16 Mar 2026 11:36:10 +0100</pubDate>
<author>samuki</author>
<category>511455</category>
</item>
<item>
<title>Re: Radio pomoću arduina</title>
<link>https://www.elitesecurity.org/p4108598</link>
<description>Evo ovde imas ceo projekat:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=AijApAxOZ6w&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;user_url&quot;&gt;https://www.youtube.com/watch?v=AijApAxOZ6w&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/firew4lker/AVR_Radio/tree/master&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;user_url&quot;&gt;https://github.com/firew4lker/AVR_Radio/tree/master&lt;/a&gt;</description>
<guid isPermaLink="false">https://www.elitesecurity.org/p4108598</guid>
<pubDate>Mon, 16 Mar 2026 07:33:51 +0100</pubDate>
<author>mpx</author>
<category>511455</category>
</item>
</channel>
</rss>
