Mikrokontrolery - Jak zacząć?

... czyli zbiór praktycznej wiedzy dot. mikrokontrolerów.

niedziela, 27 marca 2011

DIY: Choinka by Dambo

Autor: Dambo
Redakcja: Dondu


Przedstawiony niżej projekt to połączenie elektroniki z ... origami (dokładniej jest to origami modułowe).


Gotowa choinka


Potrzebne materiały:
  •  ok 8 zielonych kartek formatu a4 na drzewko
  •  ok 2 żółtych kartek formatu a4 na gwiazdę
  •  mikrokontroler (tutaj możemy użyć co tylko mamy w szafie, potrzebujemy 10 pinów I/O, ja wykorzystałem atmegę8)
  •  diody sztuk 10 wraz z rezystorami 330 om
  •  goldpiny męskie i żeńskie do wykonania połączeń oraz płytka prototypowa
  •  ok pół metra skrętki do zrobienia przewodów
  •  jakieś pudełeczko, aby schować elektronikę
  •  zasilacz 5V



Origami

Zajmiemy się najpierw od kwestii zbudowania choinki, a dopiero na końcu zajmiemy się elektroniką i programowaniem.

Zaczynamy od zrobienia ze wszystkich kartek modułów ( jednakowych elementów z których składają się wszystkie konstrukcje) po odpowiednim zginaniu jak na zdjęciu niżej:


Musimy otrzymać te najmniejsze prostokąciki


otrzymujemy 32 małe prostokąty. Budowa pojedynczego modułu wygląda następująco:


Metoda składania modułów


Moduły, które zbudowaliśmy mają taką właściwość, że się łączą i można z nich otrzymać wiele różnych kształtów poprzez wsadzanie jednych w drugie. Poniżej zdjęcia jak ułożyć poszczególne poziomy choinki.



1 poziom


2 poziom



3 poziom


4 poziom


5 poziom


Niestety nie mam osobnego zdjęcia dla gwiazdy, lecz można się posiłkować zdjęciem całości, gdyż tam są bardzo dobrze widoczne połączenia.

Poszczególne moduły układamy na sobie i otrzymujemy nasze drzewko. Jeśli któreś elementy są zbyt luźne możemy śmiało je ze sobą skleić oraz w ramach lepszej stabilności konstrukcji można wewnątrz umieścić jakiś drewniany patyczek. Widzimy, że w środku modułów otrzymujemy wolną przestrzeń idealna do poprowadzenia  przewodów.

W końcowe segmenty możemy teraz powbijać diody co nie powinno sprawić żadnego problemu (na zdjęciach są już one tam umieszczone).



Część elektroniczna

Teraz musimy się zastanowić w jaki sposób chcemy sterować diodami, ja połączyłem wszystkie katody więc będę sterował anodami podłączonymi do pinów mikrokontrolera oczywiście przez rezystory (220Ω).


Poprowadzenie masy w poziomie 2

Do każdej anody w diodach musimy przylutować osobny przewód o odpowiedniej długości (najlepiej przyrównać na gotowym ułożonym drzewku).

W obudowie wiercimy większy otwór na górze, oraz z boku mniejszy na kabel od ładowarki.

Teraz na płytce prototypowej lutujemy nasz mikrokontroler, rezystory i wyprowadzenia (żeńskie goldpiny, męskie możemy przylutować do przewodów z diod), ja użyłem do zasilania starej ładowarki od telefonu więc mogłem pominąć filtrację. Nie wstawiam schematu, gdyż jest to banalne do wykonania. Anody czerwonych diod podłączyłem do pinów PD0...PD4, natomiast niebieskich do PB0...PB4.

Napisanie programu też nie powinno stanowić problemu - możemy wymyślić swoje własne sposoby świecenia, prędkości migania itp. Każdy początkujący przez to kiedyś przechodził. Wstawiam w załączniku mój przykładowy program, którego działanie widać na poniższym filmiku:





Przykładowy program:

/*
 * main.c
 *
 *  Created on 2013-12-21
 *      Author: Przemek
 */

#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>

#define czas 500
#define czerwone PORTB
#define niebieskie PORTD

int main(void)
{
 DDRD = 0x1f;
 DDRB = 0x1f;
 uint8_t licznik = 0;
 //sei();
 while(1)
 {
  for(licznik = 0; licznik < 5; licznik++)
  {
   czerwone = 0b000000001;
   niebieskie = 0b00010000;
   _delay_ms(czas);
   czerwone = 0b00000010;
   niebieskie = 0b00001000;
   _delay_ms(czas);
   czerwone = 0b00000100;
   niebieskie = 0b00000100;
   _delay_ms(czas);
   czerwone = 0b00001000;
   niebieskie = 0b00000010;
   _delay_ms(czas);
   czerwone = 0b00010000;
   niebieskie= 0b00000001;
  }
  /////
  for(licznik = 0; licznik < 5; licznik++)
  {
   czerwone = 0;
   niebieskie = 0xff;
   _delay_ms(czas);
   czerwone = 0xff;
   niebieskie = 0;
   _delay_ms(czas);
  }

 }
}

Pozdrawiam
Dambo






Uwagi redakcji

Ten projekt oceniliśmy pod kątem technicznym bardzo nisko, ponieważ autor nie załączył schematu i ewentualnie płytki PCB. Szkoda, bo projekt poprzez użycie Origami jest bardzo ciekawy :-)

W przypadku tego projektu także od strony programu autor nie wykazał się zbytnio. Warto byłoby w przyszłości wzbogacić ten projekt o losowe zapalanie LED w oparciu o Generator Liczb Losowych na ADC lub inny: Generator liczb losowych


Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

1 komentarz:

Działy
Działy dodatkowe
Inne
O blogu




Dzisiaj
--> za darmo!!! <--
1. USBasp
2. microBOARD M8


Napisz artykuł
--> i wygraj nagrodę. <--


Co nowego na blogu?
Śledź naszego Facebook-a



Co nowego na blogu?
Śledź nas na Google+

/* 20140911 Wyłączona prawa kolumna */
  • 00

    dni

  • 00

    godzin

  • :
  • 00

    minut

  • :
  • 00

    sekund

Nie czekaj do ostatniego dnia!
Jakość opisu projektu także jest istotna (pkt 9.2 regulaminu).

Sponsorzy:

Zapamiętaj ten artykuł w moim prywatnym spisie treści.