Arduino

Tani czujnik zbliżeniowy RPR220, bistabilny wyłącznik światła.

RPR220 jest czujnikiem zbliżeniowym opartym o fotodiodę i tranzystor. Czujniki tego typu składają się z 2 elementów: emitera oraz detektora. Emiter wysyła sygnał o określonej częstotliwości, który odbijając się od przeszkody wraca do detektora.

Karta techniczna RPR220.

Przy tym projekcie korzystałem z tekstu na instructables.com:  Cheap Sensors: RPR220 by sdfgeoff

Podłączenie do Arduino jest proste i wymaga użycia jedynie dwóch rezystorów:

RPR220

Tak to działa:

Czytaj dalej

Arduino, ESP8266

Cayenne, ESP8266 i dwa kanały komunikacyjne

Przy tym projekcie skorzystałem znów ze świetnego kanału ACROBOTIC z YouTube. Wreszcie udało mi się, dzięki witrynie Cayenne , odpalić dwie diody dwoma włącznikami. Nie potrafiłem tego zrobić na Ubidots. Tu funkcja czytająca dane ma jako argument numer kanału, dzięki czemu można podpiąć kilka odbiorników.

CAYENNE_IN(0)
{
  digitalWrite(Pin_D1, !getValue.asInt());
}
CAYENNE_IN(1)
{
  digitalWrite(Pin_D2, !getValue.asInt());
}

Biblioteka:

Cayenne MQTT ESP8266 Library

Kod:

// This example shows how to connect to Cayenne using an ESP8266 and send/receive sample data.
// Make sure you install the ESP8266 Board Package via the Arduino IDE Board Manager and select the correct ESP8266 board before compiling.
// ACROBOTIC https://youtu.be/6YAnqHTm7_o?list=PL7a2CLd93-ftcPc3WMG_6SNRGFjXlHCUb

#define CAYENNE_DEBUG
#define CAYENNE_PRINT Serial
#define Pin_D1 5
#define Pin_D2 4
#include <CayenneMQTTESP8266.h>

// Informacje sieci WiFi.
char ssid[] = "nazwa";
char password[] = "hasło";

// Autoryzacja Cayenne. Przepisujemy ze strony po zalogowaniu.
char username[] = "MQTT Username";
char mqtt_password[] = "MQTT Password";
char client_id[] = "Client ID";

void setup() {

	Cayenne.begin(username, mqtt_password, client_id, ssid, password);
  pinMode(Pin_D1, OUTPUT);
  digitalWrite(Pin_D1, LOW);
  pinMode(Pin_D2, OUTPUT);
  digitalWrite(Pin_D2, LOW);

}

void loop() {
	Cayenne.loop();
	}

//Funkcja do pobierania danych z myDevices Cayenne
CAYENNE_IN(1)
{
	digitalWrite(Pin_D1, !getValue.asInt());
}
CAYENNE_IN(0)
{
  digitalWrite(Pin_D2, !getValue.asInt());
}
Arduino, ATtiny

ATtiny85 – czyli wkraczamy w świat małych mocarzy

ATtiny85 to mały, tani procesor, który podobno świetnie poradzi sobie w wielu sytuacjach. Na początek zmusimy go do zamrugania diodą. Oczywiście.
Podobnie jak w przypadku programowania Atmegi328 nie będzie to takie proste, ale zapewniam, że się uda.

Podczas pisania korzystałem między innymi z bardzo pomocnego artykułu Arkadiusza Merty: PROGRAMOWANIE ATTINY85 PRZEZ ARDUINO UNO

Kompletne informacje o układzie ATtiny85 znajdziemy na stronie firmy Atmel.

Czytaj dalej

Arduino, Other

USB Nano V3.0 ATmega328 16M 5V Micro-controller CH340G board For Arduino

Nowe Nano V3.0 właśnie przyleciały z Chin od pani(?) alice1101983.

Po podłączeniu do Mac-a Nano zaczął mrugać, ale nie pokazywał się port do wgrania programów. Po krótkim googlowaniu znalazłem stronę: http://www.wch.cn/download/CH341SER_MAC_ZIP.html z driverem do MAC OSX. Są tam też drivery do innych systemów.
Należy rozpakować, uruchomić, każe zresetować system i wszystko gra. Dioda mruga tak jak chcemy.

USB Nano V3.0_2sidesfoto

Nano V3.0 ATmega328 16M 5V Micro-controller CH340G 

Arduino, MIDI

MIDI IN – czyli transoptor w akcji

Oto podstawowy schemat interfejsu MIDI współpracującego z Arduino. Głównym elementem w układzie jest transoptor 6N138, zwany też optoizolatorem. Pozwala on przesyłać sygnały elektryczne z wejścia na wyjście bez połączeń galwanicznych obwodów wejściowego i wyjściowego. Separacja, w tym wypadku, jest ważna, bo mamy do czynienia z dwoma różnymi obwodami elektrycznymi połączonymi kablem MIDI. Oto schemat układu:

MIDI_IN_yar

Czytaj dalej

Arduino, Atmega328

Programujemy procesor Atmega328 przez Arduino UNO

Artykuł by nie powstał gdyby nie strona http://www.gammon.com.au/breadboard.
Facet, który to napisał nazywa się Nick Gammon i dzięki niemu pierwszy raz wgrałem bootloader-a do Atmegi 328. Wcześniej przejrzałem dziesiątki filmów i nic. Tak jak mnóstwo ludzi (sądząc po komentarzach) nie dawałem rady wgrać boota do Atmegi przez Arduino IDE. Facet pokazał połączenie płytki z procesorem i napisał program, który bardzo w tym pomaga. I chwała mu za to!

Podstawowe połączenie umożliwiające wgranie bootloadera i programowanie procesora przez Arduino:

Zrzut ekranu 2017-09-11 o 22.13.45

Czytaj dalej

Arduino, MIDI

Wkraczamy w świat dźwięków. Wysyłanie nut przez MIDI.

Na początek kilka słów z Wikipedii:
MIDI (skrót od Musical Instrument Digital Interface, z ang. „cyfrowy interfejs instrumentów muzycznych”) – system, (interfejs, oprogramowanie i zestaw komend) służący do przekazywania informacji pomiędzy elektronicznymi instrumentami muzycznymi.
MIDI umożliwia komputerom, syntezatorom, keyboardom, kartom dźwiękowym i podobnym urządzeniom kontrolować się nawzajem oraz wymieniać informacje między sobą. Pozwoliło także na tworzenie łatwych w obsłudze i programowaniu sekwencerów i syntezatorów perkusyjnych.

Na początek podłączamy nasz syntezator przez MIDI do Arduino i zmuszamy do zagrania dwóch nut, w równych odstępach czasu.

Bardzo ważne jest właściwe podłączenie przewodów do gniazda DIN5. Poniższy rysunek pomoże właściwie przylutować kabelki. Zdjęcie pokazuje widok gniazda z tyłu oraz wtyczki z przodu.

MIDI_female_conector_yar

Czytaj dalej