Kategoria: Mësim

Attiny85
20/04/2022 nga Joer.al 0 Komente

Programoni me AtTiny85 – Pjesa e parë

Në disa projekte të vogla nuk keni nevojë për arduino, por ju duhet vetëm një qark i integruar AtTiny85

Në praktikë, AtTiny85 është një qark i integruar i programueshëm siç është Atmega328 më i njohur (zemra rrahëse e Arduino / Genuino) që mund ta përdorni në projekte ku mjaftojnë 5 kunja.

AtTiny85 prodhohet nga vetë ATMEL dhe është i programueshëm direkt nga arduino, me një lidhje nëpërmjet ICSP (SCK, MISO, MOSI dhe Reset si CS).

Konfiguro IDE për programin e AtTiny85

Hapi i parë që duhet të ndiqni është të shkoni në IDE-në tuaj,  dhe zgjidhni preferencat:

Në dritaren që hapet do të gjeni, të theksuar në imazhin më poshtë, menaxherin e bordit:

Këtu duhet të shtoni depon që përmban skedarët e nevojshëm nga IDE për të njohur dhe përpiluar saktë kodin për Programin tuaj Attiny85.

Klikoni në ikonën në anën e djathtë për të parë listën e kartave që keni shtuar tashmë dhe për të mund të shtoni një të re.

Në rastin tonë duhet të shtojmë bordin e Programit Attiny85, duke shtuar linkun si më poshtë:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

Mbyllni më pas dritaren e listës dhe dritaren “Preferencat”.

Më pas shkoni tek Tools dhe Boards Manager dhe kërkoni për ATTINY, më pas instaloni modulin.

Vizualizimi i Bordit të Programit Attiny85

Karta e re do të shfaqet midis kartave të programueshme me Arduino IDE:

Në artikujt e ardhshëm do të shpjegojmë se si të përdorni një arduino uno për të programuar Attiny85.

Arduino_Serial_1
01/03/2022 nga Joer.al 0 Komente

Komunikimi serial midis dy bordeve Arduino (pjesa 2)

Javën e kaluar ne trajtuam temën e komunikimit serial nga pikëpamja teorike dhe mësuam se si transferohet informacioni nga një sistem në tjetrin. Sot, siç u premtuam, ne do të fillojmë të punojmë në një mënyrë më të hollësishme praktike mbi këtë temë, duke prodhuar disa listime që do të transformojnë dy borde Arduino në një sistem transmetues.

Konkretisht, ne do të përdorim një Arduino me një buton për të transmetuar një status (HIGH – LOW) përmes lidhjes seriale dhe një Arduino të dytë për të marrë statusin dhe për të ndezur një LED. Le të shohim se si.

Sistemi i transmetimit

Sistemi ynë i transmetuesit bazohet në butonin klasik në PULL_UP, i cili ul nivelin në kodin PIN dixhital me të cilin është lidhur kur shtypet. Njëri nga PIN-et e butonit lidhet me GND të përbashkët me dy kartat, ndërsa tjetri drejtohet drejt PIN 2 të kartës transmetuese.

Arduino i parë më pas transmeton një seri karakteresh përmes portës seriale. Karakteri i transmetuar mund të jetë ‘H’ (çelësi i lëshuar) ose ‘L’ (tasti i shtypur). Një vonesë prej 100 milisekonda është vendosur për çdo cikël për të shmangur përmbytjen e portës së transmetimit

Sistemi marrës

Le të kalojmë në skedën e dytë.

LED i integruar në Arduinon e dytë  është i lidhur nga brenda me PIN 13. Ne duam që ajo të pasqyrojë sinjalin e dërguar nga butoni përmes serialit.

Krahasuar me lidhjen seriale klasike, ne vëzhgojmë metodën Serial.available (), e cila kthen një vlerë Boolean në varësi të faktit nëse ka ose jo një bajt në pritje në buferin e leximit, dhe përdorimin e Serial.read () dhe Serial. shkruaj. () në vend të Serial.print () kudo që ne përdorim për të monitoruar kartën tonë.

