Innholdsfortegnelse:
Video: Endre LED -farger ved hjelp av en POT og ATTINY85: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
I dette prosjektet bruker vi et potensiometer (POT) for å endre fargene i en LED ved hjelp av en ATTINY85.
Noen definisjoner -
Et potensiometer er en enhet med en liten skrue / svingemekanisme som når den vendes gir forskjellige elektriske motstander. Du kan se fra det kommenterte bildet ovenfor at POTEN har 3 pinner, nemlig +, - og utgang. POTEN drives av å koble + og - pinnene til henholdsvis vcc og jord på en strømforsyning. Når POT -skruen dreies, endres utgangsmotstanden og får LED -en til å senke eller øke i intensitet.. Med andre ord er det en variabel motstand. De brukes til ting som lysdimmere hjemme.
LED - Dette er et lite lys som lyser når elektrisk strøm passerer gjennom den. I dette tilfellet vil vi bruke en flerfarget LED som har 3 pinner, en bakke (midten) og to pinner som viser henholdsvis grønt og rødt når det utløses.
ATTINY85-dette er en liten rimelig mikrobrikke som du kan programmere som en Arduino.
Oversikt - Utgangen fra POT er koblet til ATTINY85. Når POT -skruen dreies, sendes en differensmotstand ut som et tall mellom 0 og 255. ATTINY kan måle dette og utføre forskjellige handlinger avhengig av verdien på POT -motstanden. I dette tilfellet har vi programmert den til å koble til LED som følger.
Hvis tallet er større enn 170, bytt lysdioden til GRØNN.
Hvis tallet er mindre enn 170 men større enn 85, bytter du LED til RØD.
hvis tallet er mindre enn 85, slå på LED GRØNN OG RØD som resulterer i ORANGE.
BOM
1 x 3 -pins LED1 x ATTINY 85
1 x POT (B100K)
1 x brødbrett og kabler
1 strømforsyning.
Trinn 1: Programmering av ATTINY85
Når det gjelder programmering av ATTINY85, vennligst se min tidligere instruerbare-https://www.instructables.com/id/15-Dollar-Attiny8…
Koden er vist nedenfor. Noen punkter å merke seg er at to ATTINY -pinner, PB3, fysisk pin 2, PB2, fysisk pin 7, er koblet til LED -en i digital modus for å endre fargeendringer. ATTINY pin PB4, fysisk pin 3, er koblet til POT i analog modus, noe som betyr at den kan lese verdier mellom 0 og 254. Jeg tilpasset kode som jeg fant på internett, så jeg erkjenner at arbeidet fungerer. -
ugyldig initADC () {// *** // *** Pinout ATtiny25/45/85: // *** PDIP/SOIC/TSSOP // *** =============== ====================================================== ============================= // *** // *** (PCINT5/RESET/ADC0/dW) PB5 [1]* [8] VCC // *** (PCINT3/XTAL1/CLKI/OC1B/ADC3) PB3 [2] [7] PB2 (SCK/USCK/SCL/ADC1/T0/INT0/PCINT2) //* ** (PCINT4/XTAL2/CLKO/OC1B/ADC2) PB4 [3] [6] PB1 (MISO/DO/AIN1/OC0B/OC1A/PCINT1) // *** GND [4] [5] PB0 (MOSI/ DI/SDA/AIN0/OC0A/OC1A/AREF/PCINT0) // *** // pb4 - inngang for POT // pb3 led pin 1 // pb2 led pin 3 // ATTINY 85 frekvens satt til intern 8 MHz/* denne funksjonen initialiserer ADC
ADC Prescaler Notater:
ADC Prescaler må stilles inn slik at ADC -inngangsfrekvensen er mellom 50 - 200 kHz.
For mer informasjon, se tabell 17.5 "ADC Prescaler Selections" i kapittel 17.13.2 "ADCSRA - ADC Control and Status Register A" (side 140 og 141 på det komplette ATtiny25/45/85 databladet, Rev. 2586M – AVR – 07/ 10)
Gyldige forkalkningsverdier for forskjellige klokkehastigheter
Klokke Tilgjengelige verdier for forkalkning --------------------------------------- 1 MHz 8 (125kHz), 16 (62,5 kHz) 4 MHz 32 (125 kHz), 64 (62,5 kHz) 8 MHz 64 (125 kHz), 128 (62,5 kHz) 16 MHz 128 (125 kHz)
Nedenfor eksempel setter prescaler til 128 for mcu som kjører på 8MHz
(sjekk databladet for de riktige bitverdiene for å stille inn forkalkeren) */
// 8-biters oppløsning
// sett ADLAR til 1 for å aktivere venstre-skift-resultatet (bare bitene ADC9.. ADC2 er tilgjengelige) // da er bare lesing av ADCH tilstrekkelig for 8-bits resultater (256 verdier) DDRB | = (1 << PB3); // Pin er angitt som en utgang. DDRB | = (1 << PB2); // Pin er angitt som en utgang. ADMUX = (1 << ADLAR) | // venstre skiftresultat (0 << REFS1) | // Angir ref. spenning til VCC, bit 1 (0 << REFS0) | // Angir ref. spenning til VCC, bit 0 (0 << MUX3) | // bruk ADC2 for inngang (PB4), MUX bit 3 (0 << MUX2) | // bruk ADC2 for inngang (PB4), MUX bit 2 (1 << MUX1) | // bruk ADC2 for inngang (PB4), MUX bit 1 (0 << MUX0); // bruk ADC2 for inngang (PB4), MUX bit 0
ADCSRA =
(1 << ADEN) | // Aktiver ADC (1 << ADPS2) | // sett prescaler til 64, bit 2 (1 << ADPS1) | // sett prescaler til 64, bit 1 (0 << ADPS0); // sett prescaler til 64, bit 0}
int main (ugyldig)
{initADC ();
mens (1)
{
ADCSRA | = (1 << ADSC); // start ADC -måling mens (ADCSRA & (1 << ADSC)); // vent til konverteringen er fullført
hvis (ADCH> 170)
{PORTB | = (1 << PB3); // Pin satt til HIGH. PORTB | = (1 << PB2); // Pin satt til HIGH. } annet hvis (ADCH 85) {PORTB | = (1 << PB3); // Pin satt til HIGH. PORTB & = ~ (1 << PB2); // Pin satt til LOW
} annet {
PORTB | = (1 << PB2); // Pin satt til HIGH. PORTB & = ~ (1 << PB3); // Pin satt til LOW
}
}
retur 0;
}
Trinn 2: Krets
ATTINY pins
PB3, fysisk pin 2 - tilkoblet LED -pin 1
PB4, fysisk pin 3, er koblet til den midtre pin POT
GND, fysisk pin 4, er koblet til den negative skinnen - strømforsyning
PB2, fysisk pin 7 - tilkoblet LED -pin 3
VCC, fysisk pin 8, er koblet til den positive skinnen - strømforsyning
GRYTE
pos og neg pin koblet til respektive skinner - strømforsyning.
LED
midtstiftet koblet til den negative skinnen - strømforsyning
Jeg eksperimenterte med å bruke en 3 og 3,3 volt strømforsyning, og begge fungerte.
Trinn 3: Konklusjon
ATTINY85s evne til å bevege seg mellom analog og digital modus er veldig kraftig og kan brukes i en rekke forskjellige applikasjoner, f.eks. kjøre motorer med variabel hastighet og lage musikknoter. Jeg vil utforske dette i fremtidige instrukser. Jeg håper du har funnet dette nyttig.
Anbefalt:
DIY -- Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: 6 trinn
DIY || Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: Mens du lager en edderkopprobot, kan du lære så mange ting om robotikk. Som å lage roboter er både underholdende og utfordrende. I denne videoen skal vi vise deg hvordan du lager en Spider -robot, som vi kan bruke ved hjelp av smarttelefonen vår (Androi
RG 1/144 Unicorn Gundam ved hjelp av Arduino Nano og Attiny85: 10 trinn
RG 1/144 Unicorn Gundam Ved hjelp av Arduino Nano og Attiny85: RG Unicorn Gundam er endelig ferdig. Personlig har mange ideer og konsepter introdusert og bevist, men det faktiske resultatet er egentlig ikke satistisert. Dette ville på grunn av stabiliteten til tilleggsstrukturen på 1/144 -modellen ikke være like god
Hvordan brenne ATTiny85 ved hjelp av Arduino-Mega som ISP: 5 trinn
Hvordan brenne ATTiny85 ved hjelp av Arduino -Mega som ISP: Bidragsytere - Sayan Wadadar, Chiranjib Kundu Programmering av ATTiny85 ved bruk av Arduino MEGA2560 som Internett -leverandør. For noen måneder siden prøvde jeg å krympe Arduino -prosjektet mitt ved hjelp av min Attiny 85 ic. Det var første gang jeg prøvde å programmere en 20u ATTiny 85 ved hjelp av
Hvordan lage en drone ved hjelp av Arduino UNO - Lag en quadcopter ved hjelp av mikrokontroller: 8 trinn (med bilder)
Hvordan lage en drone ved hjelp av Arduino UNO | Lag en Quadcopter ved hjelp av mikrokontroller: Introduksjon Besøk min Youtube -kanal En Drone er en veldig dyr gadget (produkt) å kjøpe. I dette innlegget skal jeg diskutere hvordan jeg får det billig? Og hvordan kan du lage din egen slik til en billig pris … Vel, i India er alle materialer (motorer, ESCer
Enkel binær klokke ved hjelp av Attiny85: 10 trinn
Enkel binær klokke ved hjelp av Attiny85: Hilsen! I denne instruksjonene viser jeg hvordan du lager en minimalistisk og enkel binær klokke ved hjelp av en arduino uno og en attiny85.Hvis du aldri brukte arduinoen din til å programmere andre mikrochips, vil du se at det er veldig enkelt å gjøre (Jeg prøvde det for første gang