W artykule Arduino sterowanie automatyczne poprzez własny pilot IR przedstawiłem jak zamienić arduino w pilota do sterowania wybranym urządzeniem. Jest jedna wada tego rozwiązania, należy poświecić arduino na cele projektu. Rozwiązaniem jest przeniesienie sterowania na mikrokontroler np. ATMEGA 328-20PU – cena tego scalaka to około 13zł.
Podstawowe parametry:
- zasilanie 1.8V-5.5V
- 32 kB pamięci flash
- 2 kB pamięci RAM
- 1 kB pamięci EEPROM
- maksymalna częstotliwość pracy 20 MHz
- rdzeń AVR8 (szyna danych 8 bit)
Na stronie Rozmnażanie arduino jest dobrze opisane jak wgrać swój program na mikrokontroler oraz jak wypalić bootloader, więc nie będę pisał o tych podstawach.
Lista sprzętu potrzebna do zbudowania układu (ceny uśrednione):
- Atmega 328-20PU – 1szt. – 13 zł
- Stabilizator napięcia LM7805 1 szt – 2,20 zł
- Kondensator elektrolityczny 100uF 16V 100nF – 2szt. – 0,70 zł/szt
- Kondensator ceramiczny 22pF – 2szt – 0,70 zł/szt
- Rezonator kwarcowy 16MHz 1 szt. – 0,90zł
- Czujnik temp MCP 9700 – 1 szt. – 1.60zł
- Rezystor 1kom – 1szt – 0,60 zł
- Rezystor 100om – 3szt – 0,60 zł
- DIODA LED CZERWONA – 1szt – 0,40 zł
- Dioda nadawcza IR – 1 szt – 0,60 zł
W sumie koszt wynosi 23,90 zł w porównaniu koszt arduino to ponad 130 zł, więc możemy zaoszczędzić ponad 100 zł.
Cały układ można podzielić na poszczególne sekcje:
- Sekcja napięcia,
- Sekcja mikrokontrolera
- Sekcja odczytu temperatury
- Sekcja nadawania sygnału IR
1. Sekcja napięcia – celem sekcji jest dostarczenie napięcia 5V czyli całą sekcją może być zasilacz 5DC. Ja zrobiłem trochę bardziej rozbudowany układ, który ma o wiele większe zastosowanie o czym napisze przy następnym projekcie.
Źródłem zasilania jest u mnie zasilacz 12V DC, następnie mamy stabilizator napięcia LM7805. W stabilizatorze podpinamy 1.IN<->+12V 2.GND<->GND DC 3. OUT otrzymujemy 5V. Następnie dodajemy kondensatory elektrolityczne 100uF
Pierwszy na IN<->GND oraz
Drugi OUT<->GND przy stabilizatorze.
Dodatkowo dodałem diodę led czerwoną świadcząca o tym że układ jest pod napięciem. Połączyłem ją 1.GND<->GND 2. <->Rezystor 1kom<->+5V
2. Sekcja mikrokontrolera Atmega 328-PU
Atmega 328 PIN7 oraz PIN20 <-> +5V
Atmega 328 PIN8 oraz PIN22 <-> GND
Atmega 328 PIN9 oraz PIN10 <-> Rezonator kwarcowy 16MHz
Kondensator ceramiczny 22pF 1.GND 2.Atmega328 PIN9
Kondensator ceramiczny 22pF 1.GND 2.Atmega328 PIN10
Program można wgrać do Atmegi ten sam co do Arduino.
3. Sekcja odczytu temperatury
Czujnik temperatury to MCP 9700 podłączamy go następująco:
A.<->Rezystor 100om <->+5V
B.Atmega 328 PIN 23
C.GND
4.Sekcja nadawania sygnału IR
Sygnał wysyła dioda IR podłączamy ją tak:
1.Ten sygnał ma 2 źródła:
A.+5V<->Rezystor 100om
B.Atmega 328 PIN 5<->Rezystor 100 om
2. GND
To jest cały układ poniżej schemat połączeniowy na płytce uniwersalnej.