'아두이노'에 해당되는 글 20건
- 2024.10.20 PLC
- 2023.12.06 물질별 전기전도도
- 2022.07.09 아두이노 OLED 128x64
- 2021.09.23 아두이노 첫 부팅시 리셋버튼 눌러줘야 하는현상
- 2021.09.23 아두이노 하드리셋 방법
- 2021.09.17 아두이노 키코드 모음
- 2021.08.28 아두이노 키보드
- 2021.07.16 아두이노 LCD 1602
물질 | 밀도 (g/cm3) | 비저항 (μΩ. cm) | 무게대비저항 | 녹는점 (°C) | 비고 |
구리 | 8.9 | 1.68 | 14.952 | 1084.62 | 부식성 |
알루미늄 | 2.7 | 2.65 | 7.155 | 660.32 | |
은 | 10.49 | 1.59 | 16.6791 | 961.8 | 부식성 |
금 | 19.32 | 2.44 | 47.1408 | 1064 | |
납 | 11.34 | 22 | 249.48 | 327.5 | 독성 |
철 | 7.874 | 9.71 | 76.45654 | 1538 | |
텅스텐 | 19.25 | 5.6 | 107.8 | 3422 | |
리튬 | 0.534 | 8.55 | 4.5657 | 180.5 | 부식성, 폭발성 |
나트륨 | 0.968 | 4.2 | 4.0656 | 97.79 | 부식성, 폭발성 |
마그네슘 | 1.738 | 3.94 | 6.84772 | 650 | 부식성, 폭발성 |
그래핀 | 2.267 | 1 | 2.267 | 3550 | |
흑연 | 2.267 | 5 | 11.335 | 3550 | 자연상태 |
비저항은 부피대비 저항을 말합니다.
그래서 전문가들은 은선같은거 절대로 안 씁니다. 전기저항은 상대적이기 때문
알루미늄은 무게대비전도도가 우수하기 때문에 송전선으로 알루미늄이 쓰입니다.
다만 조금만 휘어져도 끊어지기 때문에 가정용 전선으로는 쓰이지 않습니다.
철은 고온에서 잘 견디기 때문에 열선으로 많이 쓰입니다.
'아두이노' 카테고리의 다른 글
PLC (0) | 2024.10.20 |
---|---|
아두이노 OLED 128x64 (0) | 2022.07.09 |
아두이노 첫 부팅시 리셋버튼 눌러줘야 하는현상 (0) | 2021.09.23 |
2022기준 납땜된것 3200원에 구할수 있다
전원은 5V사용하고
SCL은 SCL에
SDA는 SDA에 연결한다
우노,나노의 경우
A4가 SDA
A5가 SCL이다
올려서 테스트 한다
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.setTextColor(SSD1306_WHITE);
display.clearDisplay();
display.setTextSize(3);
display.setCursor(0,0);
display.println("Hello,");
display.print("World!");
display.display();
}
void loop() {
}
최소작동코드
'아두이노' 카테고리의 다른 글
물질별 전기전도도 (0) | 2023.12.06 |
---|---|
아두이노 첫 부팅시 리셋버튼 눌러줘야 하는현상 (0) | 2021.09.23 |
아두이노 하드리셋 방법 (0) | 2021.09.23 |
https://forum.arduino.cc/t/due-wont-start-after-power-off-on-have-to-reset/247763/35
호환보드 고질병이라고 한다
다들 캐패시터로 일정시간뒤에 리셋이 눌리도록하여 해결한다고 한다
다 좋은데 위 회로는 캐패시터 내압이 안 쓰여있어서 충전시간을 구할수가 없다...
필자는 2번의 시도끝에
1MΩ 2개와 25V 68µF 캐패시터로 리셋에 성공했다
왜 이런 이상한 캐패시터로 했냐면 작은게 이거밖에 없었기 때문...
겸사겸사 1메가옴을 써서 낭비되는 전력도 줄였다
(나중에 계산해보니 위 회로가 선형충전속도에 내압 10v라고 가정하면 0.22초인데 이쪽은 2.72초였다.
훨씬 낮은 전압에서 스위치가 눌린것으로 간주하기 때문에 정상 작동한듯)
용량이 지나치게 작거나 크지만 않으면 어지간한 캐패시터는 다 될것이다
다음부턴 보드를 살때 잘 보고 고르자
'아두이노' 카테고리의 다른 글
아두이노 OLED 128x64 (0) | 2022.07.09 |
---|---|
아두이노 하드리셋 방법 (0) | 2021.09.23 |
아두이노 키코드 모음 (0) | 2021.09.17 |
https://stackoverflow.com/questions/5290428/
코드를 잘못 짜서 무한루프에 빠진채 RunnerException이 뜨며 업로드가 안 되는 현상이 있었다
processing.app.debug.RunnerException
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:160)
at cc.arduino.UploaderUtils.upload(UploaderUtils.java:78)
at processing.app.SketchController.upload(SketchController.java:709)
at processing.app.SketchController.exportApplet(SketchController.java:682)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2190)
at java.lang.Thread.run(Thread.java:745)
Caused by: processing.app.SerialException: 시리얼 포트 'COM5' 동작중 에러 발생.
at processing.app.Serial.touchForCDCReset(Serial.java:87)
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:144)
... 5 more
Caused by: jssc.SerialPortException: Port name - COM5; Method name - openPort(); Exception type - Port busy.
at jssc.SerialPort.openPort(SerialPort.java:164)
at processing.app.Serial.touchForCDCReset(Serial.java:81)
... 6 more
리셋버튼을 누르면 부팅시 아주 잠깐 아두이노가 멈춰있는걸 이용한 방법이다
1. 빈 아두이노 코드를 준비한다
2. 업로드 버튼을 누르고 약 0.5초뒤 아두이노 리셋을 한다
3. 정상적으로 리셋되었는지 확인한다
다만 매우 많은 시행착오를 거쳐서 올려야 한다. 필자의 경우 20번 업로드를 시도했고 그중 한번 성공했다.
원랜 초기화버튼같은게 있나 찾아보려했지만 현시점에서 해결되었으므로 종료
'아두이노' 카테고리의 다른 글
아두이노 첫 부팅시 리셋버튼 눌러줘야 하는현상 (0) | 2021.09.23 |
---|---|
아두이노 키코드 모음 (0) | 2021.09.17 |
아두이노 키보드 (0) | 2021.08.28 |
일반키는 Mouse.press('a'); 이런식으로 치면 된다
#define KEY_LEFT_CTRL 0x80
#define KEY_LEFT_SHIFT 0x81
#define KEY_LEFT_ALT 0x82
#define KEY_LEFT_GUI 0x83
#define KEY_RIGHT_CTRL 0x84
#define KEY_RIGHT_SHIFT 0x85
#define KEY_RIGHT_ALT 0x86
#define KEY_RIGHT_GUI 0x87
#define KEY_UP_ARROW 0xDA
#define KEY_DOWN_ARROW 0xD9
#define KEY_LEFT_ARROW 0xD8
#define KEY_RIGHT_ARROW 0xD7
#define KEY_BACKSPACE 0xB2
#define KEY_TAB 0xB3
#define KEY_RETURN 0xB0
#define KEY_ESC 0xB1
#define KEY_INSERT 0xD1
#define KEY_DELETE 0xD4
#define KEY_PAGE_UP 0xD3
#define KEY_PAGE_DOWN 0xD6
#define KEY_HOME 0xD2
#define KEY_END 0xD5
#define KEY_CAPS_LOCK 0xC1
#define KEY_F1 0xC2
#define KEY_F2 0xC3
#define KEY_F3 0xC4
#define KEY_F4 0xC5
#define KEY_F5 0xC6
#define KEY_F6 0xC7
#define KEY_F7 0xC8
#define KEY_F8 0xC9
#define KEY_F9 0xCA
#define KEY_F10 0xCB
#define KEY_F11 0xCC
#define KEY_F12 0xCD
#define KEY_F13 0x68
#define KEY_F14 0x69
#define KEY_F15 0x6A
#define KEY_F16 0x6B
#define KEY_F17 0x6C
#define KEY_F18 0x6D
#define KEY_F19 0x6E
#define KEY_F20 0x6F
#define KEY_F21 0x70
#define KEY_F22 0x71
#define KEY_F23 0x72
#define KEY_F24 0x73
#define KEY_MUTE 0x7F
#define KEY_VOLUMEUP 0x80
#define KEY_VOLUMEDOWN 0x81
#define KEY_KEYPAD_0 0x62
#define KEY_KEYPAD_1 0x59
#define KEY_KEYPAD_2 0x5A
#define KEY_KEYPAD_3 0x5B
#define KEY_KEYPAD_4 0x5C
#define KEY_KEYPAD_5 0x5D
#define KEY_KEYPAD_6 0x5E
#define KEY_KEYPAD_7 0x5F
#define KEY_KEYPAD_8 0x60
#define KEY_KEYPAD_9 0x61
#define KEY_KEYPAD_DECIMAL 0x63
#define KEY_KEYPAD_ENTER 0x58
#define KEY_KEYPAD_PLUS 0x57
#define KEY_KEYPAD_MINUS 0x56
#define KEY_KEYPAD_MULTIPLY 0x55
#define KEY_KEYPAD_DIVIDE 0x54
#define KEY_KEYPAD_NUMLOCK 0x53
#define KEY_KEYPAD_EQUALS 0x67
'아두이노' 카테고리의 다른 글
아두이노 하드리셋 방법 (0) | 2021.09.23 |
---|---|
아두이노 키보드 (0) | 2021.08.28 |
아두이노 LCD 1602 (0) | 2021.07.16 |
키코드 : https://www.arduino.cc/reference/en/language/functions/usb/keyboard/keyboardmodifiers/
Due에서 사용가능
#include <Keyboard.h>
void setup() {
Keyboard.begin();
Serial.begin(9600);
Serial.println("Start Arduino");
}
void KeyboardPressHuman(char key)
{
Keyboard.press(key);
Serial.println("Press");
delay(100+random(300));
Keyboard.release(key);
}
void loop() {
delay(6500+random(1000));
KeyboardPressHuman(KEY_F12);
}
'아두이노' 카테고리의 다른 글
아두이노 키코드 모음 (0) | 2021.09.17 |
---|---|
아두이노 LCD 1602 (0) | 2021.07.16 |
아두이노 헤더 예제 (0) | 2021.07.15 |
https://github.com/johnrickman/LiquidCrystal_I2C
하고 아두이노를 껐다킨다
#include<Wire.h>
#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); //기기에 따라 27이 아닌 3F이다.
//LiquidCrystal_I2C lcd(0x27,20,4); //2004의 경우
void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Hello, world!");
lcd.setCursor(0,1);
lcd.print("LCD Test");
}
글씨가 안보인다고? 뒷면의 십자나사홈을 돌려서 밝기를 조절해준다
너무 밝으면 백그라운드까지 밝아져서 안보이고 너무 어두우면 글씨가 안 나온다
그래도 안 보이면 위의 27을 3F로 바꿔준다
3.3v로 해도 보이지만 너무 흐리므로 5v로 넣어주자
Due의 경우 SCL을 21번에 SDA를 20번으로 사용한다
//가운데 정렬
void LCDPrintCenter(String message,int width)
{
int iMax=(width/2)-message.length()/2;
for(int i=0;i<iMax;i++)
{
message=' '+message;
}
for(int i=message.length();i<width;i++)
{
message=message+' ';
}
lcd.print(message);
}
//왼쪽 정렬
void LCDPrintLeft(String message,int width)
{
int iMax=width-message.length();
for(int i=0;i<iMax;i++)
{
message=message+' ';
}
lcd.print(message);
}
//오른쪽 정렬
void LCDPrintRight(String message,int width)
{
int iMax=width-message.length();
for(int i=0;i<iMax;i++)
{
message=' '+message;
}
lcd.print(message);
}
//예제
lcd.setCursor(0,0);
String message="Unknown";
switch(mode)
{
case Start:
message="Start";
break;
case Loop:
message="Loop";
break;
}
int lcdWidth=20;
//왼쪽정렬
LCDPrintLeft(message,lcdWidth);
//가운데정렬
LCDPrintCenter(message,lcdWidth);
글씨 바꿀때 해당 라인을 초기화할 필요가 있을경우
'아두이노' 카테고리의 다른 글
아두이노 키보드 (0) | 2021.08.28 |
---|---|
아두이노 헤더 예제 (0) | 2021.07.15 |
자주쓰는 아두이노 코드 모음 (0) | 2021.06.21 |