Esimerkki painikkeiden liittämisestä. Mikro-ohjaimen käynnistäminen (alkutilaan palautus) Kellopainikkeen kytkeminen mikro-ohjaimeen

AVR-mikrokontrollereita on kahta päätyyppiä. Ensimmäinen niistä on suunniteltu saavuttamaan maksimaalinen suorituskyky korkeilla taajuuksilla, toinen on tarkoitettu taloudelliseen käyttöön matalilla kellotaajuuksilla. Toisen tyypin mikropiirin merkintä eroaa ensimmäisestä siinä, että kirjain “L” on lisätty loppuun. Esimerkiksi ja , ja .

Ensimmäisen ryhmän mikro-ohjaimet mahdollistavat virransyötön välillä 4,5 - 5,5 volttia kellotaajuudella 0...16 MHz (joissakin malleissa - jopa 20 MHz, esimerkiksi tai ), toisen - 2,7...5,5 , vastaavasti volttia taajuudella 0...8 MHz (useimmissa malleissa joissakin malleissa voi olla kapeampi alue). Myös niiden nykyinen kulutus vaihtelee: L-indeksillä varustetut mikro-ohjaimet kuluttavat vähemmän sähköä.

On myös mikrokontrollereita, joilla on mahdollisuus alentaa virransyöttö 1,8 V:iin, jotka on yleensä merkitty esimerkiksi kirjaimella "V". Kun tehoa vähennetään, kellotaajuutta on vähennettävä vastaavasti. ATtiny2313V:n virransyötöllä 1,8...5,5 V taajuuden tulisi olla alueella 0...4 MHz, teholähteellä 2,7...5,5 V - alueella 0... 10 MHz.

Tätä lähestymistapaa voidaan soveltaa kokeelliseen prototyyppiin ja amatööri kotitekoisiin tuotteisiin, mutta teollisuusautomaatiossa se voi johtaa häiriöihin virtalähteen häiriöistä. Vahvan ulkoisen melun olosuhteissa tämän vastuksen vastus (100-500 kOhm) osoittautuu liian suureksi, ja jos RESET-linjalla ei ole korkean tason signaalia, mikro-ohjain voi nollata satunnaisesti.

On olemassa useita tapoja vähentää tahattoman vapautumisen riskiä. Yksi yksinkertaisimmista on kytkeä RESET-linjaan ulkoinen vetovastus, jonka suositeltu resistanssiarvo on 4,7–10 kOhm.

RESET-linjan suojaamiseksi ulkoisilta häiriöiltä on myös suositeltavaa ohittaa se maahan käyttämällä ulkoista kondensaattoria, jonka kapasiteetti on noin 0,1 µF. Mutta on muistettava, että yksijohtiminen debugWIRE-liitäntä voi käyttää ulkoista nollaustuloa RESET mikro-ohjaimen ohjelmiston virheenkorjauksen yhteydessä. RESET-tulon kanssa rinnakkain kytketty kondensaattori johtaa tämän liitännän toimintahäiriöihin. Siksi, jos aiot korjata kohdelevyn mikro-ohjaimen debugWIRE:n avulla, sinun on annettava hyppyjohdin tämän kondensaattorin poistamiseksi käytöstä sovellusohjelmiston virheenkorjauksen aikana.


Korkeajännitteisen ohjelmointitilan tukemiseksi AVR-mikro-ohjaimissa ei ole standardia sisäistä diodia, joka suojaa ylijännitteeltä RESET-tulossa. Siksi, jos suurjänniteohjelmointia ei käytetä, on suositeltavaa kytkeä ulkoinen diodi, esimerkiksi 1N4148, RESET-linjan ja mikro-ohjaimen tehoväylän väliin häiriöiltä suojaamiseksi. Siten tyypillinen ulkoinen "putkisto" RESET-linjalle näyttää tältä.

Jos nollauslinjaa ei käytetä eikä piirin sisäistä ohjelmointia tarvita, niin valmiissa laitteessa RESET-nasta voidaan liittää suoraan mikro-ohjaimen tehoväylään.

