Tiny programmeur


als je in de Arduino- en je moet zijn- dan je weet dat er zijn toepassingen die u niet alle de verwerkingskracht gebruikt of in en uitgangen.  Voor deze toepassingen lijkt $30 veel te besteden aan een project.  Gelukkig, ATMel, het bedrijf dat maakt van de "hersenen" in de meeste Arduinos, heeft een oplossing: The op Tiny lijn van microprocessoren.  Er zijn verschillende modellen in verschillende configuraties met wisselende pinouts en geheugen niveaus.  Het grote nieuws is dat u uw Arduino program van deze eenheden kunt zonder permanent uw Arduino board te besteden aan het project.  Dit wordt aangeduid als je Arduino gebruikt als een "In de programmeur van het systeem" of Internet-provider, die is wat dat "ArduinoISP" in de map van de sketch sketch is alles over.

De ingenieurs over van MIT's Hoog/laag-Tech hebben een grote verzameling van tutorials die in de nitty krijgt stenig van dit proces op basis van breadboarding en jumper draden.  Deze tutorial zal zich richten op een meer permanente oplossing voor degenen die zich steeds vaker met behulp van de Tinys op.  Het veronderstelt ook een niet-beginners niveau ervaring met solderen van techniek, maar u hoeft niet als een robot in een Shenzhen te laten werken.

Tinys zijn beschikbaar via de meeste van de gebruikelijke verdachten als het gaat om postorder halfgeleider leveranciers en soms in veel op eBay.  Bij het bestellen, zorg ervoor dat de DIP-versie te krijgen.  Als u de oppervlakte bevestiging verscheidenheid bestelt, bent u uit geluk als het gaat om deze tutorial.