Për pjesën tjetër, është administrim i zakonshëm: nëse karakteri i marrë në serial është ‘H’, LED ndizet, nëse është ‘L’, LED fiket.

Nëse merren bajt të rremë ose zhurmë, LED ruan gjendjen e mëparshme.

Nëse ju pëlqeu artikulli, vazhdoni të na ndiqni këtu në Webfaqe dhe në rrjete sociale.

Arduino_Serial_1
19/02/2022 nga Joer.al 0 Komente

Komunikimi serial midis dy bordeve Arduino (pjesa 1)

Arduino ka mënyra të ndryshme komunikimi përmes portës seriale. Të shohim konceptet pas këtij mekanizmi.

Le të fillojmë me këtë artikull një seri mësimesh të shkurtra mbi përdorimin e protokollit të komunikimit serial Arduino. Do të shohim komunikimin me dy tela, përdorimin e protokollit RS232, lidhjen me boost dhe në fund do të paraqesim shënime shpjeguese për komunikimin përmes BlueTooth.

 

Komunikimi serial dhe paralel

Në elektronikë ne në thelb mund të transmetojmë informacionin tonë në dy mënyra: në grupe bitesh ose t’i dërgojmë ato një nga një me të njëjtën orë CPU. Vetëkuptohet që transmetimi paralel i të dhënave duket më efikas, pasi më shumë informacion transmetohet për cikël orësh. Megjithatë, transmetimi serial është shumë më i thjeshtë për t’u zbatuar, më pak i ndjeshëm ndaj zhurmës elektrike dhe në përgjithësi nuk kërkon karakteristika të veçanta kontrolli.

Sinjalet e të dhënave dhe menaxhimi i një porti seriale kontrollohen nga UART (transmetuesi Universal Asynchronous Receiver), një çip i pranishëm në Arduino-n tonë.

Në kundërshtim me besimin popullor, UART mund të përdoret edhe pa portën serike RS232, siç do ta shohim në shembullin vijues.

Komunikimi përmes drejtimit UART

Siç nënkupton edhe emri, një UART përfaqëson një sistem transmetues që ju lejon të dërgoni të dhëna nga një kartë në tjetrën. Truku i vetëm është vendosja e të dy pllakave në një terren të përbashkët, në mënyrë që sinjalet e LARTË dhe të ULËT të jenë në përputhje me njëri-tjetrin.

Në shembujt tanë, UART do të përdorë ASCII për të transmetuar informacion: ai do të transformojë kodet e dërguara duke i serializuar ato në sekuenca bitash. Le të shohim një shembull.

Duhet të transmetojmë shkronjën ‘A’: siç e dimë, kodi ASCII i A është 65, dhe vlera e tij binare korrespondon me 01000001. Kodi ASCII ofron kodim 7 bit, kështu që (për të mos humbur saktësinë) do të na duhet të transmetoni ‘1000001’. Numri më pas do të futet brenda një zarfi që ofron një bit fillestar, një bit të mundshëm të barazisë, një ose dy bit ndalimi. Le të shohim se si funksionon.

Protokolli i komunikimit

Niveli logjik i sinjalit është LARTË, në nivelin logjik 1, dhe do të vendoset në LOW (niveli logjik 0) nga biti START. në këtë pikë pjesët e karakterit tonë ‘A’ do të transmetohen, nga biti më pak i rëndësishëm (LSB) në bitin më domethënës (MSB). Në fund të transmetimit, mund të shtohet i ashtuquajturi bit i paritetit, për të siguruar siguri minimale në saktësinë e të dhënave të transmetuara. Së fundi, për të deklaruar se bitet që do të transmetohen kanë përfunduar, dërgohen një (ose dy) bit ndalimi.

Nëse shpjegimi ngatërroi idetë tuaja, mos u shqetësoni: Arduino ka një bibliotekë të shkëlqyer për menaxhimin e komunikimeve seriale në një mënyrë transparente për përdoruesin përfundimtar.

