|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 8:02 pm
С какъв програматор да започна.
| Автор |
Съобщение |
|
0xff
Ранг: Минаващ
Регистриран на: Пон Сеп 18, 2017 1:52 am Мнения: 75
|
 Re: С какъв програматор да започна.
Излизат ми само такива с цифри а аз искам да е 13 сегментен, да може и букви да пише. https://ru.aliexpress.com/w/wholesale-s ... FreeShip=yВъпроса е че излизат други като напиша "13 segment display". Мой проект е, но съм се объркал : не беше TDA ами TEA5767 който струва жълти стотинки и ти дава signal strength. Лошото е че е по I2C и сканирането става бавно. Незнам дали има такъв по SPI, не съм търсил. Абе то може от дисплея да идва бавенето, незнам. Щото дисплея и той е I2C. Дисплея е от тез малките OLED-ове. На мене лично не ми пречи че сканира бавно, пак върши работа.  |  |  |  | Код: /* * * * * * * * * RF Electronics Spectrum Scanner v.0.0.5 * * * * * * * * */
#include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h>
//#include "rfe.h" // rfe logo
#define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET);
#if (SSD1306_LCDHEIGHT != 64) #error("Height incorrect, please fix Adafruit_SSD1306.h!"); #endif
/**** ***/
int dw; const float pi = 6.047619047619048;
byte buffer[5]; byte signal;
byte firstRun = 1; byte prev[2];
bool disp = false;
/*** ****/
void setup() { // Display init display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //0x3D too // Clear the buffer. display.clearDisplay();
// draw welcome logo //display.invertDisplay(true); //display.drawBitmap(0, 0, rfe, 128, 64, 1); //display.display(); //delay(2000); //display.invertDisplay(false); //display.clearDisplay();
//loading_animation(); display.setTextSize(1); display.setTextColor(WHITE); dw = display.width(); TEA_init(); }
void loop() { display.setCursor(0,0); display.println("87M ____________ 108M"); for(int i=0; i<dw; i++) { //radio.selectFrequency( round((float)i/pi * 10) / 10.0 + 87.00 ); // pi = (dw-1)/(108-87) //radio.selectFrequency( round_to_dp((float)i/pi, 2) + 87.00 ); // pi = (dw-1)/(108-87) //radio.selectFrequency( i/6 + 87 ); //setFrequency( (float)(i/6 + 87) ); //setFrequency( round_to_dp((float)i/pi, 2) + 87.00 ); setFrequency( round((float)i/pi * 10) / 10.0 + 87.00 ); Wire.requestFrom(0x60,5); //reading TEA5767 while(!Wire.available()) ; for (int i=0; i<5; i++) buffer[i]= Wire.read(); signal = buffer[3]; //display.drawPixel(i, 62-radio.getPowerLevel()/5, WHITE); if(firstRun) { display.drawPixel(i, 63-signal/13, WHITE); firstRun = 0; } else display.drawLine(prev[0], prev[1], i, 63-signal/13, WHITE); prev[0] = i; prev[1] = 63-signal/13; display.display(); } prev[0] = 0; prev[1] = 63; firstRun = 1; display.invertDisplay(disp); if(disp) disp=false; else disp=true; display.clearDisplay(); }
void setFrequency(float frequency) { unsigned int frequencyB; unsigned char frequencyH=0; unsigned char frequencyL=0; frequencyB = 4 * (frequency * 1000000 + 225000) / 32768; frequencyH = frequencyB >> 8; frequencyL = frequencyB & 0XFF; //delay(100); Wire.beginTransmission(0x60); Wire.write(frequencyH); Wire.write(frequencyL); Wire.write(0xB0); Wire.write(0x10); Wire.write((byte)0x00); Wire.endTransmission(); //delay(100); }
void TEA_init() { unsigned int frequencyB; unsigned char frequencyH=0; unsigned char frequencyL=0; float frequency=87.5;
frequencyB=4*(frequency*1000000+225000)/32768; //calculating PLL word frequencyH=frequencyB>>8; frequencyL=frequencyB&0XFF;
delay(100);
TWBR = (F_CPU/400000L - 16)/2; Wire.beginTransmission(0x60); //writing TEA5767
Wire.write(frequencyH); Wire.write(frequencyL); Wire.write(0xB0); Wire.write(0x10); Wire.write(0x00); Wire.endTransmission();
delay(100); }
float round_to_dp( float in_value, int decimal_place ) { float multiplier = (float)pow( 10.0f, decimal_place ); in_value = ((float)round( in_value * multiplier )) / multiplier; return in_value; }
|  |  |  |  |
Имам и версия дето управлява варикапното напрежение на NXP I2C телевизионен тунер но незнам как да измеря силата на сигнала, защото неразбирам от IF-ове и миксери.
|
| Вто Сеп 26, 2017 5:50 am |
|
 |
|
gicho
Ранг: Форумен бог
Регистриран на: Пон Мар 13, 2006 1:59 pm Мнения: 3867 Местоположение: Габрово
|
 Re: С какъв програматор да започна.
|
| Вто Сеп 26, 2017 9:26 am |
|
 |
|
s7ama7
Ранг: Почетен член
Регистриран на: Съб Ное 29, 2014 10:11 am Мнения: 774
|
 Re: С какъв програматор да започна.
ОК , благодаря
|
| Вто Сеп 26, 2017 10:07 pm |
|
 |
|
tanev90
Ранг: Минаващ
Регистриран на: Пет Сеп 22, 2017 12:21 pm Мнения: 48
|
 Re: С какъв програматор да започна.
Поръчах си едно нещо от farnell за колко време ще дойде доло горе ако може да кажете .
|
| Пет Сеп 29, 2017 5:53 pm |
|
 |
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 6:26 pm Мнения: 1628 Местоположение: Сливен
|
 Re: С какъв програматор да започна.
През Комет идва за 2-3 работни дни... до София де
|
| Пет Сеп 29, 2017 5:57 pm |
|
 |
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 8:04 pm Мнения: 2663 Местоположение: София / Велико Търново
|
 Re: С какъв програматор да започна.
Най-лесно е да се измери напрежението на АРУ (AGC Automatic Gain Control) Ако обаче ще правиш спектрален анализатор, трябва да изключиш АРУ. Сигнала го вземаш от изхода на детектора.
|
| Вто Окт 03, 2017 8:49 pm |
|
 |
|
tanev90
Ранг: Минаващ
Регистриран на: Пет Сеп 22, 2017 12:21 pm Мнения: 48
|
 Re: С какъв програматор да започна.
Взех си това http://export.farnell.com/stmicroelectr ... dp/2480961 но не знам от къде да започна,хора кажете някой книжка да прочета и кои програми да инсталирам. ПС: Нов съм и то много рабирам единствено от с++ и то не на добро ниво  .
|
| Сря Окт 04, 2017 7:47 am |
|
 |
|
gicho
Ранг: Форумен бог
Регистриран на: Пон Мар 13, 2006 1:59 pm Мнения: 3867 Местоположение: Габрово
|
 Re: С какъв програматор да започна.
Какво търсиш - графична среда (IDE) от типа на VS/Eclipse или си ок с работа в конзолата (make и приятели)? С какво конкретно си се занимавал досега (това C++ дето казваш), какви неща си правил, какво искаш да постигнеш в близко бъдеще? Ученето на определен език (C/C++) изобщо не е нужно да е на ембедед. Всъщност май вече споменаха че в ембедед проектите по-важното и основополагащо е да имаш идея какво ще пишеш, а не как. Имам предвид да последваш някакъв pattern, или по-общо programming paradigm и да я учиш нея. Ако си учил/ползвал т.нар. процедурно императивно програмиране ще можеш да го прехвърлиш като подход в ембедед, но не е оптимален. Първото което трябва да схванеш (мое мнение, несподелено от някой колеги тук) е че ембедед системата се изучава/разглежда/моделира/програмира като event базирана такава. Класическите threading модели познати от големите ОС-ове могат да се прехвърлят за ползване на ембедед (имам предвид ограничени откъм ресурс устройства) но единствения плюс е че този стил е познат на програмистите работили "на PC". Неприятното е че за да разбереш тези идеи трябва да погледнеш с отворено съзнание преди още да си написал и един ред код. Ако все пак решиш да тръгнеш натам, т.е. оставиш писането за следобед, погледни модела на Active Objects: https://state-machine.com/doc/concepts - както и всичко останало на този сайт Там има линк към този документ, ще го закача като отделен линк понеже е основополагащ: http://www.kellytechnologygroup.com/main/concurrent-embedded-systems-website.pdfАко те запали идеята има много информация из нета по темата. Сега, далеко е от блинки или hello world но мнението ми е че първо трябва да разбереш какво и защо ще програмираш.
|
| Сря Окт 04, 2017 8:36 am |
|
 |
|
tanev90
Ранг: Минаващ
Регистриран на: Пет Сеп 22, 2017 12:21 pm Мнения: 48
|
 Re: С какъв програматор да започна.
Всичко ми е ново с++ в училище съм го учел и от интернет някой друга книжка,за проекти дума да не става,а все пак още уча.Ще взема да чета това което си постнал и ще се инсталирам eclipsa.Мерси за отделеното време.
|
| Сря Окт 04, 2017 8:58 am |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: С какъв програматор да започна.
gicho, къде го хвърляш в оркестъра? tanev, ще трябва да си избереш компилатори, среди, библиотечки... Има голямо разнообразие и още по-голямо безобразие, затова е трудно да се правят препоръки. Това до голяма степен е личен избор, както някои избират да работят с лайнукс, други с боза. И всеки ще ти каже че неговото е по-по-най... Всъщност най-доброто, което може да направиш е да хвърлиш по едно око на различни варианти. Но затова се иска време... бая време. Затова на въпроса "накъде да тръгна" обикновено отговарям "а къде искаш да стигнеш и за колко време?" 
|
| Сря Окт 04, 2017 9:04 am |
|
 |
|
tanev90
Ранг: Минаващ
Регистриран на: Пет Сеп 22, 2017 12:21 pm Мнения: 48
|
 Re: С какъв програматор да започна.
Ами до каде искам да стигна ли,колкото се може по напред,не мога да си избера нищо за ся на къде да тръгна ,за IDE на eclipse става дума за PolarSys нали.А и аз даже незнам discovery-то какво може да прави,сигурно хубави работи 
|
| Сря Окт 04, 2017 11:35 am |
|
 |
|
0xff
Ранг: Минаващ
Регистриран на: Пон Сеп 18, 2017 1:52 am Мнения: 75
|
 Re: С какъв програматор да започна.
И на мен ми хрумна това ама не ми звучеше добре. Как да го изключа, като му подам фиксирано напрежение ли ? Къде има детектор ?
Последна промяна 0xff на Сря Окт 04, 2017 11:53 am, променена общо 1 път
|
| Сря Окт 04, 2017 11:51 am |
|
 |
|
gicho
Ранг: Форумен бог
Регистриран на: Пон Мар 13, 2006 1:59 pm Мнения: 3867 Местоположение: Габрово
|
 Re: С какъв програматор да започна.
За това какво може да прави удари едно търсене в youtube. После виж в каква посока ще те повлече.
|
| Сря Окт 04, 2017 11:52 am |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: С какъв програматор да започна.
Има един принципен проблем... донякъде е и дилема това. Значи от една страна всеки начинаещ предпочита по-визуални среди. Инсталираш отваряш един джам, с мишката избираш проц, избираш това, избираш онова, натискаш да компилира и т.н. На пръв поглед тези среди изглеждат по-удобни, обикновено и са по-лъскави щото са комерсиални, абе примамливо е... От друга страна имаш едни опън сорс инструменти, които много разчитат на текстообратката. В това число се ползват конзоли, грозни команди, незнайни параметри и т.н. Тези два типа инструменти - текстови и визуални се различават доста. Всеки има предимства и недостатъци. Очевидно визуалните изглеждат по-красиво. Но пък са по-ограничени, защото джамовете са с фиксирани полета, пръкват се в предварително заложен ред и т.н. С една дума вкарват те в една рамка, в която няма мърдане. Силата на текстовите инструменти пък свободата да променяш. Обикновено са мноого отделни инструментчета, които ти трябва да извикаш в някакъв ред. Този ред не е твърдо фиксиран. Придържането към текста не е от мазохизъм, а от нуждата да програмираш. Просто засега текстовата форма е най-близко и най-удобна за програмиране. Затова и повечето програмни езици са в текстова форма, визуалното програмиране нещо не може да се наложи... Недостатъкът пък е, че по-трудно се учи, изисква повече време... Стана дълго, но това е дилемата дето трябва да решиш. Дали ще ползваш визуалния път и бързо и лесно ще подкараш нещо, или по-трудния път 
|
| Сря Окт 04, 2017 12:39 pm |
|
 |
|
tanev90
Ранг: Минаващ
Регистриран на: Пет Сеп 22, 2017 12:21 pm Мнения: 48
|
 Re: С какъв програматор да започна.
Ми за сега ще е визуалния ,не мога по другия просто,по нататък както викаш е по добре по другия и него ще мина.А и да попитам с discovery-то могат ли да се програмират по стари например ATmega8515.
|
| Сря Окт 04, 2017 12:47 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|