Analog Devices ADL6010 czyli detector do 44 GHz
ADL6010
W ramach zabawy w nauke Arduino/STM32 moge pomoc wesoły
Posiedzialem chwile po poludniu i jak narazie wydlubalem sobie przetwornik analogowo - cyfrowy wbudowany w Ardka, docelowo pewnie powinien byc osobny jak najblizej glowicy. Szybkosc rozwoju softu w jezyku wysokiego poziomu jest nieporownywalna. Wiekszosc czasu przypominalem sobie po prostu C i popelnialem glupie bledy przypominajac sobie czego nie wolno robic pan zielony

Testowy uklad wyglada nastepujaco bardzo szczęśliwy



W najblizszym czasie pewnie polutuje jakis AD8307 na szybko na pajaku i porownam zachowanie z "normlanym" miernikiem.

Aha, no i oczywiscie zapomnialem - kod programu zeby pokazac jak wielkie ulatwienie mamy teraz dostepne:
[quote="code"]
/*
* Testowy program do wyswietlacza i innych zabawek
*
*/

// Dolaczane naglowki
#include <Adafruit_GFX.h>
#include <IIC_without_ACK.h>
#include "oledfont.c"

// Definicja pinow I/O do komunikacji
// Arduino Mega ma domyslnie dla I2C: SDA = 20, SCL = 21
#define OLED_SDA 20
#define OLED_SCL 21

// Okreslenie wejscia ADC
#define ADC0 0
String ADC0value="", ADC0valueDB="";
float ADC0valueFloat=0, ADC0valueDBFloat=0;

// Inicjalizacja obiektu
IIC_without_ACK wyswietlacz(OLED_SDA, OLED_SCL);


void setup()
{
// Inicjalizacja wyswietlacza
wyswietlacz.Initial();
// Wyczyszczenie wyswietlacza
wyswietlacz.Fill_Screen(0x00);
// Serial.begin(9600);
delay(10);
}


void loop()
{
// Odczytanie wejscia przetwornika ADC, zapisanie do stringa oraz tablicy char
ADC0valueFloat = analogRead(ADC0)*5.0/1023;
ADC0valueDBFloat = 20 * log10(ADC0valueFloat/0.001);

ADC0value=String(ADC0valueFloat)+" V";
ADC0valueDB=String(ADC0valueDBFloat)+" dBmV";

char ADC0valueChar[ADC0value.length()+1];
ADC0value.toCharArray(ADC0valueChar, ADC0value.length()+1);

char ADC0valueDBChar[ADC0valueDB.length()+1];
ADC0valueDB.toCharArray(ADC0valueDBChar, ADC0valueDB.length()+1);

// Tutaj juz normalnie piszemy - dla 8x16 max dlugosc linii to 16 znakow
wyswietlacz.Char_F8x16(0, 0, "Wartosc napiecia");
wyswietlacz.Char_F8x16( ( (16-ADC0value.length())*8/2 ), 4, ADC0valueChar);
wyswietlacz.Char_F8x16( ( (16-ADC0valueDB.length())*8/2), 6, ADC0valueDBChar);

delay(500);
}
[/quote]

pz


  PRZEJDŹ NA FORUM