Untergeordnete Seiten (5):
Bauelemente-Übersicht sehr genaue Übersicht der möglichen Elektronik-Bauteile
Standard Bauteile (STAND 2010)
http://sites.schaltungen.at/elektronik/home/bauteile/standard-bauteile-stand-2010 Wels, am 2012-12-30
************************************************************** |
280 |
T |
|
IRF540N | MOSFET Transistor |
|
|
|
281 | T |
|
MOSFET | MOSFET Transistor IRF1310N IRF3708 V CK633 V CK960/20 IRLIZ44N BSP171, IRF510, IRF5305, IRF640N, IRF640 | Fa. reichelt elektronik |
|
|
282 | T |
|
IRF520N | MOSFET Transistor, n-Kanal 10Amp. TO-220 mit TTL ansteuerbar | Fa. IOR International Rectifer |
|
|
283 | T |
|
BUZ11 | MOSFET, N-Kanal TO-220 nicht mit TTL ansteuerbar | Fa. Fairchild Semiconductor |
|
|
284 | T |
|
IRF9630 | Power MOSFET SiHF9630, p-Kanal, 6,5Amp - H-Brücke | Fa. Vishay Siliconix |
|
|
285 | T |
|
IRL540 | Power MOSFET SiHL540, n-Kanal, 36Amp TO-220AB | Fa. Vishay Siliconix |
SFH3310,
Triac:
BT139-600, T835-600G,
Stabi-IC (Spannungsregler-IC) pos:
78L05Z, 7805, LM317T, LM2931, L4805, LP2950-5.0, L200,
Stabi-IC (Spannungsregler-IC) pos:
7915
IR = Infrarot-Empfänger:
TSOP1138, TSOP1736, TSOP1738,
Optokoppler-Transistor:
CQY80N, OPD710, MOC8050,
Optokoppler-Triac:
OPD10, MOC3021, MOC3041M, S202S02, S2S4BY0F,
IC Op-Amp 1-fach:
uA741, TL071D, TL081, TL271, LM386, LF351, LME49710,
IC Meß-Op-Amp 1-fach:
AD620,
IC - Op-Amp 2-fach:
TL082CN, LM358, LM393,
IC Op-Amp 4-fach:
LM339,
Timer-IC 1-fach:
NE555, LM555C, 7555CN,
Timer-IC 2-fach:
LM556CN
Timer-IC 4-fach:
LM558C
NF-IC:
TBA820M, AD820, TDA1072,
U - DigitaleICs:
74HC14N, 74HC74, 74HC00, 74HC02, 74HC148N, 74HC4046,
4017N, 4013, 4020, 4040, 4052, 4060, 4093, 40106N,
4511, 4516, 4538, 4584N,
CD4099N, CD4514BCN,
Mikrocontroller:
AT89C2051
ATmega8-16AU,
ATtiny13A, ATtiny25, ATtiny2313, ATtiny45,
PIC12F683,
PIC16C62B, PIC16F72, PIC16F73, PIC16F88, PIC16F616SL, PIC16F628, PIC16F690, PIC16F874A, PIC16F877,
PIC18LF1320,
DVM-Module ICs:
MAX6958, ICL7106,
LCD-Einbaumodul (Panelmeter) 3 1/2 stellig:
Peaktech LDP335LCD (8mm)
3-Achs Beschleunigungssensor (Neigungssensor):
MMA7260Q
Melodien-IC:
SAE800
Quarze:
Uhrenquarz 32.768Hz,
3,6864MHz, 8MHz, 9,8304MHz, 10MHz, 12MHz,
Ultraschall-Sensoren 40kHz:
MA40-R, SQ40-R, UST-40R,
Feinsicherung:
100mA T, 250mA T,
Buzzer:
BZ1
**************************************************************
Anregungen findet man auch in der de.sci.electronics-FAQ: Grundausstattung des Bastlers
Besser als ein fertiges Starterset ist es, wenn man sich einige Gerätschaften selber zusammenkauft.
Für Schüler gab es bis 2001 die Elektronikkästen von Schuco (früher PHILIPS) http://ee.old.no/
(Klammern und Federn gibts noch bei http://www.derelektronikershop.de/themes/kategorie/index.php?kategorieid=141)
oder die einfacheren von KOSMOS http://www.generalatomic.com/teil1/index.html
Deren Anleitungsbücher kann man sich herunterladen, aber so toll waren die nicht, es wird zwar erklärt wie man
z.B. einen aufgebauten Multivibrator langsamer blinken lässt, aber nicht wie sich die darin beteiligten Transistoren gegenseitig sperren, also nur oberflächliche Bedienweise statt tiefergehendem Verständnis gelehrt.
Heute sind die Steckbrett-Baukästen (und nur die) wie "Lernpaket Elektronik" von http://www.franzis.de/ trotz ähnlicher Qualität der Handbücher die bessere Wahl,
zumindest wenn man sie günstig kauft http://www.pearl.de/a-PK4421-3521.shtml
oder im Ausland http://www.makershed.com/ProductDetails.asp?ProductCode=MKSL1&Show=ExtInfo weil echte elektronische Bauelemente und ordentliche Steckbretter verwendet werden.
Bausätze übertreiben oft (Mückenscheuchen verscheuchen keine Mücken, etc.) können aber den Einstieg in die Elektronik erleichtern.
Im Ausland gibt es duchaus so was: http://www.indiamart.com/techlab-electronics/products.html
Einfachste verkupferte Reißnägel Reisszwecken-Brettschaltungen Elektronik-Basteleien (Bauanleitung downloadbar)
gibt es bei http://de.opitec.com/ .
OPITEC < Start>Werkpackungen>Elektronik/Elektromechanik>Elektroschaltungen
http://at.opitec.com/opitec-web/Elektroschaltungen/c/kseeel
http://at.opitec.com/opitec-web/articleNumber/110176
http://at.opitec.com/opitec-web/articleNumber/107056
http://at.opitec.com/opitec-web/articleNumber/110372
http://sites.schaltungen.at/elektronik/reissnagelbrett
Wer nur ein Buch für Kinder haben will, ist vielleicht mit "Der kleine Elektroniker: Band 1 - Erste Versuche" ISBN 3-837-00331-0 zufrieden.
Fertige Beispiele zum Selberbasteln auf dem Steckbrett auch hier http://www.dieelektronikerseite.de/
http://www.electronicum.at/
http://www.kemo-electronic.com
http://www.elv.de/
http://www.velleman.be/
http://www2.produktinfo.conrad.com/datenblaetter/900000-924999/909222-an-01-de-CONRAD_ADVENTSKALENDER_24_EXPERIMENTE.pdf
Für den Lehrbetrieb gibt es
http://www.grs-physik-shop.de/pdf/discitron_prospekt.pdf
http://www.lectron.de/ (Elektronik-Würfel aus Plastik mit Haft-Magnete / Anleitungen kann man sich auf der Homepage runterladen)
http://www.brickrknowledge.de/ (Lectron-lookalike von Rolf Dieter Klein)
http://www.mikroe.com/aslk-pro/ (Texas Instruments Analog System Lab Kit pro)
und über eBay Phywe scolatron und EAW Elektroniktrainer
Widerstände:
2*1Ohm 5 Watt, 2*10Ohm 2 Watt, 2*100Ohm 1 Watt Metallfilm (0.6W) oder Kohleschicht (0.25W) Widerstände: 10*1k, 10*10k, 10*100k, 10*1MOhm (immer dran denken: 2 in Reihe oder parallel ergibt doppelten oder halben Wert, natürlich kann man sich die 22/47/220/470/2k2/4k7/22k/47k/220k/470k auch kaufen)
Folienkondensatoren (MKS, MKH, MKT oder so):
2*1nF, 2*10nF (meist 63V, aber 35V reicht auch)
Keramik(vielschicht)kondensatoren (Z5U oder X7R):
10*100nF (meist 50V, aber 35V reicht auch)
Elektrolytkondensatoren:
2*1uF, 5*10uF, 2*100uF, 2*1000uF (alle zumindest 35V)
Spulen:
DST10mH (kleine zylindrische Festinduktivität der Art 09P mit Ferritkern stehend) [Die Spule wurde ausgewählt, damit man mit einfachen Experimenten feststellen kann, wozu Spulen brauchbar sind. Die 10mH können einen einfachen Oszillator ergeben, einen kleinen StepUp/StepDown-Spannungswandler, können filtern und als Magnetfeldsensor arbeiten]
Dioden:
10*1N4148 oder 1N4448 oder 1N914, 10*1N4007
Schottky-Diode:
SB130 bis SB360 oder MBR360 oder 1N5819 bis 1N5822
Transistoren:
NPN: 4*BC338, PNP: 4*BC328,
JFET: 1*BF245B oder 2N7001 oder J300
MOSFET: BUZ10 BUZ11 oder IRF530 o.ä. auf Kühlkörper <3K/W, z.B. V4511D
Analog-ICs:
OpAmp: LMC6484 (notfalls TLC274, ganz dolle notfalls LM324)
Spannungsregler:
7805, mit Kühlkörper <10K/W, z.B. V4330K
Spannungsreferenz IC: LM385Z2.5 oder LM336Z2.5
Digital-ICs: 74HC13, 74HC76, 74HC168, CD4051
Mikrocontroller:
ATmega644 (gross genug, Anschlüsse genug, DIL wegen Steckbrett) mit 4-20MHz Quartz (Grundton, HC18/49U) und 2 22pF Keramikkondensatoren und, weil man das Daten-EEPROM verwenden will, einen RESET Controller wie MC34064P5/TL7757 dazu eventuell
4x 7 Segment Anzeigen mit gemeinsamer Anode und 2mA niedriger Stromaufnahme, 13mm hoch (Anschlussanordnung passt nebeneinander ins Steckbrett)
Dazu eventuell 10er/12er/16er Tastenmatrix (Folientastatur,
Telefontastatur/Taschenrechnertastatur oder 4-16 Einzeltasten mit einfachem Schliesserkontakt wie 700479 von http://www.conrad.de/)
Temperatursensor:
NTC ca. 10-25kOhm(25GradC),
Halbleitersensor LM234
Lichtsensor:
Photodiode (BPW34 oder so),
Phototransistor (BPW40 oder so),
LDR (LDR03, FW150 oder so, für Cadmium in Fotowiderständen gibt es eine Ausnahme in RoHS)
Hallsensor: KMZ10B oder so, ggf. aus altem Floppymotor ausbauen
2 Taster mit Umschaltkontakt (z.B. Shadow DigiTast)
2 Trimmpotentiometer 10k linear mit Anschlussdrähten die ins Steckbrett passen wie Spectrol 63P
Leuchtdioden:
10*5mm rot, 2*5mm grün oder 3mm, high efficiency 20mA lassen ich auch als low current 2mA verwenden
Glühlampe:
Glühbirnchen 6V/50mA mit Drahtanschlüssen (ggf. mit Lampensockel und Drähte anlöten)
Entweder kleiner Piezokeramik-Schallwandler (aus Weckuhr oder so, 751669 von Conrad) mit Drahtanschlüssen
oder hochohmiger Plastik-Minilautsprecher (32-50Ohm, Conrad 335407)
Elektretmikrophon(kapsel) wie Conrad 302104. kleiner (1.5 bis 12V)
Elektromotor (Spielzeug/'Solarmotor'/Cassettenrecorder) mit Drahtanschlüssen
DMM digitales LCD Vielfachmessgerät 3 1/2 stellig für 5 EUR
9V Blockbatterie mit Anschlussclips
oder 3-12V= Steckernetzteil >=250mA als Spannungsquelle
9V~ Steckernetzteiltrafo (von Modems) für Wechselstromexperimente
isolierter Starrdraht Dm=0,64mm für's Experimentierbrett BreadBoard
10 Krokoklemmenkabel für die Bauteile, die nicht ins Steckbrett passen
Quelle:
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm
**************************************************************
41. Jahrg. elektor Halbleiterheft Juli/August 2010 (Ausgabe 475/476) über 100 Schaltungen, Ideen und Tipps € 14,20
Jahresabonnement-PLUS € 99,50 www.elektor.de
Inhaltsverzeichnis Halbleiterheft 2010
|
|
x999_c_elektor-x_Inhaltsverzeichnis elektor Halbleiterheft 2010_2d.xls |
|
|
|
01e |
|
100126-11 Das Elektor-DSP-Radio, (Weltempfänger mit USB) ATmega168PU_1a.pdf |
01e | Seite-008, | Das Elektor-DSP-Radio, (Weltempfänger mit USB-Schnittstelle) Platine, ATmega168 PU, www.elektor.de/100126, |
02e |
|
090637-11 Fledermäuse hören 4017 TBA820M_1a.pdf |
02e | Seite-016,a | Fledermäuse hören, 4017, TBA820M, |
03e |
|
090965-11 Blinklicht für Flugmodelle 4017 NE555_1a.pdf |
03e | Seite-016,b | Blinklicht für Flugmodelle, 4017, NE555, |
04e |
|
080988-11 Streifenrasterplatine als Heizplatte, 60x100mm, 12V-4A-50W_1a.pdf |
04e | Seite-017,a | Streifenrasterplatine als Heizplatte, 60x100mm, 12V / 4A / 50W |
05e |
|
091099-11 Wasseralarm 74HC14_1a.pdf |
05e | Seite-017,b | Wasseralarm, 74HC14, |
06e |
|
080306-11 3-Pin-Lüfter an 4-Pin-Stecker (PC CPU-Ventilator)_1a.pdf |
06e | Seite-018,a | 3-Pin-Lüfter an 4-Pin-Stecker, |
07e |
|
100392-11 Handy-Sende-Indikator, 2 Dioden OA91_1a.pdf |
07e | Seite-018,b | Handy-Sende-Indikator, 2 Dioden OA91, www.creative-science.org.uk/mobile_LED.html, |
08e |
|
090023-11 Modellbauers Pendeluhr PIC18LF1320 I-P_1a.pdf |
08e | Seite-020, | Modellbauers Pendeluhr, PIC18LF1320 I/P, Software, www.elektor.de/090023, |
09e |
|
091072-11 Dimmer mit Berührungsschalter, 200Watt LS7534_1a.pdf |
09e | Seite-021, | Dimmer mit Berührungsschalter, LS7534, |
10e |
|
090427-11 UKW-Prüfgenerator für die Westentasche 1kHz TL081 BF245A_1a.pdf |
10e | Seite-022,a | UKW-Prüfgenerator für die Westentasche, TL081, |
11e |
|
090550-11 Astrolampe, Stirnlampe (Rotlicht) für Astronomen Attiny45_1a.pdf |
11e | Seite-022,b | Astrolampe, Attiny45, Software, www.elektor.de/090550, |
12e |
|
081005-11 Wobbelgenerator, (Sägezahn-Oszillator für XR2206) 2N4870 BF256C_1a.pdf |
12e | Seite-023, | Wobbel den Funktionsgenerator, 2N4870, BF256C, www.elektor.de/060312 |
13e |
|
090896-11 ATM18-DIP, Adapter mit ATmega88_1a.pdf |
13e | Seite-024,a | ATM18-DIP, ATmega88, Platine, Bauteile, |
14e |
|
100253-11 Diskr. Low-drop Spannungsregler (13,5V Netzteil) 2SJ117_1a.pdf |
14e | Seite-024,b | Diskreter Low-drop Spannungsregler, 2SJ117, |
15e |
|
081177-11 Analoger elektronischer Schlüssel (Fenster-Kompara.) LM393_1a.pdf |
15e | Seite-025, | Analoger elektronischer Schlüssel, LM393, |
16e |
|
090614-11 DIY-SMD-Adapterplatine für SO8-Gehäuse_1a.pdf |
16e | Seite-026,a | DIY-SMD-Adapter, |
17e |
|
090723-11 LED-Fahrradlampe in neuem Licht NTD4815N BC856C BC846S_1a.pdf |
17e | Seite-026,b | LED-Fahrradlampe in neuem Licht, NTD4815N, BC856B, BC546B, BC556B, BC846S, BC546B |
18e |
|
090444-11 Tiny-Pulser Pulsgenerator mit 3 Ausg. ATtiny13_1a.pdf |
18e | Seite-028, | Tiny-Pulser, ATtiny13-20P4, Software, |
19e |
|
090117-11 Segel-BattMeter, Akku-Leistungs 120Ah PIC16F690_1a.pdf |
19e | Seite-030, | Segel-BattMeter, PIC16F690, Platine, Software, Bauteile, www.elektor.de/090117, www.dalton.ax/battmeter, |
20e |
|
100263-11 Timer für Handgeräte-Akkus mit 24h Steckdosen-Schaltuhr_1a.pdf |
20e | Seite-031, | Timer für Handgeräte-Akkus, |
21e |
|
100084-11 Einschaltzwang für PCs, Always-One, re-start von ATX-PCs, SB120_1a.pdf |
21e | Seite-032,a | Einschaltzwang für PCs, SB120, |
22e |
|
091071-11 Autoradio-Booster, 4Ohm-55W, TDA1562 BC548_1a.pdf |
22e | Seite-032,b | Autoradio-Booster, TDA1562, Platine, Bauteile, www.elektor.de/091071, |
23e |
|
091075-11 Umgekehrter RIAA-Adapter (MM Phono) Line-Ausg. auf RIAA-Eing._1a.pdf |
23e | Seite-033, | Umgekehrter RIAA-Adapter, |
24e |
|
080093-11 Pulsempfänger, für 5,5kHz Brustgurt-Herzschlag-Sender_1a.pdf |
24e | Seite-034,a | Pulsempfänger, TL071, Platine, Bauteile, http://peterborst.gmxhome.de/sigiborst, www.elektor.de/080093, www.thepcbshop.com, |
25e |
|
100028-11 Netzstromindikator, ein 230V Trafo als Stromsensor BC547_1a.pdf |
25e | Seite-034,b | Netzstromindikator, |
26e |
|
090614-11 Kellerpumpensteuerung, Wasser-Sensor MOC3021 IRF630_1a.pdf |
26e | Seite-035, | Kellerpumpensteuerung, MOC3021, TL071, IRF630, |
27e |
|
090526-11 Entwicklungssystem für MCS08DZ60 (CAN-Bus, RS232-Bus)_1a.pdf |
27e | Seite-036, | Entwicklungssystem für MCS08DZ60, Platine, Software, www.elektor.de/090526, www.elektor.de/090348, www.68hc08.net, http://forums.freescale.com/freescale, http://myfreescalewebpage.free.fr, |
28e |
|
100308-11 Tierliebe Mausefalle IR-Lichtschranke TSOP1138 PIC12F683_1a.pdf |
28e | Seite-037, | Tierliebe Mausefalle, PIC12F683, Software, www.elektor.de/100308, |
29e |
|
090544-11 Solar-Akkulader, 12V-7,5A PIC16F877_1a.pdf |
29e | Seite-038, | Solar-Akkulader, PIC16F877, Software, www.elektor.de/090544, |
30e |
|
100387-11 Frontplatten mit Tintenstrahl-Drucker, DECAL-Nassschiebebilder_1a.pdf |
30e | Seite-039, | *** Frontplatten anfertigen, www.papilio.com/laser%20water%20slide%20decal%20paper%20original%20pas.html, www.1zu43.net/basteln/bastelanleitung_decalsanbringen.shtml, |
31e |
|
100140-11 L200-Ladeschaltung 9,6V NiCd-Akkus, 320mA, 40°C_1a.pdf |
31e | Seite-040,a | L200-Ladeschaltung, |
32e |
|
100155-11 AM-Empfänger mit Quadraturmischer NE612 TDA1072 4046_1a.pdf |
32e | Seite-040,b | AM-Empfänger mit Quadraturmischer, NE612, 74HC74, TDA1072, 74HCT4046, |
33e |
|
091070-11 Musikalische Fahrradklingel SAE800_1a.pdf |
33e | Seite-041, | Musikalische Fahrradklingel, SAE800, |
34e |
|
100300-11 Tester für Magnetzündungen, Prim. Kfz-Zündspule LM555CD_1a.pdf |
34e | Seite-042,a | Tester für Magnetzündungen, LM555CD, |
35e |
|
090891-11 Spannungsüberwachung für 12V Akku 10,5V Untersp. NE556_1a.pdf |
35e | Seite-042,b | Spannungsüberwachung, NE556, |
36e |
|
090543-11 Universelle Timer-Schaltung ohne Standby ATtiny2313_1a.pdf |
36e | Seite-043, | Universelle Timer-Schaltung ohne Standby-Strom, ATtiny2313, Software, www elektor.de/090534 |
37e |
|
090522-11 Quarzuhr als Impulsgeber 1s, mit altem Armbanduhren-IC_1a.pdf |
37e | Seite-044,a | Quarzuhr als Impulsgeber, mit alten Armbanduhren-IC, |
38e |
|
081181-11 Netzvoltmeter, Abweichung von 230V wird angezeigt_1a.pdf |
38e | Seite-044,b | Netzvoltmeter, |
39e |
|
090371-11 Einfache LED-Konstantstromquelle BC547B BSS101_1a.pdf |
39e | Seite-045,a | Einfache LED-Konstantstromquelle, |
40e |
|
100151-11 Univ. IR-FernbedienungsTester, Empfänger TSOP1736 TSOP1738_1a.pdf |
40e | Seite-045,b | Universeller IR-Fernbedienungstester, TSOP1736, |
41e |
|
091044-11 Tiny-Timer, 1sec bis 100h, ATtiny2313_1a.pdf |
41e | Seite-046, | Tiny-Timer, ATtiny2313, Software, www.elektor.de/091044, |
42e |
|
090862-11 Energiesparhilfe für Computeranlagen MOC8050 4093_1a.pdf |
42e | Seite-047, | Energiesparhilfe, MOC8050, 4093, |
43e |
|
090795-11 Gitarren-Kompressor (ohne CA3080) TDA7052A_1a.pdf |
43e | Seite-048, | Gitarren-Kompressor (ohne CA3080), TDA7052A, |
44e |
|
090634-11 smd Mikro-Thermometer mit Duo-Led DS18S20 ATtiny13A_1a.pdf |
44e | Seite-049, | Mikro-Thermometer, Software, www.elektor.de/090634, |
45e |
|
070829-11 Neigungsmesser mit USB MMA7260QT ATmega8-16AU_1a.pdf |
45e | Seite-050, | Neigungsmesser mit USB, Atmega8-16AU, Platine, Software, Manual, Bauteile, www.elektor.de/060297, www.freescale.com/files/sensors/doc/data_sheet/MMA7260QT.pdf, http://cache.freescale.com/files/sensors/doc/app_note/AN3461.pdf, www.elektor.de/070829, |
46e |
|
090692-11 Virtuelle 9-V-Batterie, PR4401 2N7000_1a.pdf |
46e | Seite-051, | Virtuelle 9-V-Batterie, PR4401, 2N7000, |
47e |
|
090863-11 Labornetzteil PC 1,25..10V-0,7A, MC34063 PIC16F616SL_1a.pdf |
47e | Seite-052,a | Labornetzteil für den PC, PIC16F616SL, Software, www.elektor.de/090863, |
48e |
|
090458-11 R-G-Multiblinker 4017 40106 BAT82 OA91 AA119 BS170_1a.pdf |
48e | Seite-052,b | R/G-Multiblinker, 4017, 40106, |
49e |
|
090521-11 Booster für Elektretmikros und LS=200Ohm, TL431_1a.pdf |
49e | Seite-053, | Booster für Elektretmikros, TL431, |
50e |
|
080315-11 LED-Tester, 2-fach, 4,7V-1..50mA, LM358N BC550C_1a.pdf |
50e | Seite-054,a | LED-Tester, LM358N |
51e |
|
091085-11 Differenzspannungslupe, Akku-Differenz-Messung AD620BNZ_1a.pdf |
51e | Seite-054,b | Differenzspannungslupe, AD620BNZ, www.analog.com |
52e |
|
100158-11 Variables Quarzfilter 2..6kHz CW SSB AM, Kapazitäts-Diode BB204_1a.pdf |
52e | Seite-055,a | Variables Quarzfilter, |
53e |
|
090796-11 Automatisches Fahrradrücklicht 74AHC1G02 BSH103 BCV27_1a.pdf |
53e | Seite-055,b | Automatisches Fahrradrücklicht, |
54e |
|
090850-11 LED-Treiber mit LM3410 (PWM-Dimmung)_1a.pdf |
54e | Seite-056, | LED-Treiber mit LM3410, Eagle-Files, |
55e |
|
090102-11 Fahrrad-Beleuchtungsautomatik BC807 STS6NF20V_1a.pdf |
55e | Seite-057, | Fahrrad-Beleuchtungsautomatik, STS6NF20V, www.elektor.de/090102, |
56e |
|
090724-11 Hexadokubus 2010, hexadoku(at)elektor.de, Hexa-Sudoku-Würfel_1a.pdf |
56e | Seite-060, | *** Hexadokubus 2010, [email protected], Hexa Sudoku, Würfel Sudoku, |
57e |
|
100301-11 Uhrimpulsgeber polwechs. für Bahnhofsuhren 4060 20 13 106_1a.pdf |
57e | Seite-062, | Uhrimpulsgeber, 4060, 4020, 4013, 40106, |
58e |
|
100331-11 Einfache HF-Rauschquelle, HF-Rauschgenerator BF199_1a.pdf |
58e | Seite-063,a | Einfache HF-Rauschquelle, |
59e |
|
100390-11 Intelligente Steckdosenleiste (Master schaltet) BTA16-600SW_1a.pdf |
59e | Seite-063,b | Intelligente Steckdosenleiste, www.electronicsweekly.com/blogs/gadget-freak/2008/09/flavio-plugs-into-smart-extens.html, |
60e |
|
100332-11 Quarztester BC547 oder BF199_1a.pdf |
60e | Seite-064,a | Quarztester, |
61e |
|
091091-11 Temperaturlogger für Kühlschrank -5..26V DS1921Z USB-Stick DS9490_1a.pdf |
61e | Seite-064,b | Temperaturlogger für den Kühlschrank, www.maxim-ic.com/products/ibutton, |
62e |
|
080307-11 Auf-Ab-Zähler, PIC16F628 Reflexlichtschranke OPB710_1a.pdf |
62e | Seite-065, | Schwertposition bei Segelschiffen, PIC16F628, OPB710, Software, PIC16F628A, www.bknd.com/cc5x, |
63e |
|
090374-11 Massefreie Stromversorgung für DVM-Module Panelmeter LDP335_1a.pdf |
63e | Seite-066, | Massefreie Stromversorgung für DVM-Module aus 5 V, 74HC14N, |
64e |
|
090944-11 Dynamikbegrenzer Audio-Limiter 4052 4516 LM339 4538 4093_1a.pdf |
64e | Seite-068, | Dynamikbegrenzer, 4052, 4516, TL082CN, LM339, 4538, 4093, Platine, Bauteile, www.elektor.de/090944, |
65e |
|
090976-11 Fernb. Preamp mit digit. Poti LME49710 DS1882 R8C-13_1a.pdf |
65e | Seite-070, | Fernbedienbarer Preamp mit digitalem Poti, Software, www.elektor.de/050179-2, www.elektor.de/080213, www.elektor.de/071149, www.elektor.de/090976, |
66e |
|
080833-11 Autoalarm-Sound-Booster, 1N4148 BS170_1a.pdf |
66e | Seite-071, | Autoalarm-Sound-Booster, BS170, |
67e |
|
090419-11 Rangierlicht f. Loks m. Digitaldecoder (Modellbahn)_1a.pdf |
67e | Seite-072, | Rangierlicht für Loks mit Digitaldecoder, 74HC00, |
68e |
|
100290-11 Line-Eingänge für Zoom H2 Audio-Recorder_1a.pdf |
68e | Seite-073,a | Line-Eingänge für Zoom H2, |
69e |
|
090964-11 8-Kanal-DTMF-Encoder 74HC148N HT9200B DTMF-Encoder Tongen._1a.pdf |
69e | Seite-073,b | 8-Kanal-DTMF-Encoder, 74HC148N, HT9200B, |
70e |
|
100354-11 Indikator für Dynamikbegrenzer, 4 nach 16 Decoder CD4514BCN_1a.pdf |
70e | Seite-074,a | Indikator für Dynamikbegrenzer, CD4514BCN, 4 nach 16 Decoder, 16 LEDs, |
71e |
|
100073-11 8-Kanal-DTMF-Decoder HT9170B CD4099N_1a.pdf |
71e | Seite-074,b | 8-Kanal-DTMF-Decoder, HT9170B, CD4099N, www.futurlec.com, |
72e |
|
090969-11 Schnell messen und prüfen, Büroklammern auf Streifenleiterpl._1a.pdf |
72e | Seite-075,a | Schnell messen und prüfen, mit Büroklammern auf Streifenleiterplatte |
73e |
|
090633-11 Außenlicht-Steuerung CQY80N MOC3041M 4060 BC337_1a.pdf |
73e | Seite-075,b | Außenlicht-Steuerung, CQY80N, MOC3041M, 4060, |
74e |
|
090426-11 Frontplatten mit Mousepad-Folie, Autotex Inkjet Folie_1a.pdf |
74e | Seite-076, | *** Frontplatten mit Mousepad-Folie, www.macdermidautotype.com/autotype.nsf/webfamilieseurope/AUTOTEX, www.pearl.de/a-VM5123-2411.shtml, |
75e |
|
090643-11 RJ-45-Kabeltester mit PIC (8-fach) PIC16F72_1a.pdf |
75e | Seite-077, | RJ-45-Kabeltester mit PIC, Platine, PIC16F72, Software, Bauteile, www.elektor.de/090643, |
76e |
|
080536-11 Thermometer mit 4-stell. LED-Anzeige AT89C2051 MAX6958_1a.pdf |
76e | Seite-078, | Thermometer mit vierstelliger LED-Anzeige, AT89C2051, MAX6958, LM75, Software, www.elektor.de/060124, www.maxim-ic.com/app-notes/index.mvp/id/1880, www.elektor.de/080536, |
77e |
|
090856-11 Univ. PWM-Generator PIC16F628 MC34151 7805 7915 IRF9540_1a.pdf |
77e | Seite-080, | Universeller PWM-Generator, PIC16F628, MC34151, 7805, 7915, IRF9540, Eagle-File, Software, www.elektor.de/090856, |
78e |
|
100299-11 Trennender Netzschalter, kein Standby-Betrieb BD139_1a.pdf |
78e | Seite-081, | Trennender Netzschalter, www.ia.omron.com/data_pdf/data_sheet/my_dsheet_gwj111-e1-03.pdf/data_sheet/my_dsheet_gwj111-e1-03.pdf, www.vishay.com/docs/28120/mkp3362.pdf, www.vishay.com/docs/28767/28767.pdf, |
79e |
|
090425-11 Schnell zu sicheren Vias (DurchkontaktierungsHülsen Stifte)_1a.pdf |
79e | Seite-082,a | Schnell zu sicheren Vias, www.harwin.com/search/T1559F46?ProductSearch=True, www.harwin.com/include/downloads/tis/IS-06.PDF, |
80e |
|
090420-11 Schrittmotoren identifizieren, 4-5-6-8-Draht Anschlußl._1a.pdf |
80e | Seite-082,b | Schrittmotoren identifizieren, www.elektor.de/020127, |
81e |
|
090030-11 Zapper nach Heilerin Hulga Clark, Elektrotherapiegerät_1a.pdf |
81e | Seite-083, | Zapper nach H. Clark, 4040, LM556CN, BS170, |
82e |
|
100342-11 6-fach Umschalter, 1s Schmitt-Trigger 40106N_1a.pdf |
82e | Seite-084,a | Sechsfacher Umschalter, 40106N, |
83e |
|
100287-11 Frontplattenentwürfe mit Galva (engl.) Rundskalen für Poti_1a.pdf |
83e | Seite-084,b | *** Frontplatten gestalten, www.radioamateur.org/download/ |
84e |
|
090721-11 PIC-C oder VHDL-FPGA für den RFM12-TX-RX, 868MHz PIC16F73_1a.pdf |
84e | Seite-085, | PIC/C oder VHDL/FPGA für den RFM12-TX/RX, PIC16F73, Funkmodul 868MHz, Software, www.mikroe.com, www.elektor.de/080852, www.elektor.de/071125, www.elektor.de/090372, www.hoperf.com, www.elektor.de/090721, |
85e |
|
100318-11 Heizungsregelung (Differenz-Thermostat) ATtiny25_1a.pdf |
85e | Seite-086, | Heizungsregelung (Differenz-Thermostat), ATtiny25-20p4DUO8, S202S02, BS170, Software, |
86e |
|
090940-11 3D-LED-Pyramide, Printplattendekoration ATtiny2313-20SU_1a.pdf |
86e | Seite-088, | 3D-LED-Pyramide, Platine, (090940-41) ATtiny2313-20SU, Bauteile, www.elektor.de/090940, |
87e |
|
100251-11 Einfacher Fahrrad-Alarm 7555CN_1a.pdf |
87e | Seite-089,a | Einfacher Fahrrad-Alarm, 7555CN, |
88e |
|
081170-11 Phasenkopplung für Powerline-Netzwerke (230V-Gegensprechanlagen)_1a.pdf |
88e | Seite-089,b | Phasenkopplung für Powerline-Netzwerke (Netz-Gegensprechanlagen), Platine, Bauteile, |
89e |
|
090538-11 Digitaler Daumenradschalter (BCD-Format) ATtiny2313_1a.pdf |
89e | Seite-090,a | Digitaler Daumenradschalter (BCD-Format), ATtiny2313, Software, www.elektor.de/090538, |
90e |
|
090632-11 Tiefentladungsschutz 12V-Akkus. Imax=15A IRF4905 40106_1a.pdf |
90e | Seite-090,b | Tiefentladungsschutz für 12-V-Akkus, www.irf.com, |
91e |
|
091073-11 Spielen mit Simon, rot gelb grün blau Lichtfolgen merken_1a.pdf |
91e | Seite-091, | Spielen mit "Simon" (rot, gelb, grün, blau Lichtfolgen merken), BASIC STAMP BS1, Platine, Software, Bauteile, www.elektor.de/091073, www.tavernier-c.com, |
92e |
|
090421-11 Einst. Niederspannungsquelle, 0..1,5V-0,2A, LM334Z TLC271_1a.pdf |
92e | Seite-092,a | Einstellbare Niederspannungsquelle, TLC271, |
93e |
|
100335-11 Tank-Sensor, Wasser-Pegelstands-Sensor LM358 LM3914_1a.pdf |
93e | Seite-092,b | Tank-Sensor, LM358, |
94e |
|
091052-11 Quarzabgleich, Kapazitätsdiode 1N5819 ATtiny25_1a.pdf |
94e | Seite-093, | Quarzabgleich, ATtiny25, Software, www.elektor.de/091052, http://elektor.reworld.eu, |
95e |
|
100203-11 Akustischer Trainer Zeitintervallgeber RunPause PIC16F88_1a.pdf |
95e | Seite-094 | Akustischer Trainer, PIC16F88, Software, www.elektor.de/100203, |
96e |
|
091045-11 Notstopp (Systemabsturz-Wächter für 5V, 9V, 12V) BC547_1a.pdf |
96e | Seite-095, | Notstopp (Systemabsturz-Wächter), |
97e |
|
081172-11 SenderEmpfänger Funk-Alarm TLC271 MC145026_1a.pdf |
97e | Seite-096, | Sender und Empfänger für Funk-Alarm, TLC271, MC145026, 4093, MC145027, 4511, 4013 |
98e |
|
090537-11 Wasserd. Näherungsschalter ATtiny13A QT113A S2S4BY0F_1a.pdf |
98e | Seite-098, | Wasserdichter Näherungsschalter, Platine, ATtiny13A, QT113A, S2S4BY0F, Software, Bauteile, |
99e |
|
090187-11 Binär-Uhr PIC165F874A-20-P_1a.pdf |
99e | Seite-099, | Binär-Uhr, PIC165F877A-20/P, Software, www.elektor.de/090187, www.matrixmultimedia.com, |
100e |
|
090834-11 Lichtsteuerung für RC-Autos, ATtiny45 BC547B_1a.pdf |
100e | Seite-100, | Lichtsteuerung für RC-Autos, Attiny45, www.elektor.de/090834, Platine, Software, |
101e |
|
090861-11 Mini Sixties Plus (NF-Verstärker 8Ohm-8 Watt) BC639_1a.pdf |
101e | Seite-102, | Mini Sixties Plus (NF-Verstärker 8Ohm/8 Watt), |
102e |
|
091074-11 Netzwerk-Kabeltester für 8-Leitungen 4017 ULN2803_1a.pdf |
102e | Seite-103, | Netzwerk-Kabeltester, 4017, ULN2803, 8-Leitungen, |
103e |
|
090348-11 Valentino Braitenberg-Roboter 98C2051 AVR-BASCOM_1a.pdf |
103e | Seite-104, | Braitenberg-Roboter, www.elektor.de/090348, www.arexx.com, www.conrad.de, www.reichelt.de, www.mcselec.com, |
104e |
|
100165-11 Gitarren-Booster Glass Blower 2N3904 2N3906 TL071_1a.pdf |
104e | Seite-105, | Gitarren-Booster (Glass Blower), TL071, Platine, Infos, www.elektor.de/100165, |
105e |
|
100007-11 Erweiterung und Zusatzfunktion für USB-TTL-Kabel 4066_1a.pdf |
105e | Seite-106, | Erweiterung und Zusatzfunktion für USB-TTL-Kabel, 4066, Platine, PCB, Bauteile, www.elektor.de/080213, www.elektor.de/080470, www.elektor.de/100007, |
106e |
|
100327-11 Oszilloskoptext ATtiny2313 MAX3221 XC6216B302MR_1a.pdf |
106e | Seite-108, | Oszilloskoptext, ATtiny2313, MAX3221, Software, www.elektor.de/100327, http://svn.isysbus.org/misc/delphi/components, |
107e |
|
100358-11 Tischtennisball-Glühwürmchen, Deko-LEDs SFH3310 ATtiny13_1a.pdf |
107e | Seite-109, | RGB-Schwarm, ATtiny13, www.elektor.de/100014, www.elektor.de/100013, www.elektor.de/100358, http://tinkerlog.com/2009/06/25/64-synchronizing-fireflies, http://tinkerlog.com/howto/synchronizing-firefly-how-to, |
108e |
|
080538-11 Fahrrad-Ladeschaltung, USB-Ladekabel für Handy und Navi L4805_1a.pdf |
108e | Seite-111,a | Fahrrad-Ladeschaltung, L4805, |
109e |
|
090894-11 Ein Spannungs-Booster mit Arduino IRF644_1a.pdf |
109e | Seite-111,b | Ein Spannungs-Booster mit Arduino, IRF644, Software, |
|
|
|
|
|
x999_c_elektor-x_Inhaltsverzeichnis elektor Halbleiterheft 2010_2b.xls |
|
|
|
|
|
060037-11 Geräte Schutzklassen I II DIN-VDE-0100-ff Vorschriften EN-60335-1_1a.pdf |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
a |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
a |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Rücksetzen eines Programms von einem "Einfrieren"
Während es gut die Software einen Testlauf auf Software für einen Inkubator tat, bis plötzlich am neunten Tag seltsame Dinge geschehen begann. Der LCD einige seltsame Daten und trotz einer niedrigen Temperatur zeigte das Erhitzen in nicht getreten hatte resetted ich die Software, fragen, was es eine Stunde sein könnte, aber erst später wieder etwas ab passiert ist. Diese Zeit trotz der Temperatur weit über der oberen Grenze ist, wurde die Heizung nicht abgeschaltet.
Ich habe meinen Code, das war wirklich nicht so kompliziert: Lesen DSB1820, lesen DHT11, zu vergleichen mit hohen und niedrigen Grenzwert, schalten Sie einen Stift oder ausschalten und den Wert zu einem LCD schreiben und ich konnte nicht einen einzigen Fehler und don finden 't vergessen, es hatte laufen einwandfrei für 9 Tage. Ich vermutete, dass meine Anzeige. Dies war ein 20 × 4 LCD mit I2C-Modul mit 4k7 Pull-up. Dennoch könnte es immer noch einige "statische" gewesen auf dem SDA und SCL Linien, die angeblich das Arduino kann dazu führen, einzufrieren.
Offensichtlich ist das nicht gut, wenn man einen Inkubator ausgeführt werden, wie Sie nicht, es zu überprüfen wollen und Eier gekocht finden.
Also, außer vielleicht die LCD-Kabel ein bisschen Begradigung, entschied ich mich, dass ich einige Software-Schutz erforderlich gegen "einfriert"
Die einzige (und möglicherweise am besten) Weg, dies zu tun, ist mit dem Überwachungszeitgeber. Ich habe nicht in die Einzelheiten zu gehen und den Hintergrund der Watchdog-Timer, aber es nur auf einer praktischen Ebene halten.
Was wir tun ist, um Set-up den Watchdog-Timer, ein System-Reset auszulösen nach 4 Sekunden sagen. Dann in unserem Schleife tun wir einen Reset des Watchdog-Timer, so beginnt es wieder von Null an zu zählen. Also, solange das Programm den Watchdog-Timer sagt: "Ich bin immer noch läuft" nichts wird passieren. Sollte das Programm zufrieren, wird es nicht den Watchdog-Timer zurückgesetzt und dann nach 4 Sekunden der Watchdog-Timer wird das gesamte System zurückgesetzt.
Es ist sehr gut möglich, den Watchdog-Timer zu verwenden, indem die verschiedenen Register selbst zu manipulieren, aber es ist viel einfacher, die Watchdog-Libary zu verwenden, die einen Teil der avr Bibliotheken ist.
Wir tun dies wie folgt:
#include <avr / wdt.h> Leere setup () { wdt_disable (); // Wdt_enable (WDTO_1S); // 1 sec wdt_enable (WDTO_2S); // 2 Sek // Wdt_enable (WDTO_4S); // 4 Sek // Wdt_enable (WDTO_8S); // 8 Sek } Leere Schleife () { wdt_reset (); // Ihr Programm ........ }
Solar - Antrieb eines ATtiny oder Arduino mit einem Kondensator, oder einfach nur AA verwenden? Teil 2
Da ich einen 10.000uF (0.01f) Kondensator hatte und meine Super erwartete, ich frage mich, ob ich vielleicht, dass verwenden könnte, nur eine Schaltung durch die Nacht zu tragen.
Mit Hilfe einer 9-Volt-Solarpanel (und Widerstand) der 10.000uF Kondensator auf 10 Volt aufgeladen wurde ziemlich schnell (es war ein sonniger Tag).
Die Ladung in das durch 1/2 * 0,01 * 10² = 0.5Ws berechnet werden. Aber wie können wir nur bei 5 Volt-Ebene in Wirklichkeit nutzen sie die 0.125 Ws ist.
Auch, wie wir 1,8 Volt als unsere untere Grenze nehmen, müssen wir 0,0126 Ws subtrahieren, uns mit 0.109Ws verlassen.
Mit der zuvor genannten Stromverbrauch von 13.8uWatt, die uns verlässt mit etwa 7900 Sekunden oder 2 Stunden und 12 Minuten, die offensichtlich nicht genug ist, uns durch die Nacht zu tragen.
Dennoch wollte ich testen, ob ich auf dem richtigen Weg war, so habe ich die folgende Schaltung zu meiner Schaltung mit dem voll geladenen Kondensator verbinden:
Wie sich herausstellte, dauerte meine Schaltung für 1 Stunde und 25 Minuten, bevor es schien tot zu sein, die ich für die Berechnung nahe genug erraten ist, wenn man bedenkt es eine alte (> 20 Jahre) Kondensator war das, und vielleicht hatte ein erlitten haben könnte Bit eines Leckstroms. Nun, bevor ich bekommen kritisiert, dass ich nicht in Betracht nehme, dass der Kondensator auch während des Tages ausgetragen wird, weil es die Schaltung dann auch zu füttern hat ... ja, das ist wahr, aber ich wollte nur sehen, ob der Kondensator genügend Last speichern könnte zu beginnen, mich durch die Nacht zu tragen, was sie kann nicht. Die Ladung -und damit die Kondensator- müssten zumindest einige 9-mal größer (so ein 100.000uF minimal) zu sein. Ich hätte gedacht, dass alle gerade durch Berechnung, aber nichts ein Feldtest schlägt, um zu sehen, ob Berechnungen richtig sind.
Wie auch immer, während für meine Super warten, um zu kommen (aliexpress) hatte ich einige Zeit darüber nachzudenken, was Solarcell zu verwenden. Die 9 Volt (5 Watt Ich glaube mich zu erinnern) schien definitiv übertrieben, aber von ein paar alten gardenlamp hatte ich einige kleine Solarpanelen, die 2,5 Volt geliefert. Ich konnte drei von denen, in Reihe geschaltet (wie sie nur 2,5 Volt an einem sonnigen Tag geben). Ich hatte keine Ahnung, was Wattage sie sind, aber sie verwendet werden, eine 1,2V 40mAh NiCad, und einige 300mAh NiCad aufzuladen. Letzteres schien eine bessere Wahl.
Ich konnte Ofcourse ein Solarpanel kaufen , aber ich wollte zuerst mit , um zu versuchen , was ich zur Verfügung hatte.
In Teil 1 I ist ein 1,5 Farad Kondensator bei 5 Volt bis 19,5 Joule aufgeladen berechnet oder 19,5 Wattsekunden.
Wenn man also, daß der Kondensator mit sagen einem 5 Volt 1 Watt Solarpanel man braucht ein Minimum von 19,5 Sekunden zu berechnen will, es aufzuladen (wenn wir über einen Serienwiderstand für eine Weile vergessen).
Thriftstores verkaufen diese kleinen Solar-Gartenleuchten in der Regel für weniger als einen Euro.Thriftstores verkaufen diese kleinen Solar-Gartenleuchten in der Regel für weniger als einen Euro. Sie haben einen kleinen Solarzellen und innerhalb einer Schaltung bauen um einen YX8018 IC, die eine einzelne Zelle NiCad auflädt. manchmal irgendwann ein sehr kleiner (40mah) manchmal ein größeres (800mAh). Sie brauchen einen ganzen Tag der Sonne zu berechnen und bei Dunkelheit eine LED leuchtet für einige Stunden. Nehmen wir nun an die kleinen Solarpanelen aus meinem Garten Licht sind in der Tat genug, um eine 1,2 V 40mAh Zelle zu berechnen, wenn für etwa 8 Stunden aufzuladen links.
Die Zellen sind 1,2 * 40 mWh = 48 MWh erzeugt. Wenn mehr als 8 Stunden geladen, die eine Solarzelle von 6 mW verlässt. Da die Zellen mit 2,5 Volt in hellen Sonne Licht geben, würde ich 2 benötigen, die dann insgesamt 12 mW gibt (das ist nur theoretischer Natur ist, ist es für einen sehr niedrigen Solarcell). Also, wenn ich eine Gebühr von 19.5Ws müssen, dass kommt auf (19500/12 =) 1.625 Sekunden oder 27 Minuten oder 0,5 Stunden die 1,5 Farad Kondensator aufzuladen. Das ist machbar (wenn wir über die poweruse in den Tag vergessen).
Dadurch, dass 0,5 Stunden offensichtlich 13.8uW * 0,5 = 6.2uWh ist nur für die Bearbeitung von dieser Schaltung verwendet, die in Bezug auf die Ladezeit zu ignorieren klein genug ist. Also, wenn ein 1,5 Farad 0,5 Stunden dauert zu laden, sollte meine 10.000uF nehmen 20/100 m oder 12 Sekunden. Mal schauen.
Nun, bevor ich weitergehen, nur ein Wort der Warnung: die Berechnungen ich tun, sind zum Teil Berechnungen beschränken und nicht immer alle praktischen Gegebenheiten Rechnung tragen. Zum Beispiel wird eine 5-Volt-12mW Zelle in der Lage sein, 12/5 = 2,5 mA zu liefern. Allerdings, wenn man einen leeren Kondensator mit einem Serienwiderstand von zB 100 Ohm zu laden versucht, dann den maximalen Strom, der angefordert wird, ist 50mA, offensichtlich die Fotozelle nicht liefern kann, dass so die Spannung abfällt und somit die klassische natürlichen Logarithmus-Kurve Aufladen eines Kondensators nicht gefolgt werden. Für jeden gegebenen Moment wird die Kurve, die die natürliche Logarithmus-Kurve für die Spannung in diesem Augenblick folgen, zu einer längeren Ladezeit führt.
Nur ein Wort: Man könnte die Innereien des billigen Gartenlicht verwenden, so, einschließlich der Schaltung um XY8018 IC die Kappen zu laden, wenn man es bis zu 5 Volt bringt. Verschiedene Schaltungen für die vorhanden sind. Ich beschloss jedoch, um es einfach zu halten und einen geraden laod von einem oder mehreren fotovoltaic Zellen tun.
Dennoch, wie auf halbem Weg durch meine Experimente meine Kohle Aerogel von Aliexpress angekommen (sehr schnelle Lieferung), tat es viel Gebrauch scheinen mit dem 10.000uF mehr zu experimentieren, so in Teil 3 Wir sind auf die eigentliche Arbeit zu gehen.
By the way, hat jemand schon einige Arbeit geleistet .
Solar - Antrieb eines ATtiny oder Arduino mit einem Kondensator, oder einfach nur AA verwenden? Teil 1
Wenn Sie einen Prozessor in einem entfernten Standort aus, die Sie nicht können oder nicht, ein Netzteil Kabel bringen, haben Sie mehrere Möglichkeiten, es mit Energie zu versorgen.
Batterien in den Sinn kommen und diese könnten die Batterien oder nicht sein, oder man kann einen Kondensator verwendet werden. Denn wie auch diejenigen, Energie speichern. Um einen Kondensator mit einer gangbarer Weg machen, offensichtlich muss es sich um eine große zu sein (in der Kapazität, nicht besonders groß), und man hat die Möglichkeit, eine Solarzelle zu ihm hinzufügen.
Da wollte ich ein ATtiny zu füttern, die irgendwo in meinem Garten ist und schläft die meiste Zeit und da ich einige Leer Solarzellen (9 Volt, 2 Volt) hatten diejenigen geeignet schienen, zu verwenden, aber sie bieten nicht viel Energie während der Nacht, brauchte ich auch, dass die Energie zu speichern. Als Speicher NiCad oder sogar kam ein LiPo in den Sinn. Ein Lipo ich, wie es verworfen dauert einige zusätzliche Schaltung jeder anständige Ladung zu tun. Ein nicad muss natürlich einige Überlegungen beim Laden und Entladen als auch, aber sie sind toleranter, wenn auch, dass eine Tiefentladung wird von ihnen in der Regel nicht geschätzt, noch ist eine konstante Ladung.
Daher auch ein "supercapacitor" Ich hielt mit habe ich einen Kondensator von 10.000uF aber man kann , dass eine Doppelschicht - Kondensator kaum nennen, aber heutzutage Super sind leicht verfügbar zu moderaten Preisen . Sie würden einfach in eine Ladeschaltung zu verwenden (im Grunde ein Widerstand wäre genug), und sie nichts dagegen haben häufig Ladung und Entladung. Wie ihre Ladung begrenzt ist, offensichtlich müsste ich eine Solarzelle,
so dass das einzige, was ich sehen musste, wenn sie meine Anwendung "durch die Nacht" tragen würde
Die Ladung eines Kondensators wird in Coulomb (Symbol C) ausgedrückt.
Dies kann ausgedrückt werden als:
C = F * V (wo natürlich 'F' steht für die Kapazität in Farad)
Energie in Joule wird ausgedrückt als:
J = C * V
Welches ist:
F * V * V von F.V²
Jedoch bei einer gegebenen Spannung und Kapazität nur die Hälfte der Energie zur Verfügung steht , den Kondensator zu laden daher die Energie im
Kondensator wird:
J = ½ * F * V²
und Joules kann auch als "Wattsekunden 'ausgedrückt werden:
J = W * s
Wenn wir also die Anzahl der Joules in dem Kondensator bei 5,1 Volt berechnen:
J = 0,5 * 1,5 * 5.1² = 19,5 J
Jetzt offensichtlich werden wir nicht alle, wie die ATtiny verwenden irgendwie nicht mehr bei 1,8 Volt arbeiten. Wenn wir die Zahl der Joules berechnen links noch dann kommen wir zu
J = 0,5 * 1,5 * 1.8² = 2,43 J
So ist die Menge an nutzbarer Energie kommt auf 19,5 bis 2,43 = 17J (abgerundet)
Aus einem früheren Projekt auf einem ATtiny13, die nur schlafen gelegt wurde alle so viele Sekunden zu wecken, fand ich heraus, dass der Stromverbrauch 5,5 uA bei 5 Volt war. Jetzt offensichtlich wird es ein bisschen weniger verbrauchen, wenn die Spannung abfällt, so lässt annehmen 4uA bei einem Durchschnitt von 3,45 Volt (Die durchschnittliche Spannung ist (5,1 + 1,8) /2=3.45 Volt).
Wir können den durchschnittlichen Stromverbrauch als V * I berechnen:
3,45 * 4 * 10⁻⁶ = 13,8 uWatt
wie wir 17 Joules verfügbar und 17 Joules sein 17 Ws (Wattsekunden) haben, können wir die Zeit berechnen:
J = W * s
s = J / W
s = 17 / (13,8 * 10⁻⁶)
s = 17 / 13,8 * 10⁶
s = 1,23 * 10⁶
s = 1230 000 sec (1,23 Millionen Sekunden)
das ist:
20,531 min ist
342 Stunden ist
14 Tage
Nun ist dies nur eine Annäherung, wie könnte es einige Leckstrom sein. Der Prozessor muss einen führte etwas, wenn wach, wie Flash zu tun oder etwas zu senden, so wird es wahrscheinlich nicht die vollen 14 Tage zu machen, aber das ist nicht wichtig, da es offensichtlich genug ist, uns durch die Nacht zu tragen und wahrscheinlich einem bewölkten Tag als auch.
Also, wie wäre dies, wenn ich normale AA-Batterien oder NiCd-Batterien verwendet?
Als Beispiel für die regelmäßige Alkali-Batterien werde ich die allgegenwärtige Philips LR6 nehmen. Zum Glück schon jemand anderes die Energie in diesen Batterien gespeichert , berechnet bei einer Entladung von 100 mA bei 1986 mAh. Da die Leistung dieser Batterien zu erhöhen, wenn die Entladung abnimmt, werde ich 2000mAh für meine Berechnungen verwenden.
Wenn man 3 derjenigen verwendet, um 4,5 Volt zu erhalten, die insgesamt 9000mWh oder 9 Wh sein wird.
Auch hier werden wir das nicht alle in der Lage zu verwenden, wie wir 1,8 Volt als untere Grenze haben, so werden wir mit 3,6 Wh geklebt werden, dass wir 5,4 Wattstunde nutzbare Energie verwenden kann nicht, zu verlassen.
Die mittlere Spannung an den Prozessor wird:
(4,5 + 1,8) /2=3.15 Volt.
der durchschnittliche Stromverbrauch ist somit:
3.15 * 4 * 10⁻⁶ = 12.6uW
wie wir 5,4 Wh zur Verfügung haben, können wir wieder die Zeit berechnen:
h = 5,4 / 12,6 * 10⁶
h = 0.428571 * 10⁶
h = 428.571 h
= 17.857 Tage
= 592 Monate
= 50 Jahre
Beeindruckend. Warum sollte jemand wollen Batterien etwas anderes als LR6 zu benutzen?
Gut aus mehreren Gründen: 3 dieser Batterien mehr Platz und obwohl sie neigen dazu, gut bei niedrigen Temperaturen und niedrigen Entladungsrate zu erfüllen, haben wir alle erlebt, dass Alkaline Batterien in einem kaum verwendete Gerät links neigen zu lecken, auch dieses Gerät zu zerstören durch ihre korrosiv undicht. Vor- und Nachteile von Alkali - Batterien werden hier diskutiert .
Dennoch mit Alkaline-Batterien können eine gute Wahl sein, aber vergessen Sie nicht, sie zu ändern.
NiCd-Batterien gibt eine ähnliche Berechnung. Angenommen, wir verwenden 3-Zellen von 1,2 Volt 2000mAh (oder 2Ah).
Der Gesamtenergie wird 3.6 * 2 = 7,2 Wh
nutzbare Energie wird (3,6-1,8) * 2 = 3,6 Wh
die durchschnittliche Spannung setzen wir bei (3,6 + 1,8) /2=2.70 Volt
Der durchschnittliche Stromverbrauch wird sein:
2.7 * 4 * 10⁻⁶ = 10.8uW (V * I)
Die Zeit wird also sein:
h = (3,6 / 10,8) * 10⁶
= 333333 hr
= 38 Jahre
Nun, wenn das nur wahr ist. Meine Erfahrung mit zum Beispiel Solar-Gartenleuchten (das oft nur eine 800mAh Zelle haben) ist, dass sie nicht in der Regel durch den Winter dauern ... und Geist Sie, diejenigen wieder aufgeladen werden (was zu ihrem Untergang beitragen könnten).
Dennoch können sie eine gute Wahl sein.
In einem folgenden Artikel werde ich einige praktische Beispiele diskutieren
1 Draht LCD - Schnittstelle: Teil 1
Der eine Draht - LCD - Schnittstelle ist bereits seit einiger Zeit im Internet herum gewesen und populär gemacht von Roman Schwarz , obwohl er behauptet , dass er nicht der Erfinder des Prinzips ist. Sein Artikel ist in erster Linie PIC-Prozessor ausgerichtet ist, aber es gibt eine gute Erklärung des Prinzips. Myke Predko ist auch ein Name, der als Pionier in 1 Draht LCD-Fahren nicht unerwähnt sein sollte. Auch dieser Artikel über einen Draht Ansteuerung eines Schieberegisters ist sehr informativ
Die ShiftRegLCD123 Webseite von Raron verwendet , um eine Vielzahl von Informationen zu geben , wie gut, zusammen mit Schaltungen, aber das (Wiki) scheint verschwunden zu sein. Aber seine Bibliothek ist in codebender .
Kurz gesagt, verwendet die One-Wire-Schnittstelle ein eingeklinkt Schieberegister, in dem die Uhr und der Riegel aus dem Datensignal über zwei RC-Netzwerke genommen, die die notwendige Verzögerung erzeugen. Schaltungen sind eine Menge auf dem interweb, aber den richtigen Treiber zu finden, für die es manchmal verwirrend sein kann.
Obwohl die Schnittstelle auf der Daten-, Takt- und Latchleitungen eher Standard ist, hat die Verbindung zwischen dem Schieberegister und dem LCD-dre Hauptvarianten, die jetzt werde ich nur den Roman Black nennen, die LCD3Wire Schaltung (ja, es ist ein Draht) und die ShiftRegLCD123 Schaltung. Auch eine 1 Draht - Schnittstelle (Detlef Hanemann) (Veröffentlicht in der veröffentlichten Elektor hat Ausgabe 9/2015 auf Seite 92) mit noch einmal eine andere Schieberegister zu LCD - Verbindung. Deren Aufbau wird gesagt, haben mehrere Vorteile gegenüber dem Setup von Roman Schwarz verwendet , verwendet es den Q7 'direkte Ausgabe des Schieberegisters die Ausgabe auszulösen Latch - Register automatisch zu übertragen die verschobenen Daten an die Ausgangs - Pins. Aber, dass es erfordert einen Monoflop um ein BS170 FET aufgebaut das E-Impuls zu erzeugen. Das Setup in Francisco Malpartida LCD-Bibliothek verwendet werden soll noch einmal von den anderen 3 und verwendet eine Diode ein UND-Gatter zu schaffen,
ShiftRegLCD123
Malpartida LCD-Bibliothek
. | Roman Black | LCD3Wire | Shiftreglcd | Elektuur | Malpartida |
RS | qc | Qb | qc | Qg | Qg |
R / W | GND | qc | GND | GND | GND |
E | Qd | Qd | Qh | Qh ' | Qh 'Art |
D4 | Qe | Qh | Qd | Qa | Qe |
D5 | Qf | Qg | Qe | Qb | Qd |
D6 | Qg | Qf | Qf | qc | qc |
D7 | Qh | Qe | Qg | Qd | Qb |
diese OneWireLCD fährt unterscheidet sich somit je nach Konfiguration. Die ShiftRegLCD123 Bibliothek kann sowohl die ShiftRegLCD tun und das LCD3Wire Protokoll. Die Flüssigkristall Library of Francisco Malpartida nicht haben ein One - Wire - Protokoll , aber stellen Sie sicher , dass Sie das haben neueste Version . Allerdings setzt sie auf Verbindungen unterscheiden sich von den anderen erwähnt:
// Bit # 0 (QA) - nicht verwendet
// Bit # 1 (QB) - eine Verbindung mit LCD-Dateneingang D7
// Bit # 2 (QC) - stellt eine Verbindung zu LCD-Dateneingang D6
// Bit # 3 (QD) - eine Verbindung mit LCD-Dateneingang D5
// Bit # 4 (QE) - eine Verbindung mit LCD-Dateneingang D4
// Bit # 5 (QF) - optionale Beleuchtung Steuer
// Bit # 6 (QG) - für den Anschluss RS (Register Select) auf dem LCD
// Bit # 7 (QH) - für / CLR auf der HW_CLEAR Version verwendet (kann nicht geändert werden)
// (Q'H) - für ein Latch / EN (über die Diode und "Tor") (kann nicht geändert werden)
// ----------------------------------------------- // // 74HC595 (VCC) // + ---- ---- + U | 2,2 nF // (LCD D7) ------------ 1- | QB VCC | -16 - + + ---- ---- || (GND) // (LCD D6) ------------ 2- | QC QA | -15 | // (LCD D5) ------------ 3- | QD SER | -14 --------- + - [Widerstand] - + // (LCD D4) ------------ 4- | QE / OE | -13 - (GND) 1,5k | // (BL Circuit) -------- 5- | QF RCK | -12 --------- + | // | | \ | // (LCD RS) ------------ 6- | QG SCK | -11 -----------) ------------ - + - (Seri // 7- | QH / CLR | -10 - (VCC) / | // + - 8- | GND Q'H | --9 --- | <| --- + - [Widerstand] - + // | + --------- + Diode | 1,5k // | | // | 0.1uF | // (GND) ----- ---- || (VCC) + ---- ---- || (GND) // | 2,2 nF // (LCD EN) ------------------------------------- + // (LCD RW) - (GND) //
Die Elektuur / Elektor - Konfiguration hat ihr eigenes Programm , oder hier (sowohl direkt als Download - Link)
Eine kapazitive Bodenfeuchtesensor: Teil 3
Zunächst stellte ich mir die Sonde als schlankes Gerät mit einem Draht herauskommt, dass man in den Boden stecken würde, wenn nötig vollständig. Dies würde bedeuten, dass die Schaltung pcb ein integraler Bestandteil der Leiterplatte sein würde, die die Platten gebildet, aber wie immer, die Dinge anders in der Praxis. Zum einen ist das Stück PCB soll ich lange genug, nur war nicht zu verwenden. Zweitens sind meine PCB Ätzen possibilites vorübergehend behindert. Drittens wollte ich eine LDR hinzufügen, was bedeutet, dass ich eine Art lässige Abdeckung haben musste.
Ich konstruierte die Schaltung auf einem kleinen Stück stripboard:
Im Hinblick auf die LDR, ist sicher, dass Unsinn. Wenn ich eine LDR hinzufügen möchten könnte ich genauso gut fügen Sie ihn in meine Basisstation. Aber ich füge es nicht, weil ich muss, ich füge es, weil ich kann, und da wollte ich in der Programmierung einer I2C Slave etwas Erfahrung zu bekommen. Ein LDR vielleicht nicht so sehr nützlich sein, aber in Zukunft kann ich einen weiteren Sensor, ega Sensor wollen, der liest, wenn es wirklich Wasser ist aus dem Spülrohr fließt.
Ich hatte auch Platten auf Putting den Kondensator entschieden Rücken an Rücken, aber da ich nicht doppelseitige Leiterplatte hatte ich verwendet nur zwei Stücke geklebt und gelötet (!) Zusammen.
So war meine BOM ziemlich einfach:
- 2 gleich große Stücke von PCB Größe hängt davon ab, was Sie haben, aber sie nicht zu klein machen. Früher habe ich 12 × 3 cm.
- 1 Stück von 0,5-1,0 cm Kunststoff für eine Fußleiste. Ich benutzte einen alten Schneidebrett.
- 1 klar / transluzente Abdeckung, habe ich den Deckel eines Schlagsahne Sprühdose.
- 1 Stück dünnes 4-Draht-Kabel, Länge je nach Bedarf
Ich klebte die beiden piecesof pcb Rücken an Rücken. ein Loch in allen 4 Ecken gebohrt und durch ein Stück Draht durch jedes Loch angelötet, so zusammen, um die Platten zu verankern. Ich entfernte etwas Kupfer um das Lot so wäre es eine Insel vom Rest der Platte isoliert werden. (Siehe Bild).
die Platten Löten miteinander in den Ecken nicht notwendig sein, wenn Sie sich entscheiden, sie elektrisch aus dem Boden isolieren zB mit Schrumpfschlauch.
Schließlich werde ich auch einen NTC auf der Platte bringen, nachdem es mit Schrumpfschlauch abgedeckt ist. Ästhetisch könnte es besser sein, den NTC unter den Schrumpfschlauch zu setzen, aber das könnte eine Lufttasche schaffen.
Ich habe die Grundplatte aus einer o, 5 cm dickes Stück aus weichem Kunststoff.
Schneiden Sie eine runde Form mit einem Durchmesser von 5,5 cm passen die Basis meiner klaren Kuppel und einen Schlitz 3 x0.3 cm in dem, in dem die PCB eng passt.
Schneiden Sie eine runde Form mit einem Durchmesser von 5,5 cm passen die Basis meiner klaren Kuppel und einen Schlitz 3 x0.3 cm in dem, in dem die PCB eng passt. ein rundes Loch für das Verbindungskabel.
Ich gelötet zwei Drähte auf der Oberseite der Leiterplatte, eine auf jeder Seite. Verlötet Drähte auf einem NTC, isoliert diejenigen, angebracht, um die NTC auf der Unterseite der Leiterplatte mit den Drähten an die Spitze führen und dann die Platine mit Schrumpffolie abgedeckt.
Verlötet Drähte auf einem NTC, isoliert diejenigen, angebracht, um die NTC auf der Unterseite der Leiterplatte mit den Drähten an die Spitze führen und dann die Platine mit Schrumpffolie abgedeckt.
Schließlich sieht die Sonde so (Bild)
Schließlich sieht die Sonde so (Bild)
Eine kapazitive Bodenfeuchtesensor: Teil 2
In einem früheren Artikel stellte ich eine einfache Möglichkeit, einen kapazitiven Feuchtesensor mit einem einfachen RC-Generator zu lesen.
In diesem Beitrag werde ich einen Sensor mit einigen zusätzlichen Funktionen vorstellen, die durch I2C gelesen werden kann. Die Schaltung (Bild) benötigt nicht viel Erklärung: Der RC-Generator wir im vorherigen Artikel und die beiden variablen Widerstände in einem Spannungs teilen sah durch analoge Eingänge lesen. Die ATtiny 45 (beachten Sie, ist es kein ATtiny25) ist das Herz, oder besser gesagt die Gehirne des Sensors. Da die ATtiny fungiert als I2C Slave werden wir die TinyWireS Bibliothek benötigen. Die Bibliothek wird mit einigen Beispielen und ein Beispiel dafür war ganz einfach zu überarbeiten, was ich brauchte. Der Code ist wie folgt.
#define I2C_SLAVE_ADDRES 0x4 #include <TinyWireS.h> //https://github.com/rambo/TinyWire #ifndef TWI_RX_BUFFER_SIZE #define TWI_RX_BUFFER_SIZE (16) #endif flüchtigen uint8_t i2c_regs [] = { 0x00, 0x00, 0x00, 0x00, }; // Verfolgt die aktuelle Zeigerposition Register volatile Byte reg_position; const Byte reg_size = sizeof (i2c_regs); Byte LDRvalue; Byte NTCvalue; int MoistPulse; / ** * Dieser für jede Leseanforderung genannt wir erhalten, setzen Sie nie mehr als ein Byte Daten (mit TinyWireS.send) an die *-Puffer senden, wenn diesen Rückruf mit * / nichtig requestEvent () { TinyWireS.send (i2c_regs [reg_position]); Erhöhe // die reg-Position auf jedem Lese und Schleife zurück auf Null reg_position ++; if (reg_position> = reg_size) { reg_position = 0; } } / ** * Die I2C-Daten empfangen -Handler * * Dies muss abgeschlossen sein, bevor die nächste eingehende Transaktion (die Daten beginnen, starten / stoppen) auf der Bus tut * So schnell sein, setzen Sie Flags für Aufgaben mit langer Lauf vom mainloop statt sie laufen direkt aufgerufen werden, * / nichtig receiveEvent (uint8_t howMany) { if (howMany <1) {// Sanity-Check return; } If (howMany> TWI_RX_BUFFER_SIZE) { // Auch verrückt Zahl Rückkehr; } reg_position = TinyWireS.receive (); wie viele--; if (! howMany) { // Diese Schreib war nur der Puffer für die nächste Lese einstellen Rückkehr; } während (howMany--) { i2c_regs [reg_position] = TinyWireS.receive (); reg_position ++; if (reg_position> = reg_size) { reg_position = 0; } } } Leere setup () { pinMode (1, INPUT); TinyWireS.begin (I2C_SLAVE_ADDRESS); TinyWireS.onReceive (receiveEvent); TinyWireS.onRequest (requestEvent); } Leere Schleife () { readSensors (); / ** * Dies ist der einzige Weg, wir Stoppzustand erkennen kann (http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=984716&sid=82e9dc7299a8243b86cf7969dd41b5b5#984716) * Muss es in einem sehr engen Schleife um genannt zu werden, keine zu verpassen (ERINNERUNG: Sie * nicht * Nutzung Verzögerung () überall, Verwendung tws_delay () statt). * Es wird die Funktion registriert über TinyWireS.onReceive () aufgerufen werden; Wenn Daten in dem Puffer auf Anschlag. * / TinyWireS_stop_check (); } Leere readSensors () { LDRvalue = (analogRead (A2)) >> 2; // Max Wert 1023/4 = 255 1 Byte (FF) physikalische pin3 = PB4 = A2 i2c_regs [0] = LDRvalue; NTCvalue = (analogRead (A3)) >> 2; // Max Wert 1023/4 = 255 1 Byte (FF) pin2 = PB3 = A3 i2c_regs [1] = NTCvalue; // Pulsepin = PIN6 = PB1 MoistPulse = pulseIn (1, HIGH); i2c_regs [2] = HighByte (MoistPulse); // Oder Verwendung = MoistPulse >> 8; i2c_regs [3] = LowByte (MoistPulse); // Oder Verwendung = MoistPulse & 0xFF; }
Ich habe die pulseIn Funktion mit einer ganzen Zahl und nicht mit einer langen genannt. Dies bedeutet, dass Sie einen Wert für R3 haben zu wählen, die für die Art des Bodens, die Sie verwenden, um eine angemessene Auswahl gibt. Eine Reihe von etwa 0-200 uS ist sehr vernünftig. Sobald Sie getan haben, dass Sie auch ein Timeout auf die pulseIn Funktion hinzufügen können. Dies sollte 2 mal die Impulslänge abt werden Sie erwarten (aber abhängig von der Einschaltdauer). Im Hinblick auf die beiden variablen Widerstände, sind sie in hochziehen , so ist ihr Wert R ntc = R - Serie / ((1023 / ADC) - 1)); Für den NTC könnte dies in einem Steinhart Hart Näherung ersetzt werden
Der Code, um die Werte zu nennen (und das wird auf den Master Arduino geladen) ist noch einfacher:
#include <Wire.h> Leere setup () { Wire.begin (); // Beitreten I2C-Bus (Adresse optional für Master) Serial.begin (9600); // Für serielle Ausgangs starten } Leere Schleife () { für (Byte i = 0; i <4; i ++) { Serial.print ( "0x"); Serial.println (Read Register (i), HEX); // Das Zeichen drucken } Serial.println ( ""); Verzögerung (1000); } uint8_t Read Register (uint8_t regaddress) { Wire.beginTransmission (4); Wire.write ((Byte) regaddress); Wire.endTransmission (); Wire.requestFrom (4, 1); Rückkehr Wire.read (); Verzögerung (500); }
Dieser Code druckt nur die Werte aus, müssen Sie noch das LSB und MSB aus der Zykluszeit kombinieren und zB Schalter einer Pumpe basiert auf dem Wert. Sie könnten das tun mit dieser Funktion:
int kombinieren (Byte lsbv, Byte MSBV) { int value = MSBV << 8; Wert = Wert | lsbv; // Value = MSBV << 8 | LSVB; // wenn man es in einem Rutsch machen wollen Rückgabewert; }
Don 't vergessen, dass die I2C Linien müssen Pull-up-Widerstände von 4.7-10k.
In einem nächsten Artikel werde ich den Bau der Sonde selbst präsentieren.
Eine kapazitive Bodenfeuchtesensor: Teil 1
Eine automatisierte Anlage / Gartenbewässerungsanlage ist eine beliebte Anwendung für die Arduino und andere Mikrocontroller. Der Feuchtigkeitssensor, der oft verwendet wird, ist oft ein Widerstandsmesser: 2 Sonden im Boden einen Widerstand bilden, und als Teil eines Spannungsteilers, der Informationen über die Menge an Wasser im Boden gibt.
Der Hauptnachteil dieser Sensoren besteht darin, dass, da ein Strom fließt, ist die Sonde gegen elektrolytische Korrosion empfindlich ist. Ein weiterer Nachteil ist, dass es wirklich Informationen über die Bodenfeuchtigkeit geben tut, sondern mehr auf die Ionenkonzentration im Boden. Denken Sie daran: reines Wasser ist ein schlechter Leiter, es sind die Ionen im Wasser, dass es sich um eine Leiter zu machen.
Um rund um die Korrosion, haben die Menschen begonnen, die Sonde mit AC statt Gleichstrom zu versorgen, sondern allenfalls die Schaltungen für diese Versorgung eine pulsierende Gleichstrom. Eine andere Möglichkeit, um Korrosion zu minimieren, wird der Strom auf der Sonde auszuschalten und nur einschalten, wenn eine Messung durchgeführt wird, etwa alle 5 Minuten.
All diese Maßnahmen helfen, aber selbst dann nur durch den Kontakt mit feuchter Erde, das Metall auf der Sonde korrodieren und Wetter.
Eine andere Methode ist die Sonden in Gips zu umhüllen. Manche Leute schwören auf sie, aber ich denke, es ist lästig ist. Auch der Putz verkleidet Sonde hat eine Verzögerung, da sie Wasser für einige Zeit beibehalten wird, nachdem der Boden bereits trocken ist, und es wird noch einige Zeit trocken sein, nachdem der Boden bereits feucht ist.
Kapazitive Mess ist ein Weg, um diese Probleme zu vermeiden. Mit kapazitiver Messung kann die "Platten" des Kondensators elektrisch vom Boden und der Boden in der Tat Formen isoliert werden, um die dielectrum des Kondensators. Wasser macht einen guten dielectrum, während Ionen nicht. Kapazitive Messung wird daher eine bessere Korrelation mit der tatsächlichen Menge an Wasser im Boden als resistive Mess und, wie gesagt, im Idealfall wird es keine Korrosion sein.
Obwohl die Arduino Kapazität messen kann, braucht es 3 Pins dafür. Auch es ist nicht wirklich praktisch, einen langen Draht als Teil der Bodensonde Kondensator zu haben, gehen Sie zu Ihrem Arduino wie der Draht, und ob sie glatt oder lockig oder in einer Schleife, wird als parasitäre Kapazität wirken und Einfluss auf die Messung.
Ihr Arduino direkt auf Ihren plantbed Putting nicht auch die beste Lösung sein.
Eine bessere Möglichkeit, dies zu tun, ist ein RC-Oszillator einzuführen, in der die Bodenfunktionen als Kondensator und dem Arduino die Frequenz misst, die aus dem Oszillator kommt. Mehr Wasser wird der Wert des 'Kondensator' erhöhen, die üblicherweise die Frequenz senken wird (oder die Zykluszeit erhöhen) und die mit dem Arduino gemessen werden.
Ein einfacher RC-Oszillator in der Figur auf der rechten Seite zu sehen. Ein 74HC14 oder 74HCT14 Inverter Schmitt-Trigger ist alles, was Sie brauchen. Für die HC-Version ist die Frequenz:
f = 1 / T = 1 / (0,8 * R * C)
für die HCT-Version ist es:
f = 1 / T = 1 / (0,67 · R · C)
Aber in der Tat ist die Frequenz nicht wirklich so wichtig, weil wir keine Frequenzmesser zu machen. Wir sind nur daran interessiert, Änderungen der Frequenz, die trockenen, feuchten oder nassen Boden betreffen. Die Funktionsweise dieser Art von Oscillator werden hier erläutert . und hier . Die Theorie hinter der Frequenzberechnung erläutert hier .
Getestet habe ich mein Set-up zunächst mit einer Art von Leyden Jar als Kondensator.Getestet habe ich mein Set-up zunächst mit einer Art von Leyden Jar als Kondensator. Einfach gesagt: Ich klebte zwei Stücke Alufolie auf der Außenseite von einem Glas, befestigt Drähte zu ihm und versuchte, wenn ich einen Wechsel zwischen einem leeren und einem vollen Glas messen konnte. Ich begann ein 100k Widerstand mit, bekam aber nur eine gute Auswahl nach einem 2M2 Widerstand mit: ein leeres Glas gab mir 1uSec (vielleicht weniger, aber ich denke, das war meine untere Grenze) ein halb volles Glas um 50US und ein volles Glas über 100U (mit PulseIn gemessen). einen bekannten Kondensator aus der Verwendung wusste ich, dass ich die Formel f = 1 / T = 1 / (0,67 * R * C) verwenden musste, aber wie gesagt, weder die Frequenz oder die tatsächlichen Kapazitätswert sind von großer Bedeutung, da wir gerade suchen für Änderungen.
Dennoch ist die Kapazität dieses Glas (wenn voll) konnte berechnet werden
100 * 10⁻⁶ = 0,67 * 2,2 * 10⁶ * C
C = (100 * 10⁻⁶) / (1,47 * 10⁶)
C = 68 * 10⁻¹²
C = 68pF
Nun natürlich ist dies nicht ganz korrekt als mit PulseIn Wir haben leider nur einen halben Zyklus gemessen, so in der Tat die Kapazität eher 136pF zu sein, vorausgesetzt, die den Dauerbetrieb mit 50% (einige Quellen sagen, es ist 50% andere sagen, es ist 33% mit dem Raum 2 * Markierung).
Byte-Pin = 8; unsigned langer Dauer; Leere setup () { pinMode (pin, INPUT); Serial.begin (115200); } Leere Schleife () { Dauer = pulseIn (Pin, HIGH); Serial.print ( "Time"); Serial.print (Dauer); Serial.print ( "usec"); Serial.print (500 / Dauer); Serial.print ( "kHz"); Serial.print (500000 / Dauer); Serial.println ( "Hz"); Verzögerung (500); }
Dann war es Zeit, einige Gartenfeldversuchen zu tun. Es gibt mehrere Möglichkeiten, um eine Sonde zu konstruieren: zwei Stücke von PCB in einem Abstand von einander, ein Stück der PCB mit zwei Platten auf sie oder ein Stück doppelseitigen Leiterplatten geätzt. Mit regerd zu letzterem, neigen wir mit einem dielectrum eines Kondensators als zwei Platten zu denken dazwischen, aber in der Tat kann es auch zwei Platten mit einem dielectrum herum sein.
Mein Garten Feldtest mit zwei isolierten Platten von PCB (Bild) gab irgendwie ähnliche Ergebnisse wie mit der Leidener Flasche so wusste ich, dass ich ein anständiges Design hatte.Mein Garten Feldtest mit zwei isolierten Platten von PCB (Bild) gab irgendwie ähnliche Ergebnisse wie mit der Leidener Flasche so wusste ich, dass ich ein anständiges Design hatte.
Doch zwei Platten ist nicht wirklich sehr praktisch: Sie haben einen losen Draht, die Platten verbinden und so, dass ein Teil des Kondensators bildet führt sie Streukapazität, so entschied ich mich für zu gehen entweder einer doppelseitigen Leiterplatte oder eine einseitige Platine mit zwei Platten auf sie geätzt und legen dann den Oszillator auf dieser als auch PCB. Ehrlich gesagt, diese Idee ist nicht neu, wie viele der (halb) DIY (zB die "Chirp") oder kommerzielle kapazitive Sonden folgen auch, dass Design.
Nun ist es immer gut, dass, bevor Sie eine PCB machen zu durchdenken, was Sie wollen. Da ich nur 1/6 der 74HCT14 wurde mit, ich dachte, vielleicht könnte ich für zB auch die anderen Gates als RC-Oszillatoren verwenden ein LDR oder NTC. Nun ofcourse wies ich sofort, dass wieder, wie ich könnte genauso gut ein Analogon von denen lesen verwenden, und ich würde zusätzliche Kabel zu laufen haben, die alle ein Frequenzsignal führen würde, keinen Zweifel diejenigen stören würde, aber es hat mir denken. Die "Chirp" hat einen großen Bruder, der eine I2C-Schnittstelle hat, wenn ich das hinzufügen würde, könnte ich einige andere Sensoren (Licht, Temperatur) auf meine Sonde hinzufügen. Mit nur den kapazitiven Sensor hätte ich drei Drähte laufen (+ Vcc, Signal, Masse). Mit I2C 4 Adern (+ Vcc, SDA, SCL, Masse) würde für eine Reihe von Sensoren, die auf meine Sonde genug sein. Auch, wie ich verschiedene plantbeds haben, würde nicht eine Reihe von I2C-Sonden, die erfordern mehr Eingänge auf meinem Arduino.
Offensichtlich bedeutete, dass das Hinzufügen I2C Hinzufügen eines Mikrocontrollers, vorzugsweise eine billige, die leicht einen zum ATtiny25 bringt / 45 / Serie 85. Wenn Sie gute Sehkraft und eine ruhige Hand haben, können Sie die soic Version betrachten, die von 30 bis 70 cts zur Verfügung steht. Wenn Sie einen DIP-Version zu gehen, ist, dass etwa 0,9-1 Euro. Betrachtet man kann für etwa 1,20, eine ganze Pro Mini bekommen offensichtlich ist, dass ein schmaler Spalt und ich (oder Sie) könnte in Erwägung ziehen jedes geben eine ganz spezielle Pro Mini Mikroprozessor plantbed, die auch Pflege der Bewässerung nehmen könnte.
Having said that, in der Vergangenheit habe ich ein eigenständiges System für plantbeds gemacht, nur 1 Opamp mit, vielleicht sollte ich gerade diese I2C eines "Lernübung" excercise
Ich kam mit der folgenden Schaltung auf. Es ist einfach, den RC-Oszillator zu erkennen. Der Zyklus-Signal wird an PB1 während die analogen Eingänge auf PB3 und PB4 eingespeist
A3 = PB3 = physikalische pin2; A2 = PB4 = physical pin3.
Pin PB2 wird als SCL-Signal und PB0 als SDA Signal für die I2C-Schnittstelle verwendet.
Wenn aus irgendeinem Grund müssen Sie nicht einen 74HCx14 in der Toolbox haben, gibt es andere Möglichkeiten für den Bau eines RC-Generator. ZB ein 555 oder ein 74HC00. Sogar ein einzelner Transistor verwendet werden könnte. Mit dieser Art von Oszillator erreicht den Tastverhältnis 50%
In einem nächsten Artikel werde ich erörtern, wie die I2C-Software zu implementieren.