„kolorofon” na Arduino

„kolorofon” na Arduino

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Witajcie Majsterkowicze! Chciałbym Wam zaprezentować projekt bardzo prosty w swojej budowie, możliwy w wykonaniu nawet przez osoby, które z Arduino(ch340, oryginał, kopie) mają styczność kilka godzin.

 

 

 

 

Co będzie nam potrzebne?

-kabel typu jack-jack 3.5mm;
-głośniczek o małej mocy (np. z laptopa);
-3 diody;
-kilka kabli (przewody połączeniowe);
-płytka stykowa (nie koniecznie, można lutować ;) );
-oczywiście Arduino oraz źródło dźwięku;

 

Podłączenie wszystkiego jest banalnie proste, poniżej schemat:

arduino_w_rytmmuzyki

Przejdźmy zatem do kodu:

int soundPin1 = A0; //deklaracja wejścia analogowego

void setup() {
Serial.begin(9600); //monitor portu szeregowego
  pinMode(3,OUTPUT);
pinMode(6,OUTPUT);
  pinMode(5,OUTPUT); //nasze wyjścia
}
void loop() 
{
 int soundPin1Reading; //zmienna z wartością naszego wejścia

 if (analogRead(soundPin1)<8) //eliminowanie zakłóceń, poniżej tej wartości
//diody nie zapalają się
 {
soundPin1Reading=0;        //przypisanie wartości 0
 }
else
 {
soundPin1Reading=analogRead(soundPin1); //jeśli wartość jest wyższa
 }                                         //przypisujemy ją do zmiennej

 
Serial.println(soundPin1Reading);  //wyświetlamy naszą wartość w monitorze
                                    //portu szeregowego

 int a=soundPin1Reading*10;// zmienna mocy świecenia dla pinu 3
int b=soundPin1Reading*12;// zmienna mocy świecenia dla pinu 5
 int c=soundPin1Reading*16;// zmienna mocy świecenia dla pinu 6
int f=(soundPin1Reading/255)*20; //zmienna opóźnienia

//przykład: mp4 na analogu daje sygnał 10, mnożymy przez 10 i dioda zapala się
//napęciem (100/255)*5V czyli około 1.96V

 analogWrite(3,a);
analogWrite(5,b);
 analogWrite(6,c);//zapalanie diód

  delay(f);//opóźnienie do wygaszenia

 analogWrite(3,0);
analogWrite(5,0);
 analogWrite(6,0);//wygaszanie ich

 delay(f);//opóźnienie między cyklami
}

Kod został chyba jasno objaśniony wraz z przykładem.

Na końcu efekt jaki udało mi się osiągnąć metodą prób i błędów:

 

Moja przygoda z Arduino trwa trzeci dzień także wyrozumiałości :D

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Ocena: 3/5 (głosów: 2)

Podobne posty

6 komentarzy do “„kolorofon” na Arduino

    • Generalnie nie ma takiej potrzeby gdyż odczyty na porcie szeregowym po obliczeniach (patrz przykład w kodzie) nie dawały więcej niż 2.36V więc uznałem je za zbędne. Jak widać w zmiennych każda dioda ma zadeklarowaną własną moc świecenia która nie przekracza jej granicy wytrzymałości.

      Odpowiedz
      • Ale tu nie chodzi o napięcie. Dioda LED nie stanowi prawie żadnego oporu w obwodzie. Jeśli nie zabezpieczysz jej rezystorem, uszkodzi się (najczęściej nie od razu)

        Odpowiedz
    • Arduino to płytka prototypowa, nie widzę przeszkód żeby przenieść gotowy kod na mikrokontroler np. ATtiny 13, idealnie by się nadawał. Uczę się więc tak jest o wiele wygodniej ;)

      Odpowiedz
  • Tak projekt na attiny 13 był by dobry tylko attiny 13 ma 2 wyjścia PWM. Można na tym kodzie wysterować tylko 2 diody led ściemnić je i rozjaśnić. By mieć więcej wyjść PWM musiał byś zastosować dodatkowy układ scalony.

    Odpowiedz

Odpowiedz

anuluj

"kolorofon" na Arduino

Nie przegap nowych projektów!

Zapisując się na nasz Newsletter będziesz miał pewność, że nie przegapisz żadnego nowego projektu opublikowanego w Majsterkowie!

Od teraz nie przegapisz żadnego projektu!

Masz uwagi?