We zullen de discussie de op Tiny 45/85 en 2313 beperken omdat deze eenheden soortgelijke genoeg pinouts hebben om te minimaliseren van componenten en zij een breed scala van het geheugen en in/out configuraties vertegenwoordigen.  (Aangezien ik voor het eerst de Tinys op gevonden, ik heb doorgemaakt projecten gebruik ongeveer een half dozijn Tiny 45's en ik ben niet een industrieel ingenieur.)  Als je kijkt naar de tweede afbeelding, ziet u de pin-configuraties voor deze twee eenheden.  De belangrijke pinnen hier zijn grond, Reset, Vcc, MISO (In Master / Slave Out), MOSI (Out Master / Slave In) en SCL of SCK (die zijn twee manieren om te zeggen "Seriële klok.")  Merk op dat bijna al deze pinnen zijn op dezelfde plaats op de twee pakketten met uitzondering van grond, die op de 45/85 op pin 4 en op de 2313 is is op pin 10.  In een permanente oplossing, als u liep pin 4 aan de grond op de 2313, zou het worden aangesloten op de pinnen gereserveerd voor de externe klok, die problemen kan veroorzaken.  We gaan dit probleem oplossen met behulp van een jumper.

Het eerste ding om te doen, zoals altijd, is om te verzamelen van uw materialen.  Voor dit Instructable, zult u het volgende nodig:
-Een Arduino board.  Unos, Megas en Duemillanoves moet alle werk maar ik gebruik een Uno.  Het is de enige die ik ken zal zeker hier werken.
-Een Arduino Protoshield (ongeveer $18 RadioShack met variërende prijzen rond de interwebs.)  Dit is een geweldig hulpmiddel voor eenmalige schild gebouw. Het is ongeveer halverwege tussen een brood van bestuur en een aangepaste PCB combineren de beste aspecten van beide.  (Ik veronderstel dat u kunt een PCB off-the-shelf perf-geperforeerd met koptekst pinnen, maar er zijn problemen met oriëntatie als u dat doet.  Ik zal niet ingaan op de mechanica van deze benadering.)  Zie de derde afbeelding.
-Een 20-Pin DIP socket (ook in de derde afbeelding.)
-Een meer DIP socket (pin-nummer is niet belangrijk hier, zolang er ten minste twee aan elke zijde zijn-u zult offeren dit.) U kunt ook een off-the-shelf kop pin trui zal werken
-At ten minste twee break-off kop pinnen, niet-stapelen.
-1 10 microfarad condensator.
-Hook up draad.  (Ik gebruik liever de soort waarmee elektriciens draad telefoonlijnen in de muren van uw huis terug wanneer mensen nog steeds land lijnen gebruikt.  Het gaat om de juiste maat en kunt u uw werk consistent kleurcode.)

Tools:
-Laag wattage solderen ijzer en natuurlijk hars-core soldeer.  (Ik gebruik extra hars wanneer ik werk.)
-Diagonale Snipping tangen/draad-stripper (misschien wel twee aparte instrumenten)
-Heat sink
-A naald-neus buigtang kunnen ook van pas komen
0
Allereerst de 20 Pin DIP socket vastklikt op de Proto-schild, zoals in de 4e afbeelding solderen.  Probeer te netter erover dat ik was.  (Ik was hergebruik van het schild uit een ander project en had enkele soldeer bruggen over aangesloten perfs die een tijdje duurde te schonen).  Zorg ervoor dat u niet alle aangrenzende perfs overbruggen.

Voeg vervolgens uw hook-up draad zoals in de 5e en 6e beelden.  Zoals ik al zei, ik graag kleurcode dingen, dus rood vanaf 20 (Vcc) pin gaat op de Arduino + 5v, zwarte gaat van Pin 10 (Gnd op de 2313) met Arduino Gnd, geel gaat van Pin 1 (Reset) tot en met 10 van de Arduino, groene draden gaan van Pin 17 (MOSI) tot en met 11 van de Arduino, Pin 18 (MISO) tot en met 12 van de Arduino en van Pin 19 (seriële klok) tot en met 13 van de Arduino.  Ook, haak omhoog een extra zwart draad tot en met de tweede open première op pin 10 draaien naar de buitenste niet opvolgende middellage perf gat grenzend aan pin 5, verlaten van een beetje meer lood dan normaal, maar niet het soldeer in de strip nog gewoon het einde en het doorlopen van dat gat.

Nu zetten we de jumper, die de twee pinnen van de module-off kop, op pin 4 (Gnd op de ATtiny 45/85) en naar de buitenste niet opvolgende middellage perf hole grenzend aan pin 4.  De kop pinnen invoegen zodat de lange metalen uiteinden stok naar boven, niet naar beneden via de board als de andere stapelen headers vooraf gekoppeld aan de Raad van bestuur.  Soldeer de pin dat hecht aan de pin 4 eerst sporen, dan buig de draad van de grond steken door het gat niet opvolgende middellage première op pin 5 over contact opnemen met de resterende kop-speld.  Soldeer deze twee samen zoals in afbeelding 7.

De reset 10 Microfarad condensator toevoegen over het resetten van de Arduino en de resterende grond pin aan die kant, ervoor zorgend om Let op de polariteit ("-" met Gnd) zoals in afbeelding 8.  Gebruik het koellichaam tussen de Raad van bestuur en het lichaam van het GLB zodat u niet het bak terwijl het solderen.  (De geur van verbrande electrolytics is gewoon verschrikkelijk.)

Op dit punt zult u wilt uw jumper-verbindingslijn maken als u niet kopen of er rond leggend.  Om een snelle en vuile jumper-connector, nemen uw "offer" DIN-aansluiting en de laatste twee pinnen op een rij bukken zodat ze aanraken en soldeer ze samen (ook in afbeelding 8, aan de linkerkant.)  Vervolgens neem uw knipsels en knip de rail center van de duik vanaf het einde dat je gewerkt, dan scheiden van de twee pinnen van de aansluiting door te snijden op de derde pin vanaf het einde, waardoor uw gesoldeerd pinnen in tact moet.  Schuif uw jumper connector naar beneden over de kop van de twee pinnen die stick omhoog van het bord zoals in afbeelding 1 (Ja, 1-het is min of meer volledig op dit punt dus ik dat als de hoofdafbeelding gebruikte.)  Deze jumper is gewoon om te worden gebruikt bij het programmeren op Tiny 45/85 chips, dus wanneer u programmeert een ATTiny-2313 verwijderen.

Nu, voor het programmeergedeelte.

Ik ga ervan uit dat u weet wat u doet met een Arduino hier.  De eerste stap in deze fase is te downloaden van de volgende twee bestanden:
één voor de 2313 en één voor de 45/85.  De eerste heeft ook de kernen voor de chips op Tiny 84/44, maar deze programmeur zal niet werken met deze twee rassen.  De pinouts zijn veel te verschillend.  Als u probeert te sluiten in dit krijgt u resultaten uit het niets te verwarrend voor een klein beetje vuur op uw werkbank.

Zodra u hebt gedownload en uitgepakt van deze "kernen", zoals ze worden opgeroepen, opent u het bestand op uw computer waarin uw Arduino schetsboek en maak een folder, genaamd "Hardware", als men niet reeds bestaan en kopieer de uitgepakte bestanden in de map van uw hardware: de hele attiny-map en de map arduino-kleine-0100-0010 de submap tiny.  (Opmerking: Ik houd deze op mijn desktop en kopiëren in één filter tegelijk als ik ze nodig hebt.  Anders het submenu u zult worden selecteren hen krijgt lange en headachey.)  Als u de Arduino omgeving liepen tijdens de installatie van de kernen, moet u waarschijnlijk beter weten, maar geen kwaad gedaan.  Sluit het af en blazen.  Als je niet, lanceer het enkel.  (We gaan ervan uit dat je al hebt de Raad van bestuur geïnstalleerd en uitgevoerd.)  Zodra het milieu wordt uitgevoerd, alleen voor de heck ervan, kijk onder "Tools > bestuur >" en u moeten zien een bos van opties die er nooit vóór waren.  Voor het moment, gewoon laten de werkelijke Arduino board u geselecteerd (of als om wat voor reden de verkeerde is geselecteerd, selecteert u de juiste is.)

Nu zitten de kleine IC op naar de 10 pins aansluiting die u eerder in het schild gesoldeerd.  Pin 1 op deze IC wordt gekenmerkt door een kleine divot op de bovenkant van de chip.  Plaats de IC zodat deze pin is het dichtst bij de reset-schakelaar.  (Ik zal worden met behulp van een kleine 85 op voor dit Instructable.)

Voor het volgende deel van de tutorial is het belangrijk om dingen te doen in de volgorde opgegeven of anders krijg je enkele rare fouten als u probeert te programmeren uw op Tiny.

We gaan nu iets netjes die eigenlijk snijdt de functionaliteit van de Arduino tot een fractie van zijn vermogen te doen.  Met behulp van de Raad van bestuur als een programmeur in-systeem, je bent vrij veel het omzeilen van de processor die is ingebouwd in de Arduino (eigenlijk is als het gebruiken als een schakelbord route signalen, maar dat is echt een soort ondergeschikte werkzoekende voor de wat een Arduino kunnen doen.)  Open in de Arduino omgeving, "bestand > voorbeelden > ArduinoISP" en deze uploaden naar je Arduino board.

Vervolgens zorgvuldig het invoegen van het schild in je Arduino board (zie afbeelding 9).

Vervolgens opent u een nieuwe schets en kopieer en plak de volgende code:

/*
TinyBreather
"Sleep Light" effect voor een LED enigszins vergelijkbaar met een computer monitor power-indicator wanneer het gaat in slaapstand.
Deze voorbeeldcode is in het publieke domein.
*/
int helderheid = 0;    Hoe helder de LED is
VOID Setup {}
pinMode (0, OUTPUT);
}

