• Авторизация


Хобби. 09-01-2014 00:14


Очередная Affroduino. С часами на борту.
[700x393]
комментарии: 2 понравилось! вверх^ к полной версии
ds1307, или часы нереального времени 17-12-2013 23:25


Заработали часики. В общем почти все примеры по этой штуке - фигня, не работают. Не собираются. В итоге рабочий скетч он вот такой:

(здесь я только добавил три строчки в сетюп, и оно заработало)



#include \

int hour;
int minute;
int second;
int month;
int day_of_week;
int day;
int year;

char* dow[7] = {\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"};

void setup()
{
Serial.begin(9600);
Wire.begin();
Wire.beginTransmission(104); // transmit to device #104, the ds 1307
Wire.write(0x00);
Wire.endTransmission();

}

void loop()
{
// Below required to reset the register address to 0.
Wire.beginTransmission(104); // transmit to device #104, the ds 1307
Wire.write(0x00);
Wire.endTransmission(); // stop transmitting

Wire.requestFrom(104, 7); // request 7 bytes from slave ds1307, we'll assume it'll write them all even though it doesn't have to
second = Wire.read();
minute = Wire.read();
hour = Wire.read();
day_of_week=Wire.read();
day = Wire.read();
month = Wire.read();
year = Wire.read();

// Convert all the BCD values that might have \"tens\" to decimal. Most arduino folks do this w/shifts but this just looks easier to me.
hour=hour/16 * 10 + hour % 16;
minute=minute/16 * 10 + minute % 16;
second=second/16 * 10 + second % 16;
day=day/16 * 10 + day % 16;
month=month/16 * 10 + month % 16;
year=2000 + year/16 * 10 + year % 16;

Serial.print(hour);
Serial.print(\":\");
if (minute < 10) { Serial.print(\"0\"); }
Serial.print(minute);
Serial.print(\":\");
if (second < 10) { Serial.print(\"0\"); }
Serial.print(second);
Serial.print(\" \");
Serial.print(dow[day_of_week-1]); // array is 0-6, but the dow register holds 1-7, so subtract 1.
Serial.print(\", \");
Serial.print(month);
Serial.print(\"/\");
Serial.print(day);
Serial.print(\"/\");
Serial.print(year);
Serial.print(\"\\n\");
delay(1000);
}
[700x393]
комментарии: 0 понравилось! вверх^ к полной версии

Arduino 17-12-2013 22:57


Короче в либе Wire вместо функций send и receive - read и write. Поэтому ds1307.h, которая ее использует, не работает...

Но это ладно, при этом глючит сериал монитор, однако он вполне заменим строчкой:

cat /dev/ttyACM0
комментарии: 0 понравилось! вверх^ к полной версии
Arduino 17-12-2013 01:03


Если в проц прошит загрузчик от Duemillanove, то хрен вам а не заливка бутлоадера в другой чип.
В общем пока не отыскал родной проц от своей Arduino Uno, нифига не получилось, avrdude выдавал всякие там ошибки и всячески выделывался.

Из жадности купив пару Atmega8 и от тупости решив прошить в них ардуиновский бутлоадер (ибо ардуина-то, она ведь для дураков придумана). Обломался на этом деле. Но вроде обошлось все. Вроде не зря я потратил 200 рублей на две атмеги-восьмерочки...

P.S. IDE версии 1.0.5. И не верьте, что в функции heartbeat скетча нужно поменять delay(20) на delay(40). Это все херня. Я оставил все как есть, и оно сработало, а если следовать совету, то нихрена не работает.
комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка 12-12-2013 23:40




комментарии: 0 понравилось! вверх^ к полной версии
Imelda May 12-12-2013 23:25


http://www.youtube.com/watch?v=uS1Ha3cF0Yk
комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка 01-12-2013 17:06


99.999% людей всю жизнь занимаются херней
комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка 28-11-2013 21:32


Долбаный Юникод
комментарии: 0 понравилось! вверх^ к полной версии
RE 22-11-2013 00:20


s/Windows/Linux/;
s/"Долбоёбы"/"Заменить некем"/;
комментарии: 1 понравилось! вверх^ к полной версии
Чтоб не забыть 20-11-2013 00:32


А то ведь потеряю, да забуду. А здесь сохраннее. В общем это "секундомер". Хреновый, но здесь просто отражен механизм генерации сигнала самим циклом main. Запускается таймер (кнопкой "старт"), который через секунду вызывает функцию, которая в свою очередь меняет надпись. Кнопкой стоп это дело прекращается.


#!/usr/bin/perl -w
use Gtk2;
use strict;
use utf8;
init Gtk2;
my $ret;
my $timer;
my $start;

my $win = new Gtk2::Window('toplevel');
$win->signal_connect("delete_event",\&CloseApp);

my $vbox = new Gtk2::VBox(0,5);
$vbox->set_homogeneous(0);
$vbox->set_spacing(5);
$vbox->set_padding(5);
my $label = new Gtk2::Label("time");
$vbox->pack_start_defaults($label);
my $button = new Gtk2::Button("Start");
$button->signal_connect("clicked",sub
{
$timer = Glib::Timeout->add(1000,\&MyTimer);
$start = time();
$ret = 1;
});
$vbox->pack_start_defaults($button);
$button=new Gtk2::Button("Stop");
$button->signal_connect("clicked", sub
{
$ret=0;
});
$vbox->pack_start_defaults($button);
$button=new Gtk2::Button("Quit");
$button->signal_connect("clicked",\&CloseApp);
$vbox->pack_start_defaults($button);
$win->add($vbox);
$win->show_all();
main Gtk2;
sub MyTimer
{
my $tm = time();
my $string = $tm-$start;
$label->set_label($string);
return $ret;
}

sub CloseApp
{
Gtk2->main_quit;
}
комментарии: 0 понравилось! вверх^ к полной версии
Дебилизм 20-11-2013 00:24


Хочу чтоб на компе стоял vim, мультитабовый терминал, и чтоб в нем вкладки переключались клавишами Alt-> Alt<-.
комментарии: 0 понравилось! вверх^ к полной версии
Книжка. 11-11-2013 20:50


Хорошая книжка, автор молодец. Второй день читаю. Хотя нахера мне ассемблер? Но интересно.

http://www.stolyarov.info/books/asm_unix
комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка 10-11-2013 00:26




комментарии: 0 понравилось! вверх^ к полной версии
Браузеры. 10-11-2013 00:23


Файрфокс кажется добротнее Хрома, реклама которого представляется весьма сомнительной - с какого хрена ему быть быстрее?
комментарии: 0 понравилось! вверх^ к полной версии
Понравилось 06-11-2013 23:47






Хотя и не krewmen. Совсем даже не они.
комментарии: 0 понравилось! вверх^ к полной версии
Очередная хрень 04-11-2013 16:19


Флуктуации пространственно-временного континуума. Все системы перекачки пришли в негодность, как дома, так и на работе. Бред короче.
комментарии: 0 понравилось! вверх^ к полной версии
Гуй 03-11-2013 22:24


Ну в общем это. Приболел малость. Простудился. Вследствие этого образовалось свободное время, аж полтора дня. В уединении читал мануал по gtk-perl. неожиданно gtk стало понятным и логичным (видно perl помог).

Ну сидеть и тупо читать - не по мне, поэтому нарисовал программку - тренажер счета в уме. Генерит два случайных числа, вводишь ответ. Если ответ верный, то верный... Пока только на сложение. Ну когда прикрутил к нему ввод диапазона - самому интересно стало. Сижу трехзначные числа складываю в уме. :)

Программка-то вшивенькая (консольная версия - строк десять) - двести строк... На то и гуй.
[700x393]
комментарии: 0 понравилось! вверх^ к полной версии
Hillbilly 29-10-2013 22:19




комментарии: 0 понравилось! вверх^ к полной версии
Surf 29-10-2013 21:47


Link Wray
комментарии: 0 понравилось! вверх^ к полной версии
007 26-09-2013 00:44


http://www.youtube.com/watch?v=Ggja2MS5kIs
комментарии: 0 понравилось! вверх^ к полной версии