Zendamateur.COM

24 uur per dag QRV
Het is nu 16 aug 2018, 02:12

Alle tijden zijn GMT + 1 uur




Plaats een nieuw onderwerp Antwoord op onderwerp  [ 11 berichten ] 
Auteur Bericht
 Berichttitel: S-Meter History Arduino
BerichtGeplaatst: 11 okt 2016, 19:48 
Offline
Avatar gebruiker

Geregistreerd: 08 mei 2011, 18:03
Berichten: 992
Hallo Allemaal,


Ik ben begonnen aan het maken van een arduino schakeling
voor aan een Yaesu FT817.

Het wordt dus een Arduino Nano met Pixel LCD display
aan een Nano met een RS232 naar cat control FT817

Dus een stand alone kastje aan het Yeasu setje

Ideaal voor Vossen-jagen maar natuurlijk ook
voor gewoon mee kijken als je via repaeter mobile mee luisterd etc

Ik zal regelmatig hier proberen vorderingen te tonen van de sketch en de hardware

Zie plaatje zoals ik het al werkend heb op de PC in MyMapping,exe software.


Bijlagen:
Opmerkingen bij bestand: Picture of ft817 on 144800
S meter history in MyMapping

FT817 APRS.png
FT817 APRS.png [ 128.3 KiB | 2289 keer bekeken ]

_________________
73's
PA3BNX
Lodewijk

Mijn Credo!

Zelfbouw:
Minimaal hardware
en maximaal software.
Omhoog
 Profiel  
Antwoord met een citaat  
BerichtGeplaatst: 14 okt 2016, 13:33 
Offline
Avatar gebruiker

Geregistreerd: 08 mei 2011, 18:03
Berichten: 992
Hallo Allemaal,


Alvast een voor proefje

Met yaesu ft817 en cat62 kabel is een max232 nodig denk ik

Aangesloten op pin 0 en 1
Dus moet er af als je wilt programmeren via de USB<>PC

Nu nog op zoek naar een geschilkt Display

Dat moet een pixel display zijn denk ik dus geen Alfa nummeriek display


Setupje voor de FT817 Arduino Code.

Alleen nog aan de slag in de GFXDisplay() routine

Alle verzamelde Smeter values staan in arrS[]

Alle hulp en commentaar welkom !!!!

Code:

/* PA3BNX FT817 S-meter
 * 12-10-2016
 * 13-10-2016
 * I understand that the Arduino Uno and Nano have just one UART
 * so we must connect a max232 on pin 0 and 1
 * Todo communication to the FT817 with Cat62 Yaesu Cable
 * One INPUT pin with button for Reset The S meter display
 */

//Integer
const int cDelayTime=1000;
const byte cUarray=100;
const byte cEmpty=255;
const byte cResetPin=2;

//String
String inputString;
//Bool
bool bStringComplete;
//Array
byte arrS[cUarray];

//Functions
void AddNewSmeter(byte s)
{
static int c;

//With 255 just reset pointer
if (s==cEmpty) {c=0;return;}

c+=1;

if (c>cUarray)
{
  for (byte i=1;i<cUarray;i++)
  {
   arrS[i-1]=arrS[i];
  }
 c=cUarray;
}

arrS[c]=s;
}//Last StoreSmeter


void AskFreqFT817()
{
  //Read RX Status
  //x,x,x.x,e7 (231)
  byte buf[]={0,0,0,0,231};
  Serial.write(buf,5);
}//Last Ask


void ClearSmeter()
{
for (int i=0;i<cUarray;i++)
 {
  arrS[i]=cEmpty;
 }
}//Last ClearSmeter

byte ExtractFT817Smeter(String MyString)
{
  //Not ready yet
  //Read RX Status
  //x,x,x.x,f7  (247)
  //76543210
  //3210=S meter data
  //7=Squels
  byte x;
  byte buf[5];

  MyString.getBytes(buf,5);
     
  if (buf[4]==247)
  {
   if (buf[0] && 1) {x+=1;}
   if (buf[0] && 2){x+=2;}
   if (buf[0] && 4){x+=4;}
   if (buf[0] && 8){x+=8;}
   //x ranges between 0 and 15
   return x;
  }
   return cEmpty;
}//Last ExtractFT817Smeter

void SerialEvent()
 {
   while (Serial.available()) {
    //get the new byte:
    byte inByte=(byte)Serial.read();
   
    if (inputString.length() > 4 )
     {
      bStringComplete=true;
     }
     else
     {
      //add it to the inputString:
      inputString+=inByte;
     }
   }
 }//Last SerialEvent
   

