Kolokolova-Ščedrina dziļūdens shēmas pārstrāde. Atšķirības no sākotnējās shēmas:
1. K561 .. mikroshēmā un 32 kHz kvarcā nav kristāla oscilatora. 32 kHz signāls dod Arduino Pro Mini.
2. Nav arī skaņas signālu shēmas vairākām 561 sērijas mikroshēmām, Arduino arī izsaka mērķi (Un jāsaka, ka tā ir lieliska balss, salīdzinot ar autora shēmu).
3. Darbojas ar vienpolu 12 V spriegumu (svina-skābes akumulators).
4. Pielāgojiet jutīgumu ar pogām. Ar ADC skalu no 0 līdz 1023 reakcijas slieksnis ir regulējams no 1 līdz 38 (skicē vērtību var viegli mainīt).
Vissvarīgākais, es gribēju parādīt šajā rakstā, ka Arduino ir iespējams montēt MD, kas jutīgumā nav zemāki par oriģinālu (tas izstrādāts, jo oriģinālās shēmas oriģināli tika savākti pēc 10 gabalu pasūtījuma, tāpēc salīdzināšanai ir materiāls). Sākotnējā shēma:
Kad es pirmo reizi sāku strādāt ar Arduino, es tik ļoti iedvesmojos, ka man likās, ka Arduino varēšu atrast un samontēt jebkuru metāla detektoru shēmas no interneta, ko viegli atrast plašajā atkritumu izgāztuvē. Principā tas izrādījās, bet ķēžu pamatā bija frekvences skaitītājs, kas neļāva sasniegt patiešām labu diapazonu. Dažas bērnu rotaļlietas un pildspalvas pārbaude + mēģinājumi nopelnīt naudu iesācējiem. Šī MD oriģināls ir īsts darba zirgs, kas ļauj atrast lielus objektus 2m attālumā (sk. Kolokolova-Ščedrina grāmatu Google). Statistika par pārveidoto MD Nr. Es ceru, ka viņa parādīsies ar MD un Arduino fanu atbalstu. Shēma strādāja ar Arduino Uno un Arduino Pro Mini.
Turpmāk saitē ir aprakstīts šī MD dzimšanas process lodāmura tīmekļa vietnē, kas ilga vairāk nekā gadu un pamudināja autoru izpētīt programmu veidošanu. Varbūt skice kādam šķitīs nožēlojama - es ar prieku pieņemšu jūsu FIXES.
Pašlaik ir skice, kas ļauj pielāgot jutības barjeru (7. tapai ir jābūt +1 pret barjeru, 8. tapa - 1. barjerai). .
Arduino par mini 5v, 16MHz, ATmega168 un displejs izmantoja šos. Blakus skalai ir Mini SD adapteris
Kā jau teikts, 1602 maksā 86 rubļus, ProMini - 82 rubļus. Ja vēlaties, jūs parasti varat paņemt neapbruņotu ATmega168, izveidot tam tāfeles un uzpildīt skici tieši tajā.Un tā, piemēram, es uzstādīju mammu-tēti MD plāksnītē, izmantojot savienotāju. Fotoattēlā redzams Arduino 6 kontaktu spraudnis, caur kuru skices tika izlietas tieši uz tāfeles.
Skice-MD.Rx-Tx.ProMini.SrednjajaTochkaRegBar.ino
// A3 analogā ieeja voltmetram
// A4 analogā ieeja signālam
// 6- zoba secinājums
// 9 - izejas frekvence 31200 Hz
# iekļaut
Šķidro kristālu LCD (12, 11, 5, 4, 3, 2);
baits z1 [8] = {// akumulatora ikona
0b01100, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110};
int countleds = 0; // mainīgais, lai saglabātu skalas līmeņa vērtību
int voltag = 0; // mainīgs, lai saglabātu sprieguma vērtību
int noll = 0; // mainīgais, lai saglabātu viduspunkta vērtību
#definējiet NUM_SAMPLES 10 // 10 analogos paraugus, lai tos lasītu 1 sekundes laikā
int summa = 0; ņemto paraugu summa
int saule = 0; // tas pats, bet dalīts ar 10
neparakstīts char sample_count = 0; // pašreizējais parauga numurs ar
pludiņa spriegums = 0,0; // aprēķinātais spriegums
const int button1 = 7; // barjera plus poga
const int button2 = 8; // poga barjera-mīnus
int i = 5; // barjera
Nederīga iestatīšana () {
lcd.begin (16, 2); // displeja inicializācija
lcd.setCursor (1, 0);
lcd.setCursor (10, 1);
lcd.print ("Rx-Tx");
kavēšanās (3000);
lcd.clear ();
TCCR1A = TCCR1A & amp; 0xe0 | 2;
TCCR1B = TCCR1B & amp; 0xe0 | 0x09;
analogWrite (9, 126); // pie 10. tapas PWM = 50% f = 31200Hz
lcd.createChar (1, z1);
}
tukšs cilpa () {
int buttonState1 = HIGH; // Pogas stāvoklis ir viens
int buttonState2 = AUGSTS; // Divu pogu stāvoklis
paraugs_skaits = 0; // atiestatīt papildinājumu skaita kontūru
summa = 0; // atiestatīt 10 papildinājumu summu
kamēr (parauga_skaitlis & lt; NUM_SAMPLES) {
summa + = analogRead (A4); // nākamais mērījums tiek pievienots summai
parauga_skaits ++; // mērvienībai pievieno mērvienību
saule = summa / 10;} // atrodiet vidējo vērtību no 10 mērījumiem
noll = analogRead (A3) / 2; // viduspunkta jauda
pludiņa spriegums = karte (analogRead (A3), 0,1023,0,1500) /100,0;
// voltmetrs, kas uzbūvēts pie ieejas A3
if (saule & gt; = noll + i) {countleds = map (saule, noll + i, noll * 2 - 250, 9, 14);
// ja saņemtais rezultāts atrodas skalas 9-15. segmentā
signāls (6, apzīmē * 100);}
if (saule & lt; = noll - i) {countleds = map (sun, 116, noll - i, 0, 7);
// ja iegūtais rezultāts ir 0-7 skalas segments
tonis (6, apzīmē * 50); }
if (sun & lt; noll & & sun; = noll - (i-1)) {countleds = 7;
noTone (6); } // virtuālās nulles saliņa (7 segmenti)
if (saule & noll & amp; saule & lt; = noll + (i-1)) {countleds = 8;
noTone (6); } // virtuālās nulles skalas sala (8 segmenti)
{lcd.setCursor (iebilst, 0); // iestatiet kursoru uz kolonnu countleds, 0. rinda
lcd.print ("\ xff"); // aizpildīta ikona
lcd.setCursor (0, 1); // pāriet uz 2 rindu, 0. kolonna
lcd.print (char (1)); // Akumulatora ikonas indikācija
lcd.setCursor (1, 1); // pāriet uz sprieguma indikāciju
lcd.print (spriegums); // spriegums
lcd.setCursor (7, 0); // 8. kolonnas 1. rinda
if (sun & lt; noll) {lcd.print ("{");} // print
lcd.setCursor (8, 0); // 9. kolonnas 1. rinda
if (sun & gt; noll) {lcd.print ("}");} // print
lcd.setCursor (7, 1);
lcd.print ("B =");
lcd.setCursor (9, 1); // 11 kolonnas 2. rinda
lcd.print (i); // barjera
lcd.setCursor (13, 1); // 13. kolonnas 2. rinda
lcd.print (saule); // izdrukājiet ADC vērtības vidējo vērtību
kavēšanās (100); // pagaidiet
buttonState1 = digitalRead (button1); // Lasīšanas 1. pogas statuss
buttonState2 = digitalRead (button2); // 2. pogas lasīšanas stāvoklis
if (buttonState1 == LOW) {i = i + 1; kavēšanās (50);}
// Nospiežot pogu, barjera palielinās par 1. Aizkavē 50
if (buttonState2 == LOW) {i = i - 1; kavēšanās (50);}
// Nospiežot pogu, barjera samazinās par 1. Aizkavē 50
if (i & lt; 1) {i = 1;} // Barjeras apakšējā robeža
if (i> 38) {i = 38;} // Barjeras augšējā robeža
lcd.clear ();
}
}
Es nelietoju automašīnu. Pēdējie divi TL074 elementi tika atstāti dīkstāvē. Bet uz shēmas un tāfeles tie ir. Iespējams, vēlēsities viņus nedaudz vēlāk iestatīt darba stāvoklī. Es uzskatu, ka esmu sasniedzis savu mērķi. Displejs darbojas lieliski. Viss pārējais ir atkarīgs no MD.