Lisätoimena voi olla sähkömoottorin jokaisen koskettimen shuntaaminen sen runkoon tai maahan.

Keraamisten kondensaattorien C2 ja C3 kapasitanssi voi tässä tapauksessa olla myös välillä 0,01...0,1 μF


Kun asennat mikro-ohjaimen moottoreiden välittömään läheisyyteen, on huolehdittava AVR:n ulkoisten piirien mahdollisten häiriöiden vähentämisestä. Siten ulkoinen kellopiiri voi toimia häiriöreittinä. Mahdollisten vikojen eliminoimiseksi on suositeltavaa asentaa kondensaattorit C1 ja C2 mahdollisimman lähelle nastoja XT1 ja XT2 ja kytkeä niiden maadoituslevyt suoraan mikro-ohjaimen GND-nastan oikosulkujohtimiin. Lisäksi on suositeltavaa juottaa kvartsiresonaattorin Q1 runko lyhyellä johdolla GND-piiriin. Vielä suuremman turvallisuuden voidaan tarjota piirilevyllä olevalla suojapiirillä kvartsiresonaattorin ja kondensaattoreiden ympärillä.

Emuloimme piiriä Proteus-ohjelmassa, räpyttelimme LEDiä ja opimme vilkkumaan virtuaalista mikro-ohjainta. Varmasti monet lukijat keksivät ajatuksen: "Voiko LED-valoa vilkkua MK:hen kytketyllä painikkeella?

Kyllä, tietysti se on mahdollista. Melko helppo toteuttaa. Lisäksi voit emuloida painiketta kiinnityksellä tai ilman. Lisäksi Proteus-ohjelmassa voit käyttää molempia painikkeita käyttämällä samaa identtistä painikemakroa. Missä tapauksissa tästä voi olla hyötyä? Meidän on esimerkiksi valittava laitteen toimintatilat. Katsotaanpa tarkemmin, kuinka tämä toteutetaan mikro-ohjaimella ja suoritetaan emulointi Proteus-ohjelmassa.


Saadaksemme selvän käsityksen siitä, että meillä on todellakin mahdollisuus valita kahdesta tilasta, kokoamme yksinkertaisen piirin, jossa on 4 LEDiä yhdellä painikkeella. Ensimmäisessä vaihtoehdossa ensimmäinen - neljäs LED-valo syttyy vuorotellen. Toisella vaihtoehdolla sama asia, mutta käänteisessä järjestyksessä, eli neljännestä ensimmäiseen. Ainoa asia, jonka haluan selventää, on se, että painikettamme kysytään painamalla tai vapauttamaan vasta ennen vaikutuksen alkamista. Ennen kuin tehoste on valmis, ohjelma ei reagoi painikkeen painamiseen tai vapauttamiseen.

Asiaan siis. Tältä kaaviomme näyttää Proteus-ohjelmassa (klikkaa suurentaaksesi):

Tässä järjestelmässä näemme jo eroja edellisessä artikkelissa keräämästämme. Kaavion vasemmalla puolella näkyy painikkeen ja +5 voltin virtalähteen nimitykset.

Kuten olemme jo keskustelleet, otamme virran ja laskeudumme "Terminaali"-välilehdelle. Nimeämme ne Power ja Ground vastaavasti.

Merkitsemme piirin virtalähdettä kolmiolla, jonka korkeus jakaa viiva. Kuvassa vieressä on painikkeen nimitys. Painikkeen oikealla puolella on täytetty punainen ympyrä, jossa on kaksipäinen nuoli. Jos napsautat sitä emuloinnin aikana, painike pysyy paikallaan ja sitä painetaan jatkuvasti. Kun sitä painetaan uudelleen, kiinnitys poistetaan.


Ennen käyttöä meidän on valittava painike kirjastosta samalla tavalla kuin muut osat. Voit tehdä tämän kirjoittamalla sanan "mutta" Mask-kenttään. Sitten "Tulokset"-kenttään sana "BUTTON":


Tämän jälkeen painike ilmestyy luetteloomme yhdessä projektissa käytettyjen valittujen osien kanssa.

