Recyklácia systému hlbinných vôd Kolokolov-Shchedrin. Rozdiely od pôvodnej schémy:
1. Na čipe k561 .. nie je krištáľový NO oscilátor a kremeň 32 kHz. Signál 32 kHz dáva Arduino Pro Mini.
2. Nie sú prítomné ani zvukové oznamovacie obvody na niekoľkých mikroobvodoch radu 561, Arduino tiež vyjadruje cieľ (a musím povedať, že je vynikajúci, v porovnaní so schémou autora).
3. Napájané unipolárnym napätím 12 V (olovená batéria).
4. Nastavte citlivosť pomocou tlačidiel. Pri stupnici ADC od 0 do 1023 je prah odozvy nastaviteľný od 1 do 38 (hodnotu je možné ľahko zmeniť v náčrte).
Najdôležitejšie je, že som v tomto článku chcel ukázať, že je možné zostaviť MD na Arduino, ktoré nie sú v porovnaní s pôvodnou citlivosťou nižšie (to sa vypracovalo, pretože originály pôvodného obvodu boli zhromaždené rádovo 10 kusov, takže existuje materiál na porovnanie). Pôvodný okruh:
Keď som prvýkrát začal pracovať s Arduino, bol som taký nadšený, že som si myslel, že môžem nájsť a zostaviť akékoľvek obvody detektorov kovov z internetu na Arduino, ktoré by som mohol ľahko nájsť v obrovskej skládke odpadu. V zásade sa to ukázalo takto, ale obvody boli založené na frekvenčnom čítači, ktorý neumožnil dosiahnutie skutočne dobrého rozsahu. Niektoré hračky pre deti a test pera + sa snažia zarobiť peniaze pre začiatočníkov. Originál tohto MD je skutočný workhorse, ktorý vám umožní nájsť veľké objekty vo vzdialenosti 2 m (pozrite si knihu Kolokolov-Shchedrin v Google). O transformovanom md neexistujú žiadne štatistiky. Dúfam, že sa objaví s podporou fanúšikov MD a Arduino. Program spolupracoval s Arduino Uno a Arduino Pro Mini.
Ďalej na odkaze je na webe Spájkovačka, ktorý trval viac ako jeden rok, uvedený priebeh narodenia tohto MD, ktorý nútil autora študovať programovacie duíny. Možno sa zdá, že náčrtok bude niekomu ubohý - s radosťou prijmem vaše FIXY.
V tejto chvíli je k dispozícii nákres, ktorý vám umožňuje nastaviť bariéru citlivosti (pin 7 douins +1 k bariére, pin 8 -1 k bariére). ,
Arduino o mini 5v, 16MHz, ATmega168 a displej ich použili. Vedľa mierky je adaptér Mini SD
Ako už bolo povedané, 1602 stojí 86 rubľov, ProMini - 82 rubľov. Ak si želáte, môžete spravidla vziať nahý model ATmega168, vyvinúť dosku a vyplniť náčrt priamo do neho.A tak napríklad pomocou konektora som na MD dosku nainštaloval mama-otec. Na fotografii je Arduino 6-kolíková zástrčka, cez ktorú boli nalievané náčrtky priamo na dosku.
Sketch-MD.Rx-Tx.ProMini.SrednjajaTochkaRegBar.ino
// Analógový vstup A3 pre voltmeter
// Analógový vstup A4 pre signál
// 6- záver zook
// - výstupná frekvencia 31200 Hz
#include
Liquid Crystal lcd (12, 11, 5, 4, 3, 2);
bajt z1 [8] = {// ikona batérie
0b01100, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110};
int počítané = 0; // premenná na uloženie hodnoty úrovne mierky
int voltag = 0; // premenná na uloženie hodnoty napätia
int noll = 0; // premenná na uloženie hodnoty stredného bodu
#definujte NUM_SAMPLES 10 // 10 analógových vzoriek na čítanie za 1 sekundu
int súčet = 0; súčet odobratých vzoriek
int sun = 0; // rovnaké, ale vydelené 10
unsigned char sample_count = 0; // číslo aktuálnej vzorky pomocou
plavákové napätie = 0,0; vypočítané napätie
const int button1 = 7; // bariéra plus tlačidlo
tlačidlo konšt. int2 = 8; // tlačidlo mínus bariéra
int i = 5; // bariéra
neplatné nastavenie () {
lcd.begin (16, 2); // zobrazenie inicializácie
lcd.setCursor (1, 0);
lcd.setCursor (10, 1);
lcd.print ("Rx-Tx");
oneskorenie (3000);
lcd.clear ();
TCCR1A = TCCR1A & amp; 0xe0 | 2;
TCCR1B = TCCR1B & 0xe0 | 0x09;
analogWrite (9, 126); // na kolíku 10 PWM = 50% f = 31200 Hz
lcd.createChar (1, z1);
}
void loop () {
int buttonState1 = HIGH; // Stav tlačidla je jeden
int buttonState2 = HIGH; // Stav dvoch tlačidiel
sample_count = 0; // vynuluje obrys počtu dodatkov
súčet = 0; // resetuje súčet 10 pridaní
while (sample_count = noll + i) {počítané = mapa (slnko, noll + i, noll * 2 - 250, 9, 14);
// ak je prijatý výsledok v 9-15. segmente stupnice
tón (6, počet * 100);}
if (sun <= noll - i) {počítané = mapa (slnko, 116, noll - i, 0, 7);
// ak je výsledným výsledkom 0-7 segment stupnice
tón (6, počet * 50); }
ak (slnko a slnko = noll - (i-1)) {počítané = 7;
noTone (6); } // ostrovček virtuálnej nuly (7 segment)
ak (slnko & noll & slnko <= noll + (i-1)) {počítané = 8;
noTone (6); } // ostrov virtuálnej stupnice nuly (8 segmentov)
{lcd.setCursor (počítané, 0); // nastavte kurzor na stĺpec počítania, riadok 0
lcd.print ("\ xff"); // vyplnená ikona
lcd.setCursor (0, 1); // presunúť na 2 riadok, stĺpec-0
lcd.print (char (1)); // Indikácia ikony batérie
lcd.setCursor (1, 1); // prejsť na indikáciu napätia
lcd.print (napätie); // napätie
lcd.setCursor (7, 0); // 8. stĺpec 1. riadok
if (sun noll) {lcd.print ("}");} // print
lcd.setCursor (7, 1);
lcd.print ("B =");
lcd.setCursor (9, 1); // 11 stĺpec 2. riadok
lcd.print (i); // bariéra
lcd.setCursor (13, 1); // tretí stĺpec, druhý riadok
lcd.print (slnko); // vytlačí priemernú hodnotu hodnoty ADC
oneskorenie (100); // počkaj
buttonState1 = digitalRead (button1); // Stav tlačidla na čítanie 1
buttonState2 = digitalRead (button2); // Stav tlačidla na čítanie 2
ak (buttonState1 == LOW) {i = i + 1; oneskorenie (50);}
// Po stlačení tlačidla bariéra narastie o 1. Oneskorenie 50
if (buttonState2 == LOW) {i = i - 1; oneskorenie (50);}
// Po stlačení tlačidla sa bariéra zníži o 1. Oneskorenie 50
ak (i <1) {i = 1;} // Dolná hranica bariéry
if (i> 38) {i = 38;} // Horná hranica bariéry
lcd.clear ();
}
}
Auto som nepoužil. Posledné dva prvky TL074 zostali nečinné. Ale na okruhu a na palube sú. Možno ich budete chcieť uviesť o trochu neskôr. Verím, že som dosiahol svoj cieľ. Zobrazovacia jednotka funguje úžasne. Všetko ostatné závisí od MD.