void GFXDisplay()
{
//Show here the Values in arrS[]
//On a Display
for (byte i=0;i<cUarray;i++)
{
 if (arrS[i]=cEmpty){return;}
 //Draw here values from arrS[]
}
}//Last GFXDisplay

void setup() {
  // put your setup code here, to run once:
Serial.begin(4800);

pinMode(13,OUTPUT);//Led 13 as Received Cat-ft817 cmd
pinMode(cResetPin,INPUT_PULLUP);

ClearSmeter();
AddNewSmeter(cEmpty);

}

void loop() {
  // put your main code here, to run repeatedly:

byte count;

AskFreqFT817();

SerialEvent();

delay(cDelayTime);

 tryagain:

if (bStringComplete==true)
{
 digitalWrite(13,HIGH);//Something RXed

 if (digitalRead(cResetPin)==LOW)
 {
  ClearSmeter();
  AddNewSmeter(cEmpty);
  GFXDisplay();
 }
 
 if (inputString != "")
  {
   byte s = ExtractFT817Smeter(inputString); 
   AddNewSmeter(s);
   GFXDisplay();
  }
  digitalWrite(13,LOW);//Processed Something RXed
 }
else
 {
  //Try max 10 times before ask for new Smeter
  count+=1;
  if (count<10)
   {
    //Wait for RXed data
    SerialEvent();
    goto tryagain;
   }
   
 }//Last bStringComplete

 inputString="";
 bStringComplete=false;
 count=0; //Not needed I think because loop starts again

}//Last Loop




Bijlagen:
max232-ft817.jpg
max232-ft817.jpg [ 67.64 KiB | 2183 keer bekeken ]

_________________
73's
PA3BNX
Lodewijk

Mijn Credo!

Zelfbouw:
Minimaal hardware
en maximaal software.
Omhoog
 Profiel  
Antwoord met een citaat  
BerichtGeplaatst: 14 okt 2016, 14:14 
Offline

Geregistreerd: 19 jul 2010, 14:43
Berichten: 617
Vroeger gebruikte ik altijd braaf de MAX232 maar met het gebruik van USB to RS232 converters is het niet meer nodig, die dingen werken prima op 5 volt en er komt ook niet veel meer uit.

Let op dat de MAX232 het signaal inverteert.

Wat ik tegenwoordig doe is een FTDI chippie inbouwen, te koop voor een kleine 2 euro, dan kan ik mijn project direct op de USB poort aansluiten. geen geklooi meer fysieke met com poorten ( die op veel computers al helemaal niet meer aanwezig zijn)


Bijlagen:
FTDI-RS232.jpg
FTDI-RS232.jpg [ 19.37 KiB | 2165 keer bekeken ]
Omhoog
 Profiel  
Antwoord met een citaat  
BerichtGeplaatst: 04 nov 2016, 19:41 
Offline
Avatar gebruiker

Geregistreerd: 08 mei 2011, 18:03
Berichten: 992
Hallo Allemaal,

Tsja toch een max232 op gaatjes print gezet.

Bij USb spreekt men van Master en slave
De bedoeling is van Arduino naar FT817 dus niet naar USB van de PC

Het Display moet ik nog uitzoeken
Ik wil het niet wagen om de poortjes
direct op 5 volt van de arduino uno te zetten.

Ben op zoek naat level converter printjes etc

morgen op DvRA


Bijlagen:
BackILS-1.jpg
BackILS-1.jpg [ 68.73 KiB | 1995 keer bekeken ]
FrontILS-1.jpg
FrontILS-1.jpg [ 74.73 KiB | 1995 keer bekeken ]
Max232-2-1.jpg
Max232-2-1.jpg [ 76.54 KiB | 1995 keer bekeken ]

_________________
73's
PA3BNX
Lodewijk

Mijn Credo!

Zelfbouw:
Minimaal hardware
en maximaal software.
Omhoog
 Profiel  
Antwoord met een citaat  
BerichtGeplaatst: 08 jul 2018, 18:18 
Offline
Avatar gebruiker

Geregistreerd: 08 mei 2011, 18:03
Berichten: 992
Hallo Allemaal,

Ben spelende met LCD5110

en een nano arduino

Smeter History

Nog niet klaar maar alvast een probeerseltje