Mitä portteja käytämme projektissa? Alla kuvassa näemme lähtevät linjat porteista PA0, PB0, PB1, PB2 ja PB3. Meillä on LEDit kytkettynä porttiin B ja painike porttiin A.

Joten, kun sitä painetaan, suljemme piirin, joka yhdistää +5 volttia PA0-porttiin ja vastuksen ylempään liittimeen. Miksi täällä on edes vastus asennettuna? Tosiasia on, että painikepiiri on suljettava. Kun vastus on asennettu, virta kulkee virtalähteestä positiivisesta painikkeen, vastuksen kautta ja edelleen maahan.

Riittää, kun vastuksen arvo on 200 ohmia. Joten kun painamme painiketta, kytkemme PA0-portin +5 voltin tehoon, ja jos kyselymme PA0-nastasta jännitteen olemassaolosta tai puuttumisesta, voimme vaikuttaa ohjelmamme suorittamiseen.

Olen toimittanut alla kuvakaappauksia ohjelmamme tekstistä:


Erot edelliseen projektiin ovat siis, että konfiguroimme kaikki RA-portin 8 nastaa tuloksi, konfiguroimme portin nastat PB0 - PB3 ulostuloksi ja PB4 - PB7 tuloksi.


Sitten käytämme kunnon tarkistusta ohjelmassamme " jos"


Joten näemme "jos" jälkeisellä rivillä suluissa suoritusehdon. Alla oleva koodi suoritetaan, jos PA0-portissa on looginen nolla tai nolla volttia. Tämä suluissa oleva teksti on portin bittisiirto. Analysoimme sitä jossakin seuraavista artikkeleista, mutta toistaiseksi riittää, että uskomme siihen, että tällä tekemällä kyselyllämme punnerrus. Sitten aaltosulkeisiin tulee ohjelman teksti, joka suoritetaan, jos ehto on tosi. Jos ehto ei ole tosi, ohjelma jatkaa suorittamista ohittaen aaltosulkeissa olevan tekstin.

Vastaavasti "jos"-ehtoa käyttämällä kyselypainike on päällä painamalla. Huomaa, että suluissa oleva teksti on muuttunut. Tämä tarkoittaa, että jos meillä on looginen yksikkö jalassa PA0, täytämme ehdon, eli tekstin kiharoissa suluissa. Toisin sanoen, kun painiketta painetaan, LEDit ensimmäisestä neljänteen syttyvät ja sammuvat yksitellen, ja kun sitä painetaan ja pidetään painettuna, LEDit neljännestä ensimmäiseen syttyvät ja sammuvat. Siten voimme vaikuttaa ohjelman suorittamiseen painamalla painiketta, kyselyllä, onko siinä looginen nolla tai looginen ykkönen.

Myös, joka sisältää tiedoston "Sishnik", HEX ja Proteus-tiedoston.

Ja tässä on video

Ensimmäisellä oppitunnilla opimme syöttämään jännitettä mikrokontrollerin jalan avulla. Nyt sinun on opittava ohjaamaan mikro-ohjainta vilkkumatta sitä.

Miksi tämä on välttämätöntä? Esimerkiksi, kun teit kellon mikro-ohjaimeen, sinun on asetettava aika, mutta on erittäin hankalaa päivittää se joka kerta, kun aika on väärä. On paljon kätevämpää käyttää painikkeita, esimerkiksi yksi vaihtaa tunteja, toinen minuutteja.

Muista, että ensimmäisellä tunnilla konfiguroimme jalan ulostuloksi, ts. voisimme syöttää jännitettä hänelle. Joten jalka voidaan konfiguroida tuloksi. Tässä tilassa voit tarkistaa, onko siinä jännitettä vai ei.

Esimerkki: projektin luominen ohjatun projektin avulla. Määritämme ensimmäisen jalan ulostuloksi, toisen tuloksi. Kun luot projekteja ohjatun toiminnon avulla, osoitamme, että nasta PB1 on tulo, ja kytkemme siihen vetovastuksen, tämä toteutetaan seuraavasti:

