Puzzel wekker (6 / 9 stap)

Stap 6: Programma IR-LED controller


De ATMega328P-chip wordt ook op grote schaal gebruikt in vele Arduino systemen met inbegrip van de meest voorkomende Arduino UNO. Dit geeft ons gemakkelijke toegang tot een I2C gecontroleerd IR LED externe gewoon door het ontwikkelen van de code op een normale Arduino UNO (met al zijn bibliotheken en mogelijkheden) en later het overbrengen van het programma naar onze SMD-variant van de ATMega IC. Ik gebruikte de IR-afstandsbediening bibliotheek ontwikkeld Ken Shirriff die u vindt hier. Deze zeer nuttig stukje code vereenvoudigt de 38 kHz signaal generatie en de timing te sturen het juiste signaal naar een paar eenvoudige lijnen van code en op het einde heb je alleen om aan te geven welke numerieke code die u wilt verzenden met een specifiek protocol. Om te zoeken naar de juiste code en het protocol kunt u bijvoorbeeld de awesome tutorial gepubliceerd door adafruit.

In mijn geval, de volgende codes worden verzonden via het NEC-protocol waarmee de lamp:

Zet LED licht op: 0xFFE01F (32 bits)

Zet LED licht wit: 0xFFD02F (32 bits)

LED power opdagen: 0xFFA05F (32 bits)

LED power afslaan: 0xFF20DF (32 bits)

LED licht uit te schakelen: 0xFF609F (32 bits)

Dus als u wilt voor voorbeeld de lamp inschakelt, gebruikt u de volgende coderegel in de Arduino ontwikkeling motor:

 irsend.sendNEC(0xFFE01F, 32); 

In mijn geval wilde ik de ATMega te luisteren op de I2C adres 8 voor een numerieke code die zal dan worden verzonden met behulp van de IR-LED in de NEC-formaat. Dus als ik wil een nieuwe code op te nemen, heb ik toe te voegen (bijvoorbeeld via SSH via een Wi-Fi verbinding) aan het script dat wordt uitgevoerd op het Edison bord dat veel eenvoudiger is dan te herprogrammeren de IC binnen de klok. Ik heb ook de broncode, alsmede een kopie van de binaire hex bestand voor het programmeren van de IC in deze stap.

Echter, je nog steeds te dragen van het startprogramma op uw IC van de ATMega-gesoldeerd op het bord. Om dit te vergemakkelijken de Raad van bestuur beschikt over een speciale SPI-connector zoals aangegeven in de eerste foto. U hoeft alleen een paar stukken van draad, een Arduino board en de gratis winavr softwarepakket.

Allereerst de Arduino aansluiten op de computer en het uploaden van het gegeven in de sectie Voorbeeld van uw Arduino SDK ArduinoISP-programma. Vervolgens sluit de Arduino pinnen in de code aan de juiste pinnen op het power bord gegeven. Als u van een Arduino UNO gebruikmaakt moeten de volgende aansluitingen worden gemaakt:

Arduino -> vermogen bestuur

GND -> GND

5V -> 5V

D10 -> RST

D13 -> SCK

D12 -> MISO

D11 -> Hasselt

Daarna kunt u een opdrachtregel op uw computer openen en controleren of de IC reageert. Na de volgende opdracht te typen moet u zien een antwoord geven u het serienummer en zekeringen van de IC (zoals in de 2e afbeelding). U moet vervangen COM # met de werkelijke seriële poort die uw Arduino is aangesloten (zoals rechtsonder in uw Arduino SDK).

 avrdude -v -c avrisp -p m328p -b 19200 -P COM# -n 

Als u van een "vers" IC gebruikmaakt hebt u om het te vertellen nu te gebruiken het kwartskristal 16 MHz als de input van een klok. Dit wordt gedaan door het instellen van de zogenaamde "zekeringen" (Zie 3e foto). Wees zeer voorzichtig in deze stap de juiste zekering instellen zoals hierboven vermeld. Anders, zou u uw IC-uitgevallen renderen.

 avrdude -v -c avrisp -p m328p -b 19200 -P COM# -U lfuse:w:0xff:m -U hfuse:w:0xd9:m -U efuse:w:0x04:m 

Als alles tot nu toe heeft gewerkt, kunt u uw programma op de ATMega uploaden. Je moet de "Hexuitdraai" bestand gegenereerd door de Arduino SDK tijdens het compileren van de code. Door de uitgebreide uitvoer inschakelen tijdens de compilatie (Arduino SDK opties) zult gemakkelijk kunnen vinden van de tijdelijke map waarin de hex-bestand is opgeslagen. Als alternatief kunt u het bestand van de "I2CRemote.cpp.hex" ik samen met de broncode geleverd. Houd echter in gedachten dat het alleen het IR signaal via het NEC-protocol stuurt. Voor het uploaden van het programma op de IC-type:

 avrdude -v -c avrisp -p m328p -b 19200 -P COM# -U flash:w:I2CRemote.cpp.hex 