Code:
/*
 * ===============================
 *((C))PA3BNX FT817 Smeter History
 * with Nokia LCD5110 Display
 * 06-07-2018
 */

#include <Adafruit_GFX.h>
#include <Adafruit_SPITFT.h>
#include <Adafruit_SPITFT_Macros.h>
#include <gfxfont.h>

#include <Adafruit_PCD8544.h>

// Software SPI (slower updates, more flexible pin options):
// pin 7 - Serial clock out (SCLK)
// pin 6 - Serial data out (DIN)
// pin 5 - Data/Command select (D/C)
// pin 4 - LCD chip select (CS)
// pin 3 - LCD reset (RST)

Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

//Int
int t = 2000;


void Demo()
{
 SmeterHistoryFT817(16);  //Reset
for (int i = 0;i<368;i++)
{

if (i >= 100 && i< 150)
  {
  SmeterHistoryFT817(11);
  }
  else
  {
   SmeterHistoryFT817(random(0,15));
  }
 delay(70);
}
}//Last Demo


void SmeterHistoryFT817(byte rssi)
//ToDo try to draw
{

const int UboundArr=168;
static byte Smeter[UboundArr];
static int count=0;
int i;

if (rssi==16){
  count = 0 ;
  for (i=0 ; i < UboundArr-i ; i++)
  {
    Smeter[i]=0;
  }
  display.clearDisplay();
  display.display();
  return;
}

if (count<UboundArr)
{
 Smeter[count]=rssi;
 count ++;
}
 else
{
 for (int i=1;i<UboundArr;i++)
 {
  Smeter[i-1]=Smeter[i];
 }
  Smeter[UboundArr-1]=rssi;
}


display.clearDisplay();//Clear Buffer

for ( i=0;i<count ;i++)
 {
  if (i > UboundArr/2)
  {
  //Lower
  display.drawLine(i-UboundArr/2 ,display.height()-1,i-UboundArr/2,display.height()-1 - Smeter[i], BLACK);
  }
  else
  {
  //Upper
  display.drawLine(i,display.height()/2,i,display.height()/2 -Smeter[i],BLACK);
  }
 }

display.display();//Show Now
}


void setup() {
  // put your setup code here, to run once:
 Serial.begin(9600);

  display.begin();
  // init done

  // you can change the contrast around to adapt the display
  // for the best viewing!
  display.setContrast(50);
  display.clearDisplay();
  display.setCursor(0,12);
  display.setTextSize(1);
  display.println(F("((C))PA3BNX"));
  display.setTextSize(2);
  display.println(F("FT817"));
  display.println(F("S-Meter"));
  display.display();
  delay(2000);
}

void loop() {

 // put your main code here, to run repeatedly:

Demo();


delay(t);

 

}


Bijlagen:
Opmerkingen bij bestand: 5110 + Arduino-nano
met demo SmeterHistory

DSC01776.JPG
DSC01776.JPG [ 1.23 MiB | 919 keer bekeken ]

_________________
73's
PA3BNX
Lodewijk

Mijn Credo!

Zelfbouw:
Minimaal hardware
en maximaal software.
Omhoog
 Profiel  
Antwoord met een citaat  
BerichtGeplaatst: 25 jul 2018, 18:30 
Offline
Avatar gebruiker

Geregistreerd: 08 mei 2011, 18:03
Berichten: 992
Hallo Allemaal,

Nog steeds druk bezig met de S meter History..

Er komt ook een buzzer aan die hoger piept als sterkte groter word

en natuurlijk een schakelbare weergave met analoge S meter
getekend op de nokia 5110 display.

En een max 232 voor naar de FT817 met cat62 kabel...

Binnenkort nieuwe foto en arduino sketch.

_________________
73's
PA3BNX
Lodewijk

Mijn Credo!

Zelfbouw:
Minimaal hardware
en maximaal software.


Omhoog
 Profiel  
Antwoord met een citaat  
BerichtGeplaatst: 05 aug 2018, 17:17 
Offline
Avatar gebruiker

Geregistreerd: 08 mei 2011, 18:03
Berichten: 992
Hallo Allemaal,

Nog een plaatje van arduino ft817 steek bordje

Nu met druk knopjes en de max232 met male<>male gender

Ook een piezo buzzer ook een piezo buzzer aangeloten
voor audible S meter uit horen met de stamtonen
440-1769 Hz dacht ik..


Zit nog steeds te knutselen met de ft817 routines aan cat 62