Arduino: lidhjet seriale

Megjithatë, përpara se të futemi në kod, ne ende duhet të përcaktojmë disa informacione të nevojshme. Ne pamë në ilustrimin e hapjes se është e nevojshme të lidhni kunjat GND të dy pllakave që do të lidhen së bashku, më pas lidhni kunjin e transmisionit (TX) të njërës me pinin marrës (RX) të tjetrit. Konfigurimi i “trenit të biteve” do të lejojë komunikim dydrejtues, ose full-duplex, ndërmjet burimit dhe marrësit, falë karakteristikave të brendshme të UART. Por cilat janë “nivelet e tensionit” të mbështetur nga Arduino? Me fjalë të tjera, si do të jemi në gjendje të dallojmë një sinjal MARK nga një sinjal SPACE, një nivel të lartë nga një nivel i ulët?

Siç e dimë, logjika dixhitale Arduino UNO siguron komunikim TTL me nivele të tensionit midis 0 dhe + 5 V. Fatkeqësisht kjo nuk është gjithmonë e vërtetë për kartat e tjera, të cilat mund të funksionojnë për shembull midis 0V dhe + 3.3V. Arduino do të jetë në gjendje të marrë në mënyrë të sigurt një zhvendosje të impulseve nga një sistem që punon në 3.3V (më i lartë se 2V minimale e nevojshme për t’u njohur si LARTË nga Arduino), por do të jetë e nevojshme t’i kushtohet vëmendje maksimale kur transmetoni të dhëna në një marrës që punon në + 3.3V. Për të parandaluar dëmtimin e pariparueshëm të këtij sistemi nga tensioni i tepërt, duhet të sigurohet një ndarës i tensionit.

Dhe tani pak Kod

Për shembullin e parë, ne do të krijojmë një kornizë të dobishme për të përshkruar sistemin tonë të pritjes: ne i lidhim kunjat si në figurën hapëse (dhe të raportuar në komentin fillestar të burimit). Përcaktojmë formatin e të dhënave që do të transmetohen (byte), më pas inicializojmë serialin dhe lexojmë të dhënat nëse janë transmetuar.

 

Në artikujt e ardhshëm  do të analizojmë një sistem të plotë, harduer dhe softuer, për transmetimin dhe marrjen e të dhënave përmes një lidhjeje seriale.

ligjiohm
04/11/2021 nga Joer.al 0 Komente

Tensioni, Rryma dhe Rezistenca, Ligji i Omit

Vetitë themelore të energjisë elektrike janë:

Tensioni: sa më i lartë të jetë tensioni, aq më i lartë do të jetë kaskada. Tensioni matet në Volt.

Intensiteti i rrymës: sa më i lartë të jetë intensiteti i rrymës, aq më e gjerë do të jetë kaskada. Intensiteti, nga ana tjetër, matet në Amper.

Rezistenca: Tkurrja e tubit që ka funksionin e kufizimit të kalimit të rrymës;

Këto tre koncepte janë të lidhura me një LIGJ: ligji i ohmit.

Për të shqyrtuar këto koncepte, imagjinoni të fryni në një tubë. Ajri e shtyn lëngun që del nga ana tjetër.

Prandaj kemi frymën, ujin, tubin, trashësinë e tubës që na lodh.

Fryma është tensioni elektrik, i cili e shtyn ujin në tubë. Ashtu si qeliza apo bateria që “fryn” duke i shtyrë elektronet në përcjellës; (Tension V)
uji është bashkësia e elektroneve, pra është sasia e rrymës. Sa më shumë ujë të ketë, aq më i rëndësishëm do të jetë efekti elektrik përfundimtar; (intensiteti aktual I)
kashta përfaqëson telin elektrik;
trashësia e kashtës është rezistenca elektrike. Sa më i ngushtë të jetë, aq më pak elektrone kalojnë. (Rezistenca R)

Ligji i Omit

Ligji i Omit thotë se rryma nepër një përçues në mes të dy pikave është proporcional me tensionin në mes të këtyre dy pikave.