Projektin luomisen jälkeen tuodaan koodi tähän lomakkeeseen:

#sisältää #sisältää void main(void ) ( PORTB= 0x02 ; DDRB= 0x01 ; while (1 ) ( if (PINB.1== 0 ) ( PORTB.0= 1 ; delay_ms(100 ) ; PORTB.0= 0 ; delay_ms(100 ) ) ;

#sisältää #sisältää void main(void) ( PORTB=0x02; DDRB=0x01; while (1) ( if(PINB.1==0) ( PORTB.0=1; delay_ms(100); PORTB.0=0; delay_ms(100) ; ) )

Kuten näemme, porttiasetukset ovat muuttuneet ensimmäiseen oppituntiin verrattuna

if(PINB.1==0) ()

Tämä rivi tulee lukea näin - jos maa on kytketty portin B nastaan ​​1 (0-potentiaali), suorita koodi hakasulkeissa. Esimerkissämme tämä on ensimmäisen oppitunnin koodi. Jos painike ei ole kiinni, älä tee mitään. Voit mallintaa sen Proteusessa.

Painikkeen sijasta voit laittaa anturin, releen jne., LEDin sijasta - summeri, saat hälytyksen.

Arkisto laiteohjelmistolla ja proteus-tiedostolla on saatavilla

Päivitys1: Miksi portin kiristäminen on tarpeen?
Mikrokontrollerin sisääntulossa on suuri vastus, jos jopa mikrovirrat johtuvat häiriövirtauksesta, niin Ohmin lain U=R*I mukaan tämä voi johtaa log 1:n ilmestymiseen sisääntuloon Tällaisten ongelmien välttämiseksi AVR-mikrokontrollereissa jalka virtalähteeseen plus , vetovastuksen kautta. Tässä tapauksessa jopa toimintalogiikka muuttuu toisinpäin - mutta jos häiriöitä ilmenee, sillä ei ole meille väliä, koska meillä on jo looginen yksikkö sisääntulossa.

Miksi yhteys vastuksen kautta? Oletetaan, että liitimme tulon positiiviseen suoraan ilman vastusta. Kun painike laukeaa, se vetää tulon maahan, joten tulossa on oikosulku +:n ja maan välillä. Jos on vastus, niin kun painike suljetaan yhdeltä puolelta, se pysyy kytkettynä +-liitäntään ja toisella puolella painikkeen maadoitus ilmestyy siihen. Virta kulkee vastuksen läpi, mutta sen suuruus ei ole niin suuri.

Päivitys2: Lisätty koe, jossa voit tarkistaa, kuinka hyvin olet oppinut oppitunnin materiaalin

Tämä elokuva vaatii Flash Player 9:n

Seuraavat artikkelit sisältävät laitteita, joiden on ohjattava ulkoisia kuormia. Ulkoisella kuormituksella tarkoitan kaikkea, mikä on kiinnitetty mikro-ohjaimen jalkoihin - LEDit, hehkulamput, releet, moottorit, toimilaitteet... no, ymmärrät kyllä. Ja riippumatta siitä, kuinka hakkeroitu tämä aihe olisi, toiston välttämiseksi seuraavissa artikkeleissa riskin silti olla omaperäinen - annat minulle anteeksi. Näytän lyhyesti, suositusmuodossa, yleisimmät tavat kytkeä kuorma (jos haluat lisätä jotain, olen erittäin iloinen).
Sovitaan heti, että puhumme digitaalisesta signaalista (mikrokontrolleri on silti digitaalinen laite) emmekä poikkea yleisestä logiikasta: 1 - mukana, 0 -sammutettu. Aloitetaanpa.


Tasavirtakuormia ovat: LEDit, lamput, releet, tasavirtamoottorit, servot, erilaiset toimilaitteet jne. Tällainen kuorma kytketään yksinkertaisimmin (ja useimmiten) mikro-ohjaimeen.

1.1 Yhteys kuormia vastuksen kautta.
Yksinkertaisin ja luultavasti eniten käytetty menetelmä LEDien suhteen.