U hebt nu volledige functionele IR afstandsbediening die u kunt activeren en controle door uw bestuur van Edison.

Gerelateerde Artikelen

Een puzzel wekker.

Een puzzel wekker.

Dit is een wekker die niet u vertelt tijd maar wanneer de tijd bereikt een bepaald punt het alarm afgaat. Gaat er een alarm af en soleniodes druk op de top van het alarm. Om uit te schakelen moet het alarm van de top, die een puzzel is, terug op de j
LED Sunrise wekker met aanpasbare lied Alarm

LED Sunrise wekker met aanpasbare lied Alarm

Mijn motivatieDeze winter mijn vriendin had een heleboel problemen in de ochtend wakker en leek te lijden aan SAD (Seasonal Affective Disorder). Ik eens merken hoe moeilijker het is om wakker in de winter, aangezien de zon nog niet is komen. Symptome
Houten deuvel puzzel – Advanced versie

Houten deuvel puzzel – Advanced versie

Afgelopen week postte ik een vattenproducenten puzzel die 8 segmenten. Tot mijn verbazing, bleek zeer uitdagend voor mijn collega's, want er alleen een 25% voltooiing/slagingspercentage was. De typische tijd voordat iemand gevraagd voor een hamer om
Kies & plaats puzzel steun

Kies & plaats puzzel steun

Dit product is ontworpen voor een gehandicapte persoon die houdt van puzzel maar die was niet in staat om te halen naar de kleine stukjes.Een aquarium pomp werd omgekeerd zodat het zuigt in plaats van het blazen. Een instrument met een kleine zuignap
Smartphone wekker

Smartphone wekker

Hallo!In dit Instructable zal ik u vertellen hoe maak je een goed uitziende smartphone alarmklok. De wekker wordt de tijd weergegeven, kan het opladen van de telefoon en herbergt een mini versterker en luidspreker. Ik had het idee om te bouwen van de
Wekker met behulp van Atmega-328 en RTC

Wekker met behulp van Atmega-328 en RTC

Hi iedereen! Dit is mijn eerste instructable! Na het lezen van honderden instructables, besloten heb ik om mezelf.Klok is een van de meest essentiële dingen van huis houden. Er zijn verschillende soorten klokken zoals goede oude klokken van de slinge
Chronobot: Een slimme wekker

Chronobot: Een slimme wekker

Chronobot is een slimme wekker die eigen geaardheid kunt voelen. Het is een analoge klok met een geweldig uitziende geval. De klok is vrij eenvoudig om te bouwen en instellen. Het gemaakt met behulp van een mini ardunio en een TFT-scherm. Chronobot i
Muzikale computergebaseerde wekker

Muzikale computergebaseerde wekker

als een college student krijg ik niet genoeg slaap, mijn bed warm en comfortabel is, en ik niet houd van krijgend eruit in de ochtenden.Ik meestal - instellen zoals ik weet zeker dat velen van u als goed - doen een alarm (of twee) op mijn telefoon en
Code schrijven om te lossen van de toren van Hanoi puzzel

Code schrijven om te lossen van de toren van Hanoi puzzel

Q: wat is de makkelijkste manier om de som van alle gehele getallen tussen 1 en 100?A: eerst je de som van alle gehele getallen tussen 1 en 99, voeg dan 100.Silly, juiste? Dit is eigenlijk een voorbeeld van een krachtige verdeel-en-heers-techniek in
Hoe maak je een brief met een verborgen puzzel / Code

Hoe maak je een brief met een verborgen puzzel / Code

Ik hou gaan naar "Escape from the Room" spelen met mijn vrienden.Voor mijn verjaardag dit jaar verzocht ik ze om samen met mij in een andere lidstaat. Na het evenement en onze schema's coördineren, besloot ik dat ik wilde helpen creëren de sfeer
De hand knoop puzzel

De hand knoop puzzel

Dit is een groot raadsel voor weinig uitdaging die perfect is voor alle leeftijden.Het bestaat uit een klein houten balletje op het einde van een dunne, plooibaar touw. De uitdaging is om met succes legt een knoop in het touw met één hand in een seco
Puzzel Mascottes

Puzzel Mascottes

na het maken van de vele mascot maskers ik mezelf uitdaging wilde door gebruik te maken van dezelfde technieken als een reeks van interactieve Mascottes wilt maken.Dit idee kwamen samen als een indiening voor een festival in Montreal genaamd chromati
Hoe samen te stellen een puzzel

Hoe samen te stellen een puzzel

Samenstellen van legpuzzels is een heleboel plezier. Ze zijn erg goedkoop nu, en vele openbare bibliotheken hebben een selectie voor leden om te controleren. Als u nog niet aan een puzzel voor gewerkt, zijn hier enkele tips om u aan de slag te helpen
Album cover puzzel

Album cover puzzel

Ik gebruikt voor het verzamelen van vinyl voor een tijdje, maar nu met de muziek streaming mogelijkheden ik nauwelijks oude school records meer spelen. Maar een van de mooie dingen van records zijn er covers. Dus ik was op zoek naar een manier om de