void loop)
{
delay(10);
de helderheid van pin 0 instellen:
voor (int helderheid = 0; helderheid < 255; helderheid ++) {}
analogWrite (0, helderheid);
vertraging (5);
}
wacht 30 milliseconden het dimmen effect zien
delay(30);
voor (int helderheid = 255; helderheid > 0; helderheid--) {}
analogWrite (0, helderheid);
vertraging (5);
}
wacht 30 milliseconden het dimmen effect zien
delay(30);
delay(10);
}

stoppen met het kopiëren van de schets hier

Zodra u deze nieuwe schets ingevoegd in het milieu, uitgezocht "Tools > bestuur > op Tiny85 (w / Arduino als ISP)" en de schets compileren.  Het zou moeten werken zonder incidenten.  Zodra u een schone compile hebt, uploaden van de schets (dit is eigenlijk door de Arduino op uiterst klein, niet voor de Arduino.)  Ik kan bijna garanderen dat u krijgt het volgende foutbericht weergegeven:
avrdude: Geef PAGEL en BS2 signalen in het configuratiebestand voor deel ATtiny85

Twee keer in een rij, in feite.  Maak je geen zorgen, dat is eigenlijk een goed teken.  Nu zullen we het testen door middel van een LED en plaatsen van het in het schild met de positieve (langer) leiden in socket 11 en de negatieve lood in Gnd aan dezelfde kant.  (Opmerking: beste praktijken zou waarschijnlijk dicteren dat je een beperking van de huidige weerstand ergens tussen de LED en het circuit, maar ik heb genoeg van hen liggen dat ik niet erg riskeren de smokeshow voor deze demonstratie.)  De resultaten moeten zijn vrij veel wat je ziet in de video hier:
http://Youtu.be/zlhP15mu9Bo