Vastus tarvitaan rajoittamaan mikrokontrollerin haaran läpi kulkeva virta sallittuun 20mA. Sitä kutsutaan painolastiksi tai vaimennukseksi. Voit suunnilleen laskea vastuksen arvon tuntemalla kuormitusvastuksen Rн.

Sammutus =(5v / 0,02A) – Rн = 250 – Rн

Kuten näette, jopa pahimmassa tapauksessa, kun kuormitusvastus on nolla, 250 ohmia riittää varmistamaan, että virta ei ylitä 20 mA. Tämä tarkoittaa, että jos et halua laskea jotain sinne, laita se 300 ohmia ja suojaat porttia ylikuormitukselta. Menetelmän etu on ilmeinen - yksinkertaisuus.

1.2 Liitäntä kuormia käyttämällä bipolaarista transistoria.
Jos niin tapahtuu, että kuormasi kuluttaa enemmän kuin 20 mA, vastus ei tietenkään auta tässä. Sinun täytyy jotenkin lisätä (lue vahvistaa) virtaa. Mitä käytetään signaalin vahvistamiseen? Oikein. Transistori!


Sitä on kätevämpi käyttää vahvistamiseen n-p-n transistori kytketty piirin mukaan OE. Tällä menetelmällä voit kytkeä mikrokontrolleriin kuorman, jonka syöttöjännite on korkeampi kuin virtalähde. Kantassa oleva vastus on rajoittava. Voi vaihdella laajoissa rajoissa (1-10 kOhm), joka tapauksessa transistori toimii kyllästymistilassa. Transistori voi olla mikä tahansa n-p-n transistori. Hyöty on käytännössä merkityksetön. Transistori valitaan kollektorivirran (tarpeemme virran) ja kollektori-emitterijännitteen (kuormaan syöttävän jännitteen) perusteella. Myös tehonhäviöllä on merkitystä - jotta se ei ylikuumene.

Yleisimmistä ja helposti saatavilla olevista voit käyttää BC546:ta, BC547:tä, BC548:aa, BC549:ää millä tahansa kirjaimella (100mA), ja jopa sama KT315 käy (niille, joilla on ylijäämiä vanhoista varastoista).
BC547.pdf - Bipolaaritransistorin BC547 datalehti

1.3 Yhteys kuormia käyttämällä kenttätransistoria.
Entä jos kuormamme virta on kymmenen ampeerin sisällä? Bipolaarista transistoria ei voida käyttää, koska tällaisen transistorin ohjausvirrat ovat suuria ja ylittävät todennäköisesti 20 mA. Lähtö voi olla joko komposiittitransistori (lue alla) tai kenttätransistori (alias MOS, alias MOSFET). Kenttätransistori on yksinkertaisesti upea asia, koska sitä ei ohjata virralla, vaan portin potentiaalilla. Tämä mahdollistaa mikroskooppisen hilavirran ohjauksen suuria kuormitusvirtoja.

Mikä tahansa n-kanavainen kenttätransistori sopii meille. Valitsemme, kuten bipolaarisen, virran, jännitteen ja tehohäviön perusteella.


Kun kytket kenttätransistorin päälle, sinun on otettava huomioon useita kohtia:
– koska portti on itse asiassa kondensaattori, transistori kytkeytyy sen läpi kulkee suuria virtoja (lyhytaikaisia). Näiden virtojen rajoittamiseksi porttiin asetetaan rajoitusvastus.
– transistoria ohjataan pienillä virroilla ja jos sen mikro-ohjaimen lähtö, johon hila on kytketty, on suuren impedanssin Z-tilassa, kenttäkytkin alkaa avautua ja sulkeutua odottamattomasti ja tarttuu häiriöihin. Tämän toiminnan poistamiseksi mikro-ohjaimen jalka on "painattava" maahan noin 10 kOhmin vastuksella.
Kenttätransistorilla on kaikkien positiivisten ominaisuuksiensa taustalla haittapuoli. Pienen virran ohjauksen hinta on transistorin hitaus. Tietysti se käsittelee PWM:ää, mutta jos sallittu taajuus ylittyy, se vastaa sinulle ylikuumenemalla.

