Software details
ok, the software,....
By an Arduino 2560. You will need almost all inputs and outputs ! By an Arduino extender. I used it for adding some little components to handle signals between PA and Transceiver. By also 100 10nF ceramic capacitors and solder one over every input and output of the Arduino.
Install IDE on your PC/laptop, and start playing with it, so you get familiar with the IDE software, file management, etc.
I can recommend you to do some little projects free to download, to get a feel of C. Well,...C can be pretty irritating....
Make sure you have an adequate DC supply, and connect the Arduino via the USB to your laptop.
I will not give you all the code here, but give you some start up stuff to get started.
The program has three parts
- declaring all kinds of constants, ints etc. Defining start up values
- voids, a whole bunch of subroutines
- the loop, which the Arduino is continuously running until you reset it or put of the supply voltage.
Example one: The liquid cristal display, four lines, twenty positions
---------------------------------------------------------------------------------------------------------------------------------------
//Programme for PA
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//LCD-Screen
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 20 chars and 4 line display
-----------------------------------------------------------------------------------------------------------------------------------------
With this few lines you can get your display working.
To get something on the display, use this setting up
------------------------------------------------------------------------------------------------------------------------------------------
lcd.init(); // initialize the lcd
------------------------------------------------------------------------------------------------------------------------------------------
I use these lines during the setting up to put my initial info on the screen
-------------------------------------------------------------------------------------------------------------------------------------------
Start_Screen();
-------------------------------------------------------------------------------------------------------------------------------------------
The code for the Start_Screen subroutine is:
--------------------------------------------------------------------------------------------------------------------------------------------
void Start_Screen()
{
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("xx V Id=xx xx Antx");
lcd.setCursor(0,1);
lcd.print("xx.x Pi=x.x 60% ????");
lcd.setCursor(0,2);
lcd.print(" Po=xxx SWR=x.xx");
lcd.setCursor(0,3);
lcd.print("xxxW Pr=xxx xxC ");
}
---------------------------------------------------------------------------------------------------------------------------------------------
In the loop I put code to enter the values on the screen, i.e.:
----------------------------------------------------------------------------------------------------------------------------------------------
//loop code
lcd.setCursor(8,1);
lcd.print(" ");
lcd.setCursor(8,1);
lcd.print(I_P_A); // I_P_A is the value of the input power, which I measure in a subroutine (void).
//for experimenting with this you can also do "hi there !" instead of I_P_A.
-----------------------------------------------------------------------------------------------------------------------------------------------
If you understand the above, and get this working, you can basically understand my whole program.
It is not that complex. But it is a lot,.....many buttons, switches, etc.
If you really want to go further, give me a call or mail, and I will send you the whole code.
Have a lot of fun !
Loek,
PE0MJX
Create Your Own Website With JouwWeb