U zou kunt hetzelfde circuit onafhankelijk van het schild/Arduino, u gewoon uitvoeren een gereglementeerde stroombron (+ 5v) pin 8 van uw geprogrammeerde IC-met grond tot en met 4 en verbinding maken met de LED via pin 5 en op de grond.  Net als de Arduino, de op kleine het laatste programma blijft laden u in het al een tijdje.

Het proces is veel hetzelfde voor de op Tiny 45 behalve natuurlijk je zou selecteren "Op Tiny 45 (w / Arduino als ISP)" zoals door de Bestuur naar programma.  Als u te selecteren de op Tiny 2313 voor uw project, het proces zou vrij veel het zelfde behalve wij willen verwijderen van de jumper-connector, Controleer of de juiste set van kernen is geïnstalleerd in de map "Hardware" en bijvoorbeeld wijzigen van de pin-toewijzingen in de schets van "0" naar "5" -analogWrite (0, helderheid): wordt analogWrite (5, helderheid); Zie afbeelding 2 zin hiervan te maken.

De meeste van de controle-opdrachten die u zou gebruiken voor de Arduino zijn beschikbaar bij de op Tiny, maar enkele van de opdrachten van de hoger-functie (dingen als het nemen van controle van de Output Control Registers en de interne klokken) niet heel direct poort omdat de timers, en natuurlijk de uitgangen zijn niet hetzelfde.)  Volgens Hoog/laag-Tech, moeten de volgende Arduino-opdrachten worden ondersteund:

pinMode()
digitalWrite()
digitalRead()
analogRead()
analogWrite()
shiftOut()
pulseIn()
Millis()
Micros()
delay()
delayMicroseconds()
SoftwareSerial (werd vernieuwd in Arduino 1.0)

Ik heb al deze en anderen gebruikt.  Tone() lijkt bijvoorbeeld te werken zonder problemen.

Dus de volgende keer dat u hebt een groot Arduino project maar niet aan wilt permanent toewijzen uw Arduino, zeggen, een open deur waarschuwing of een knipperende wenskaart, overwegen de op Tiny lijn en als je verslaafd raken, zal zij moeite waard de tijd te maken van deze programmeur hardware in plaats van te slijten uw breadboard.

Gerelateerde Artikelen

Plant vocht Alarm

Plant vocht Alarm

Er is een aankomende evenement bij Fablab Umeå met het thema beeing plant gerelateerd, dus we besloten om het bouwen van een eenvoudige vocht alarm voor planten om hen te houden als gelukkig planten.De focus van dit instructable is niet om te bouwen
Arduino met vaste komma voertuig nabijheid Detector.

Arduino met vaste komma voertuig nabijheid Detector.

Dit is de high-tech versie van opknoping van een tennisbal aan het plafond van een stuk touw.  Natuurlijk, hebt u twee verschillende soorten voertuigen, gaat dat tennisbal niet naar land op dezelfde plaats op beide van hen.  Dit project kunt voorkome
Programmering van de 'AtTiny85' met de 'Tiny AVR Programmer' en 'Arduino IDE' aangevuld

Programmering van de 'AtTiny85' met de 'Tiny AVR Programmer' en 'Arduino IDE' aangevuld

Met behulp van Atmel's kleine 8 pin AtTiny85 is microcontroller als een standalone een geweldig alternatief voor de grotere 28 pin AtMega328 gemonteerd op een Arduino Uno-bord. Ik heb overgeschakeld van de ene naar de andere op verschillende manieren
Hoe om programma An op Tiny

Hoe om programma An op Tiny