Suosittelemme käyttöön tehokkaita transistoreita IRF630, IRF640. Niitä käytetään usein ja siksi ne on helppo hankkia.
IRF640.pdf - Tietolehti kenttätransistorista IRF640

1.4 Yhteys kuormia käyttämällä komposiitti Darlington-transistoria.
Vaihtoehto kenttätransistorin käytölle suurvirtakuormissa on käyttää komposiitti Darlington-transistoria. Ulkoisesti se on sama transistori kuin esimerkiksi bipolaarinen, mutta sisäisesti esivahvistinpiiriä käytetään ohjaamaan tehokasta lähtötransistoria. Tämä sallii alhaisten virtojen ohjata voimakasta kuormaa. Darlington-transistorin käyttö ei ole yhtä mielenkiintoista kuin tällaisten transistorien kokoonpanon käyttö. Siellä on niin upea mikropiiri kuin ULN2003. Se sisältää jopa 7 Darlington-transistoria, joista jokainen voidaan ladata jopa 500 mA:n virralla, ja ne voidaan kytkeä rinnan virran lisäämiseksi.


Mikropiiri on erittäin helppo kytkeä mikro-ohjaimeen (vain pin to pin), siinä on kätevä johdotus (tulo vastapäätä lähtöä) eikä se vaadi lisäjohdotuksia. Tämän onnistuneen suunnittelun seurauksena ULN2003 on laajalti käytössä radioamatööritoiminnassa. Näin ollen sen saaminen ei ole vaikeaa.
ULN2003.pdf - Darlington-kokoonpanon ULN2003 tietolehti


2 AC LOAD.
Jos sinun on ohjattava vaihtovirtalaitteita (useimmiten 220 V), kaikki on monimutkaisempaa, mutta ei paljon.

2.1 Liitäntä kuormia käyttämällä relettä.
Yksinkertaisin ja luultavasti luotettavin yhteys on releen käyttö. Itse relekela on suurvirtakuorma, joten et voi kytkeä sitä suoraan mikro-ohjaimeen. Rele voidaan kytkeä kenttä- tai bipolaaritransistorin kautta tai saman ULN2003:n kautta, jos tarvitaan useita kanavia.

Tämän menetelmän etuja ovat korkea kytkentävirta (riippuen valitusta releestä), galvaaninen eristys. Haitat: rajoitettu nopeus/aktivointitiheys ja osien mekaaninen kuluminen.

2.2 Liitäntä kuormia käyttämällä triakia (triac).
Jos sinun on ohjattava voimakasta vaihtovirtakuormaa ja varsinkin jos sinun on säädettävä kuormaan syötettyä tehoa (dimeerit), et yksinkertaisesti voi tehdä ilman triakia (tai triakia). Triac avataan lyhyellä virtapulssilla ohjauselektrodin läpi (sekä negatiivisille että positiivisille jännitteen puoliaalloille). Triac sulkeutuu itsestään, kun siinä ei ole jännitettä (kun jännite kulkee nollan kautta). Tästä vaikeudet alkavat. Mikrokontrollerin on ohjattava hetkeä, jolloin jännite ylittää nollan, ja lähetettävä tarkasti määritellyllä hetkellä pulssi avaamaan triakki - tämä pitää ohjaimen jatkuvasti kiireisenä. Toinen vaikeus on galvaanisen eristyksen puute triacissa. Sinun on tehtävä se erillisillä elementeillä, mikä monimutkaistaa piiriä.


Vaikka nykyaikaiset triacit ohjataan melko pienellä virralla ja ne voidaan kytkeä suoraan (rajoitusvastuksen kautta) mikrokontrolleriin, ne on turvallisuussyistä kytkettävä päälle optisten erotuslaitteiden kautta. Lisäksi tämä ei koske vain triac-ohjauspiirejä, vaan myös nollaohjauspiirejä.


Melko epäselvä tapa yhdistää kuorma. Koska toisaalta se vaatii mikro-ohjaimen aktiivista osallistumista ja suhteellisen monimutkaista piirisuunnittelua. Toisaalta sen avulla voit käsitellä kuormaa erittäin joustavasti. Toinen triakkien käytön haittapuoli on niiden käytön aikana syntyvä suuri määrä digitaalisia kohinaa.

