If you think you are too small to make a difference, try sleeping with a mosquito.
Wednesday, August 31, 2016
Tuesday, August 30, 2016
Pulang dari Kampus.
Alfa: Ayah, tadi jatuh pas naik sepeda gajah, berdarah. Ndak mandi, nanti perih.
(Sambil menunjukkan jempol kaki yang kulitnya terkelupas)
:)
Kangen.
Kinanthi: Lama nggak ngobrol ya Meg.
Meg: Iya Kin, lha sekarang semua sibuk ngurusi Mukidi.
K: (senyum)
Friday, August 19, 2016
Transmit serial data to an Android device, :)
.(Independent multitasking LEDs blink using Arduino FreeRTOS, and send the data wirelessly using bluetooth module HC-05. :) )
http://ift.tt/2b4YNBe.
the code is same as here
Independent Wireless Multitasking LEDs blink using Arduino FreeRTOS
and send the data wirelessly using bluetooth module HC-05. :)
http://ift.tt/2bi4MpP.
#include <Arduino_FreeRTOS.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
int n = 0;
// define two tasks for Blink & AnalogRead
void TaskBlink( void *pvParameters );
void TaskBlink2( void *pvParameters );
void TaskBlink3( void *pvParameters );
void TaskBlink4( void *pvParameters );
void TaskTadaa( void *pvParameters );
// the setup function runs once when you press reset or power the board
void setup() {
// initialize serial communication at 9600 bits per second:
mySerial.begin(9600);
// Now set up two tasks to run independently.
xTaskCreate(
TaskBlink
, (const portCHAR *)"Blink" // A name just for humans
, 128 // Stack size
, NULL
, 2 // priority
, NULL );
xTaskCreate(TaskBlink2,(const portCHAR *)"Blink2",128, NULL,2,NULL );
xTaskCreate(TaskBlink3,(const portCHAR *)"Blink3",128, NULL,2,NULL );
xTaskCreate(TaskBlink4,(const portCHAR *)"Blink4",128, NULL,2,NULL );
xTaskCreate(
TaskTadaa
, (const portCHAR *) "Tadaa"
, 128 // This stack size can be checked & adjusted by reading Highwater
, NULL
, 1 // priority
, NULL );
// Now the task scheduler, which takes over control of scheduling individual tasks, is automatically started.
}
void loop()
{
// Empty. Things are done in Tasks.
}
/*--------------------------------------------------*/
/*---------------------- Tasks ---------------------*/
/*--------------------------------------------------*/
void TaskBlink(void *pvParameters) // This is a task.
{
(void) pvParameters;
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
for (;;) // A Task shall never return or exit.
{
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
mySerial.println("LED 13 Nyala");
vTaskDelay( 1000 / portTICK_PERIOD_MS ); // wait for one second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
mySerial.println("LED 13 Padam");
vTaskDelay( 1000 / portTICK_PERIOD_MS ); // wait for one second
}
}
void TaskBlink2(void *pvParameters){
(void) pvParameters;
pinMode(2, OUTPUT);
for (;;) {
digitalWrite(2, HIGH); vTaskDelay( 2000 / portTICK_PERIOD_MS );mySerial.println("LED 2 Nyala");
digitalWrite(2, LOW); vTaskDelay( 2000 / portTICK_PERIOD_MS );mySerial.println("LED 2 Padam");
}
}
void TaskBlink3(void *pvParameters){
(void) pvParameters;
pinMode(3, OUTPUT);
for (;;) {
digitalWrite(3, HIGH); vTaskDelay( 500 / portTICK_PERIOD_MS );mySerial.println("LED 3 Nyala");
digitalWrite(3, LOW); vTaskDelay( 1500 / portTICK_PERIOD_MS );mySerial.println("LED 3 Padam");
}
}
void TaskBlink4(void *pvParameters){
(void) pvParameters;
pinMode(4, OUTPUT);
for (;;) {
digitalWrite(4, HIGH); vTaskDelay( 500 / portTICK_PERIOD_MS );mySerial.println("LED 4 Nyala");
digitalWrite(4, LOW); vTaskDelay( 250 / portTICK_PERIOD_MS );mySerial.println("LED 4 Padam");
}
}
void TaskTadaa(void *pvParameters) // This is a task.
{
(void) pvParameters;
for (;;)
{
// read the input on analog pin 0:
n++;
if (n>100){n = 0;}
// print out the value you read:
mySerial.print("Tadaa...");
mySerial.println(n);
vTaskDelay(2000/portTICK_PERIOD_MS);// 2 second delay
// one tick delay (15ms) in between reads for stability
}
}
Thursday, August 18, 2016
Independent LEDs Blinking
using Arduino FreeRTOS, realtime multi tasking, :)
I programmed LED on pin 2, 3, 4 and 13 to blink at its own time. The advantage of this Arduino FreeRTOS is we don't have to calculate the timing of each pin in respect of sequential execution. It's has its own task and schedule, independent of each other.
http://ift.tt/2b4jwFJ.
#include <Arduino_FreeRTOS.h>
int n = 0;
// define two tasks for Blink & AnalogRead
void TaskBlink( void *pvParameters );
void TaskBlink2( void *pvParameters );
void TaskBlink3( void *pvParameters );
void TaskBlink4( void *pvParameters );
void TaskTadaa( void *pvParameters );
// the setup function runs once when you press reset or power the board
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
// Now set up two tasks to run independently.
xTaskCreate(
TaskBlink
, (const portCHAR *)"Blink" // A name just for humans
, 128 // Stack size
, NULL
, 2 // priority
, NULL );
xTaskCreate(TaskBlink2,(const portCHAR *)"Blink2",128, NULL,2,NULL );
xTaskCreate(TaskBlink3,(const portCHAR *)"Blink3",128, NULL,2,NULL );
xTaskCreate(TaskBlink4,(const portCHAR *)"Blink4",128, NULL,2,NULL );
xTaskCreate(
TaskTadaa
, (const portCHAR *) "Tadaa"
, 128 // This stack size can be checked & adjusted by reading Highwater
, NULL
, 1 // priority
, NULL );
// Now the task scheduler, which takes over control of scheduling individual tasks, is automatically started.
}
void loop()
{
// Empty. Things are done in Tasks.
}
/*--------------------------------------------------*/
/*---------------------- Tasks ---------------------*/
/*--------------------------------------------------*/
void TaskBlink(void *pvParameters) // This is a task.
{
(void) pvParameters;
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
for (;;) // A Task shall never return or exit.
{
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
Serial.println("LED 13 Nyala");
vTaskDelay( 1000 / portTICK_PERIOD_MS ); // wait for one second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
Serial.println("LED 13 Padam");
vTaskDelay( 1000 / portTICK_PERIOD_MS ); // wait for one second
}
}
void TaskBlink2(void *pvParameters){
(void) pvParameters;
pinMode(2, OUTPUT);
for (;;) {
digitalWrite(2, HIGH); vTaskDelay( 2000 / portTICK_PERIOD_MS );Serial.println("LED 2 Nyala");
digitalWrite(2, LOW); vTaskDelay( 2000 / portTICK_PERIOD_MS );Serial.println("LED 2 Padam");
}
}
void TaskBlink3(void *pvParameters){
(void) pvParameters;
pinMode(3, OUTPUT);
for (;;) {
digitalWrite(3, HIGH); vTaskDelay( 500 / portTICK_PERIOD_MS );Serial.println("LED 3 Nyala");
digitalWrite(3, LOW); vTaskDelay( 1500 / portTICK_PERIOD_MS );Serial.println("LED 3 Padam");
}
}
void TaskBlink4(void *pvParameters){
(void) pvParameters;
pinMode(4, OUTPUT);
for (;;) {
digitalWrite(4, HIGH); vTaskDelay( 500 / portTICK_PERIOD_MS );Serial.println("LED 4 Nyala");
digitalWrite(4, LOW); vTaskDelay( 250 / portTICK_PERIOD_MS );Serial.println("LED 4 Padam");
}
}
void TaskTadaa(void *pvParameters) // This is a task.
{
(void) pvParameters;
for (;;)
{
// read the input on analog pin 0:
n++;
if (n>100){n = 0;}
// print out the value you read:
Serial.print("Tadaa...");
Serial.println(n);
vTaskDelay(2000/portTICK_PERIOD_MS);// 2 second delay
// one tick delay (15ms) in between reads for stability
}
}
Arduino FreeRTOS
(Real Time Operating System).
Multi Tasking on Arduino Nano.
Led Blink and Serial Communication
http://ift.tt/2b30d2l.
#include
int n = 0;
// define two tasks for Blink & AnalogRead
void TaskBlink( void *pvParameters );
void TaskTadaa( void *pvParameters );
// the setup function runs once when you press reset or power the board
void setup() {
// Now set up two tasks to run independently.
xTaskCreate(
TaskBlink
, (const portCHAR *)"Blink" // A name just for humans
, 128 // Stack size
, NULL
, 2 // priority
, NULL );
xTaskCreate(
TaskTadaa
, (const portCHAR *) "Tadaa"
, 128 // This stack size can be checked & adjusted by reading Highwater
, NULL
, 1 // priority
, NULL );
// Now the task scheduler, which takes over control of scheduling individual tasks, is automatically started.
}
void loop()
{
// Empty. Things are done in Tasks.
}
/*--------------------------------------------------*/
/*---------------------- Tasks ---------------------*/
/*--------------------------------------------------*/
void TaskBlink(void *pvParameters) // This is a task.
{
(void) pvParameters;
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
for (;;) // A Task shall never return or exit.
{
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
vTaskDelay( 1000 / portTICK_PERIOD_MS ); // wait for one second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
vTaskDelay( 1000 / portTICK_PERIOD_MS ); // wait for one second
}
}
void TaskTadaa(void *pvParameters) // This is a task.
{
(void) pvParameters;
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
for (;;)
{
// read the input on analog pin 0:
n++;
if (n>100){n = 0;}
// print out the value you read:
Serial.print("Tadaa...");
Serial.println(n);
vTaskDelay(2000/portTICK_PERIOD_MS);// 2 second delay
// one tick delay (15ms) in between reads for stability
}
}
Wednesday, August 10, 2016
Can not Detect Arduino Nano on El Capitan?
It because the nano used CH341 usb to serial adapter that will not install because El Capitan enforces kext driver signing.
So, I trace the step from https://tzapu.com/making-ch340-ch341-serial-adapters-work-under-el-capitan-os-x/
...and it works again, :)
To disable kext signing:
- Reboot and press CMD+R immediately after the chime to enter Recovery Mode
- Open Terminal from Recovery mode
- run the command csrutil enable --without kext
- run the command reboot
Monday, August 1, 2016
Old Mechanical Keyboard KPT-102 on iPad
Old Clicky Mechanical Keyboard on iPad, using Arduino as PS/2 to HID signal converter, :)
I use the code from https://gist.github.com/DorianRudolph/ca283dfdfd185bc812b7
But, as I use OSX, I can'n do this
"To make the programs work you need to open the file hardware/arduino/avr/cores/arduino/USBAPI.h located in your Arduino folder and make the Keyboard_::sendReport method public.
"
To do that I open the Finder, go to Applications Folder right click Arduino App, select Show Package Content and adit Keyboard.h at /Applications/Arduino.app/Contents/Java/libraries/Keyboard/src
Update: I tucked the Arduino Pro Micro inside keyboard, :)
http://ift.tt/2aIwnlw.
Subscribe to:
Posts (Atom)
My sky is high, blue, bright and silent.
Nugroho's (almost like junk) blog
By: Nugroho Adi Pramono
323f
(5)
amp
(1)
android
(12)
apple
(7)
arduino
(18)
art
(1)
assembler
(21)
astina
(4)
ATTiny
(23)
blackberry
(4)
camera
(3)
canon
(2)
cerita
(2)
computer
(106)
crazyness
(11)
debian
(1)
delphi
(39)
diary
(286)
flash
(8)
fortran
(6)
freebsd
(6)
google apps script
(8)
guitar
(2)
HTML5
(10)
IFTTT
(7)
Instagram
(7)
internet
(12)
iOS
(5)
iPad
(6)
iPhone
(5)
java
(1)
javascript
(1)
keynote
(2)
LaTeX
(6)
lazarus
(1)
linux
(29)
lion
(15)
mac
(28)
macbook air
(8)
macbook pro
(3)
macOS
(1)
Math
(3)
mathematica
(1)
maverick
(6)
mazda
(4)
microcontroler
(35)
mountain lion
(2)
music
(37)
netbook
(1)
nugnux
(6)
os x
(36)
php
(1)
Physicist
(29)
Picture
(3)
programming
(189)
Python
(109)
S2
(13)
software
(7)
Soliloquy
(125)
Ubuntu
(5)
unix
(4)
Video
(8)
wayang
(3)
yosemite
(3)