Shldnt u zitten kundig voor zien dit Instructable want het is niet-gepubliceerde. Ik was vergeten dat ik had een soortgelijke transactie voordat
De Attiny-13, 25, 45, 85 zijn charmante kleine chips die zoals de naam het zegt, zijn klein. Zij worden geacht te hebben 6 I/O pinnen maar pin nummer één (PB5/ADC0) verdubbelt als resetpin en om het te gebruiken als een I/O pin, moet u de juiste zekeringen in de chip. Dat is niet zo moeilijk, maar het probleem is dat zodra die fuse is ingesteld, de chip kan niet worden geherprogrammeerd door SPI, maar moet een hoge Voltage programmeur die eerst moet de specifieke fusebit weer gereset.
Hoewel het was mij een beetje onduidelijk wat de vereiste Low Voltage is dat de resetpin voor een Reset moet, lijkt het dat het lager is dan wat in het algemeen wordt geïnterpreteerd als een 'laag'. Dat potentieel opent mogelijkheden om te gebruiken het bereik tussen + Vcc en Vreset om invoer, zonder het resetten van de chip om te testen dit gebruikte ik een Attiny13, vastgehaakt aan een LED en een weerstand te PB0 en het middelste contact van een 25 k variabele weerstand op Pin 1 en de buitenste aangesloten contactpersonen naar Vcc en 0V respectievelijk. Ik laadde vervolgens de Attiny met het volgende programma:
// Using the Reset pin as ADC0 const int Led = 0; int x=0; void setup() { pinMode(Led, OUTPUT); } void loop() { digitalWrite(Led,HIGH); x=analogRead(0); delay(x); digitalWrite(Led,LOW); delay(x); }
Wanneer de variabele weerstand staat helemaal tot aan de + Vcc spoor, knippert de LED in een regelmatig ritme. Wanneer ik de variabele weerstand afgewezen, de knipperende frequentie ging, dat wil zeggen een snellere knipperende LED... zoals verwacht. Dit ging tot de LED plotseling stopt opvlammen (als de resetfunctie geschopt in). Het blijkt dat het punt van de reset op 9 K Ohm was. Die is gelijk aan 5 *(9/25) = 45/25=9/5=2.2 Volt. Dat is over het algemeen niet veel verschillend van wat wordt beschouwd als een laag en het is een beetje hoger dan wat ik begreep de Vreset te zijn.
Daarom gebruiken als een igitale Input pin misschien wel een beetje lastig, maar het biedt genoeg mogelijkheden om te gebruiken het bereik tussen Vreset en Vcc voor analoge ingang, zij het een beetje van een gecomprimeerde bereik.
Als natuurlijk heb je niet een circuit dat altijd op de rand van het resetten, we moeten opbouwen in een bepaalde vorm van bescherming is: iets dat de spanning op pin 1 houdt van het raken van 2.2 Volt.
Laten we het 2e circuit. Stel dat de laagste weerstand van de LDR we meten onder de lichtomstandigheden we gebruiken 1k. Dan we weten dat de stroom door die 1 k minimaal 2.2 moet mA verblijven boven de Reset spanning. Vandaar dat de totale weerstand van de LDR + de weerstand moet 5/2.2=2.27k, vandaar de weerstand mag niet meer dan 1, 27 k. De dichtstbijzijnde E12-waarden zijn k 1.2 en 1.5 k en we moeten kiezen 1.2k veilig te zijn.
Natuurlijk kan men gebruik maken van het circuit met de weerstand en LDR uitgewisseld, maar dan is het veel moeilijker voor het berekenen van dat een veilige weerstand zoals in duisternis de waarde van de LDR kan oplopen tot meerdere Mega Ohm, aangedrongen op een weerstand die in dat hetzelfde bereik.
Gezien het feit dat het niveau van de Reset op 2.2 Volt, ik heb niet de moeite genomen om te proberen als het met digitalRead werken zou.
Uiteraard de methode heeft een aantal nadelen, vooral een gecomprimeerde bereik, maar als je alleen maar dat een extra pin hoeft voor het meten van licht en het niet de moeite waard omhoog naar een attiny 44 of een attiny 2313, deze methode alleen kan het verschil maken