roboforum.ruТехнический форум по робототехнике. |
|
|
Dmitry__ писал(а):Ну круто, чо? Чуваг хоть признался что слабоумен. Не буду мешать
dimamichev писал(а):Или про 2 Кб брехнёшь? Хотя в лом читать, всё равно пурга.
Dmitry__ писал(а):Дарагуша, вроде бы мы выяснили, что пока я нигде не брехал, а ты тупил.
Что тебе сбрехнуть про 2кб? Где у нас затык?
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Arduino UNO, Pro Mini
//
////////////////////////
//
//программа для LED куба на шести матрицах 6*6, и max7219 //
#include <LedControl.h>//подключаем данную библиотеку
int i=0;int j=0;int k=0;int k1=5;
int n=5;//5 миллисекунд- единица длительности паузы переключений
LedControl LC = LedControl(12, 11, 10, 6);// создаём объект класса для 6 индикаторов
// при этом выводы 12-DIN 11-CLK 10-CS //
void setup()
{
for (i=0;i<=5;i++)
{
LC.shutdown(i, false);//выключаем энергосберегающий режим
LC.setIntensity(i,4 );// устанавливаем интенсивность в 4 единиц между 0 и 15
LC.clearDisplay(i);//очищаем матрицу i
}
}
void loop()
{
///////////////////////////////////// ПРОГРАММА 1 ДВИЖЕНИЯ ПЛОСКОСТИ ///////////////////////////////////
for (k=0;k<=161;k=k+3)
{int tabl[6][6]={1,1,0,0,1,1,
1,1,0,0,1,1,
1,1,1,1,0,0,
0,0,1,1,0,0,
1,1,0,0,1,1,
1,1,0,0,1,1}; //массив, задающий изображение в плоскости
for (i=0;i<=k1;i++) //цикл в цикле для перебора элементов матриц
{
for (j=0;j<=k1;j++)
{
int tabl1[162]={0,i,j, i,j,5-i, i,j,5, i,j,i, 5,i,j, i,j,5-i, i,j,0, i,j,i,
0,i,j, i,i,j, i,0,j, i,1,j, i,2,j, i,3,j, i,4,j, i,5,j, i,4,j, i,3,j, i,2,j, i,1,j, i,0,j,
i,5-i,j, 5,i,j, i,i,j, i,5,j, i,5-i,j,
0,i,j, 1,i,j, 2,i,j, 3,i,j, 4,i,j, 5,i,j, 4,i,j, 2,i,j, 1,i,j,
0,i,j, i,j,5-i, i,j,5, i,j,4, i,j,3, i,j,2, i,j,2, i,j,1, i,j,0,
i,j,1, i,j,2, i,j,3, i,j,4, i,j,5, i,j,i, 5,i,j, i,j,5-i, i,j,0, i,j,i};//массив задающий движение и вращение плоскости
if (tabl[i][j]==1){LC.setLed(tabl1[k],tabl1[k+1],tabl1[k+2],1);}//включение светодиодов плоскости
}
}
delay(5*n);
LC.clearDisplay(0);LC.clearDisplay(1);LC.clearDisplay(2);//очистка матриц куба
LC.clearDisplay(3);LC.clearDisplay(4);LC.clearDisplay(5);
}
///////////////////////////////////// ПРОГРАММА 2 ДВИЖЕНИЯ ПЛОСКОСТИ //////////////////////////////////////////////////
byte tabl2[6]={B11001100,
B11001100,
B00110000,
B00110000,
B11001100,
B11001100};//массив,задающий изображение в плоскости
for (k=0;k<=6;k++)
{
///////////////////////////////////////////////////////////////////////////////////////
for (i=0;i<=k1;i++) //цикл в цикле для перебора элементов матриц
{
for (j=0;j<=k1;j++)
{
LC.setRow(i-1,j,B00000000 ); LC.setRow(i,j,tabl2[j] );
}
delay(15*n);
}
for (i=k1+1;i>=0;i--) //цикл в цикле для перебора элементов матриц
{
for (j=0;j<=k1;j++)
{
LC.setRow(i+1,j,B00000000 ); LC.setRow(i,j,tabl2[j] );
}
delay(15*n);
}
///////////////////////////////////////////////////////////////////////////////////////
}
}
// Подключаем библиотеку Adafruit NeoPixel.
#include "Adafruit_NeoPixel.h"
// Указываем, какое количество пикселей у нашей ленты.
#define LED_COUNT1 125
// Указываем, к какому порту подключен вход ленты DIN.
#define LED_PIN1 6
Adafruit_NeoPixel strip1 = Adafruit_NeoPixel(LED_COUNT1, LED_PIN1, NEO_GRB + NEO_KHZ800);// Создаем переменную strip для управления нашей лентой.
int r=0;int g=0;int b=0;
int k=5;//яркость свечения пикселя из 0 до 255 ступеней
int j=0;int i=0;//cчётчики
int k1=5;//число пикселей в ребре куба
int n=35;//единица длительности переключений в мс
void setup()
{
strip1.begin();
}
void loop()
{
////////////////////////////////// ПРОГРАММА ПЕРЕКЛЮЧЕНИЯ РАДУЖНЫЙ ДОЖДИК //////////////////////////////////////////
g=random(0,2);r=random(0,2);b=random(0,2); //псевдослучайный выбор цвета с исключением его отсутствия
if (g==0&&r==0&&b==0){r=1;g=1;}
// Включаем и выключаем по одной плоскости в одну сторону светодиоды.
for (i = 0; i <= k1-1; i++)
{
for(j=0;j<=k1*k1-1;j++)
{
strip1.setPixelColor(i+k1*j, strip1.Color(k*g,k*r,k*b)); //псевдослучайный цвет на яркости k
}
strip1.show(); delay(3*n);
if (i<=k1-2){
for(j=0;j<=k1*k1-1;j++)
{
strip1.setPixelColor(i+k1*j, strip1.Color(0,0,0));//выключение пикселя
}
strip1.show();}
}
// Включаем и выключаем по одному в другую сторону светодиоды.
for (i=k1*k1*k1-1 ; i >= 0; i--)
{
strip1.setPixelColor(i, strip1.Color(k*g,k*r,k*b)); //псевдослучайный цвет
strip1.show(); delay(n);
strip1.setPixelColor(i, strip1.Color(0,0,0)); //выключение пикселя
strip1.show();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
dimamichev писал(а):Такую программу прогонял.
dimamichev писал(а):Надо смотреть светодиоды подороже, что Ангел советовал.
dimamichev писал(а):ПС Чего то не мог вчера со своего ip влезть на форум - писали что адрес в чёрном списке... лазил через "забор".
Вернуться в Arduino и другие Xduino
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1