Bijlagen:
Opmerkingen bij bestand: FT817 cat62 kabel
foto van de db9 stekker

max232 met 4 x 100nF en 5V regulator

cat62.JPG
cat62.JPG [ 1.23 MiB | 402 keer bekeken ]
Opmerkingen bij bestand: FT817 History
Arduino + Nokia5110

Smeter+max232.JPG
Smeter+max232.JPG [ 1.23 MiB | 402 keer bekeken ]

_________________
73's
PA3BNX
Lodewijk

Mijn Credo!

Zelfbouw:
Minimaal hardware
en maximaal software.
Omhoog
 Profiel  
Antwoord met een citaat  
BerichtGeplaatst: 05 aug 2018, 19:15 
Offline

Geregistreerd: 06 feb 2013, 10:22
Berichten: 389
Vanwaar de overstap naar het andere display? Ik vermoed 3.3V voor het oude vs 5V voor het Nokia display?

De reden dat ik het vraag is dat ik ook zo'n probleem had, en geen level shifter op voorraad had, maar wel een Arduino pro mini. En die werken zowel op 3.3V (8MHz, maar dat is genoeg voor je projectje lijkt mij) als 5V met de bekende 16MHz draaien. Verder hebben ze dezelfde Atmega328 als de Nano.


Omhoog
 Profiel  
Antwoord met een citaat  
BerichtGeplaatst: 06 aug 2018, 08:47 
Offline

Geregistreerd: 14 nov 2007, 18:56
Berichten: 1217
Woonplaats: Zuidbroek
Ken je dit met een ubitx en nextion display?
http://www.hamskey.com/2018/08/ubitx-firmware-cec-version-1097beta.html#more

Kees


Omhoog
 Profiel  
Antwoord met een citaat  
BerichtGeplaatst: 06 aug 2018, 18:19 
Offline
Avatar gebruiker

Geregistreerd: 08 mei 2011, 18:03
Berichten: 992
Hallo Allemaal,

Tsja omgeschakeld naar de Nokia LCD 5110 omdat ie cheap is
en goed afleesbaar en ja werkt op 3.3V van de Arduino nano


Het belangrijkste is de audio buzzer voor S meter
en de history balken....

Dus niet voor frequentie, mode etc.....

Dus dingen die niet op de FT817 zitten...

Zit nu nog steeds te stoeien met de FT817 cat routines in lezen en
S meter uit lezen ...



Misschien maak ik ook nog de discriminator uitlezing erop
zodat je in FM kunt zien of je naast de frequentie van de vos staat.

Primair bedoeld dus voor Vossen-jagen op VHF/UHF ...

Leuk is natuurlijk ook om er een ad8307 aan te hangen aan een adc pootje zodat je een veldsterkte
meter hebt...

_________________
73's
PA3BNX
Lodewijk

Mijn Credo!

Zelfbouw:
Minimaal hardware
en maximaal software.


Omhoog
 Profiel  
Antwoord met een citaat  
BerichtGeplaatst: 14 aug 2018, 20:02 
Offline
Avatar gebruiker

Geregistreerd: 08 mei 2011, 18:03
Berichten: 992
Hallo Allemaal,

Nog steeds niet alles werkende

Maar alvast de ino File


Ik krijg de rs232 met max232 maar steeds niet werkend met de FT817

De rest echter wel...

RX receive van de FT817

Het is een software RX probleemde juiste stream

Er komt wel data binnen op de software serial poort maar niet alle 5 bytes...


Nog maar een poosje stoeien met de sketch denk ik.


Bijlagen:
Nokia5110-ino.txt [8.38 KiB]
4 keer gedownload

_________________
73's
PA3BNX
Lodewijk

Mijn Credo!

Zelfbouw:
Minimaal hardware
en maximaal software.
Omhoog
 Profiel  
Antwoord met een citaat  
Geef de vorige berichten weer:  Sorteer op  
Plaats een nieuw onderwerp Antwoord op onderwerp  [ 11 berichten ] 

Alle tijden zijn GMT + 1 uur


Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 5 gasten


Je mag geen nieuwe onderwerpen in dit forum plaatsen
Je mag niet antwoorden op een onderwerp in dit forum
Je mag je berichten in dit forum niet wijzigen
Je mag je berichten niet uit dit forum verwijderen
Je mag geen bijlagen toevoegen in dit forum

Zoek naar:
Ga naar:  
Powered by phpBB® Forum Software © phpBB Group
phpBB.nl Vertaling