Triacit ovat melko laajalti käytössä, ja joillakin alueilla ne ovat yksinkertaisesti korvaamattomia, joten niiden hankkiminen ei ole ongelma. BT138-tyyppisiä triaceja käytetään hyvin usein radioamatööriradioissa.
BT138.pdf

2.3 Kuorman kytkeminen puolijohderelellä.
Äskettäin radioamatöörit ovat hankkineet erittäin upean asian - puolijohdereleet. Ne ovat optisia laitteita (niitä kutsutaan myös optoreleiksi), toisaalta, yleensä, on LED ja toisaalta kenttätransistori, jossa on valoherkkä suljin. Tätä asiaa ohjataan pienellä virralla, mutta se voi manipuloida merkittävää kuormaa.


Puolijohdereleen kytkeminen mikro-ohjaimeen on hyvin yksinkertaista - kuten LED - vastuksen kautta.
Edut ovat ilmeiset: pieni koko, mekaanisen kulumisen puute, kyky manipuloida suurta virtaa ja jännitettä ja mikä tärkeintä, optinen eristys vaarallisesta jännitteestä. Kuorma voi olla joko tasa- tai vaihtovirtaa releen rakenteesta riippuen. Haittoja ovat suhteellinen hitaus (useimmiten kytkemiseen käytetään kenttäkytkintä) ja releen melko merkittävä hinta.

Jos et tavoittele paisutettuja ominaisuuksia, voit valita laitteen edulliseen hintaan. Esimerkiksi CPC1030N-relettä ohjataan 2 mA:n virralla, kun taas se pystyy kytkemään 120 mA ja 350 V AC- ja DC-kuormia (erittäin hyödyllinen asia radioamatööreille!)
BT138.pdf - Datasheet triac BT138:lle
CPC1030N.pdf - Puolijohderele CPC1030N tietolehti


Artikkelissa käsitellään LEDien kytkemistä mikro-ohjaimeen, porttien käyttöä ja ohjelman kirjoittamista SI-kielellä. Artikkeli on tarkoitettu ensisijaisesti aloittelijoille, jotka ovat juuri ottaneet käyttöön AVR-mikro-ohjaimet.

Ensin sinun on valittava mikro-ohjain. Minun tapauksessani se on ATmega8535. Tässä tapauksessa voit ottaa minkä tahansa mikro-ohjaimen, koska tämä tehtävä voidaan helposti toteuttaa minkä tahansa mikro-ohjaimen alla. Voit kirjoittaa ohjelman mikro-ohjaimelle Assemblyssa, SI:ssä, Pascalissa ja Bascomissa. Käytin SI-kieltä, kaikki nämä kielet ovat erilaisia.
Erityinen ero C:n ja Pascalin välillä näkyy alla.

//Vilkkuva LED void main() ( ddrB = 0b11111111; //asettaa portit B lähtöportiksi B = 0b11111111; //oletusarvoisesti kaikki on pois päältä while(1) ( portti B = ˜ portB; //vaihda LED-tila päinvastaiseksi delay_ms(100 ); //viive 100 millisekuntia ) )

Ohjelma ensin; alkaa ddrB:= $FF; //asettaa portin B lähtöportiksi B:= $FF; //mikään ei pala oletusarvoisesti while(1) do begin portB:= not(portB); //vaihdetaan LED-tila käänteiseen delay_ms(100); //tee lyhyen viiveen loppu; loppu.

Luettelo radioelementeistä

Nimitys Tyyppi Nimitys Määrä HuomautusMyymäläOma muistilehtiö
U1 MK AVR 8-bittinen

ATmega8535

1 Muistilehtiöön
R1-R8 Vastus

220 ohmia - 1 kOhm

8 Muistilehtiöön
R9-R11 Vastus

10 kOhm

3 Muistilehtiöön
V1-V8 Valodiodi 8 Muistilehtiöön
Tact-painike 3