In dit instructable ik zal u tonen hoe te programmeren op Tiny chips zoals ze goedkoper dan de arduino zijn en ze veel kleiner zijn.Stap 1: Onderdelen en Tools Hier zijn de delen en de hulpmiddelen die nodig zijn om dit project te maken:Bij kleine 85
Blinky LED met behulp van een attiny13, een USBTiny programmeur en olimex board

Blinky LED met behulp van een attiny13, een USBTiny programmeur en olimex board

dit is een snelle gids om te tonen hoe de Olimex AVR-P8-bestuur met een ATTiny13 en een USBTiny-programmeur.De delen:Olimex AVR bestuur ($12 van SparkFun)attiny13 ($2 van SparkFun)Muur adapter (optioneel) ($6 van SparkFun)USBTiny AVR programmer ($22
Tiny Rainbow Dorayaki

Tiny Rainbow Dorayaki

Hallo! Vandaag is het zondag hier. Het is tijd voor een kleurrijke dag. Nu, laten we iets zoets te eten. En vandaag, we maken de Tiny Rainbow Dorayaki.En hier is hoe.Stap 1: U moet 250 gr bloem100 ml melk100 ml theeSuiker (zo zoet als je wilt)2 eiere
Hoe haak een Tiny Teddy Bear

Hoe haak een Tiny Teddy Bear

Dit patroon gehaakte is eenvoudig, maar het maakt gebruik van #10 gehaakte draad die moeilijk voor beginners zijn kan. Het is om een kleine teddybeer van ongeveer 2 duim hoog. Deze kleine jongens is perfect voor poppenhuizen, als cadeau of als een ni
PIC 12F675 programmeur/OscCal herstellen/Tester

PIC 12F675 programmeur/OscCal herstellen/Tester

Een van mijn circuits dat ik heel vaak (20-40 tegelijk), gebruik een PIC 12F675 bouwen. Ik had de volgende problemen:De planken die ik maak, heeft geen in-circuit programming mogelijkheden. Dit is om voor de lay-out van een klein PC-bestuur. Foto's m
Tiny Matcha Franse Macarons

Tiny Matcha Franse Macarons

Hey Momoluvers, het is Momo en vandaag ik zal u tonen hoe te maken deze ongelooflijk schattig, klein, en heerlijke Franse macarons. Franse macarons zijn al de meest ongelooflijke kleine desserts en zij vereisen de meest zorgvuldige hand en geschoolde
Tiny StumpChair

Tiny StumpChair

StumpChair (https://www.facebook.com/StumpChair) is al geruime tijd een lopend project. Op een gegeven moment begon een paar jaar geleden ik kleine StumpChair-modellen maken en waardoor ze in de stad in de winkels om te zien als iedereen zou merken.D
NeoPixel patroon programmeur

NeoPixel patroon programmeur

In dit instructable ik zal u tonen hoe te maken van mijn patroon programmeur voor Adafruit van NeoPixels.Het is een gedoe te bedenken mooie patronen in code elke keer, dus ik heb gemaakt een kleine toepassing die u kunt de patronen in visueel program
Montage-instructies voor de reactorkern, DIY Arduino programmeur

Montage-instructies voor de reactorkern, DIY Arduino programmeur

Hoe het werktUSB-Mini-Connector, dit biedt zowel de kracht en de mededeling van de seriële data van de computer aan de reactorkern programmeur.USB/serieel FT232RL, de mededeling IC chip door FTDI. Wordt het USB-signaal geconverteerd naar 5 volt TTY s
ArduinoISP Bootloader/programmeur combinatie Shield

ArduinoISP Bootloader/programmeur combinatie Shield

ik begon onlangs om geïnteresseerd in het bouwen van Arduino gebaseerd robots. Aangezien het een traumatiserende proces elke creatie uit elkaar te halen, ben ik kiezen om te houden mijne springlevend. Om de kosten van deze strategie lijkt het vanzelf
Tiny Faux taxidermie

Tiny Faux taxidermie

Ik vond sommige kleine houten platen bij een zuinigheid winkel, en wist dat ik iets moest doen met hen. Het eerste ding dat popped in mijn hoofd? Tiny gemonteerd dierlijke hoofden, natuurlijk! Maar ik wilde gaan voor goofy critters - geen hert of ela